一贸诚、配置環(huán)境變量
Tomcat安裝好后柠逞,需要配置環(huán)境變量欺冀,才能啟動服務
1.配置JAVA_HOME路徑:該路徑指向jdk根目錄
2.可以用%JAVA_HOME%替換掉Path里原來jdk的bin路徑前的路徑
3.找到tomcat服務器bin目錄下的startup.bat贮庞,啟動
- 啟動tomcat服務
二、修改Tomcat的端口
1.在Tomcat根目錄/conf/server.xml文件中修改端口
注意:Tomcat的默認端口是8080, 但是,HTTP協(xié)議的默認訪問的端口是80氏义,80端口在瀏覽器中可以省略
三锄列、常見的錯誤
1.無法訪問
一般是服務沒成功啟動,需檢查該服務是否啟動
2.404錯誤
表示在服務器上沒有找到該文件惯悠,檢查文件名邻邮、后綴或者路徑、端口是否正確
1 名字是否對
2 web.xml 是否有配置
3 類是否在classes中
4 是否配置了字節(jié)碼輸出為classes
3.端口沖突
啟動服務后窗口一閃而過克婶,可能是已經啟動服務筒严,也可能是進程沒有完全關閉丹泉,可以進入任務管理器把java的進程關掉,查看tomcat根目錄logs文件夾下的日志文件鸭蛙,發(fā)現(xiàn)java.net.BindException: Address already in use: JVM_Bind
表明是端口沖突
- 端口沖突
4.配置文件錯誤
-
刪掉server.xml文件中的
</Host>
結束標簽
制造錯誤 -
啟動服務后一閃而過摹恨,打開日志文件查看錯誤
org.xml.sax.SAXParseException
,明顯的提示你錯誤的位置
配置文件錯誤日志
5.使用中文時編碼錯誤
XML配置文件中使用了中文,此時XML文件必須使用UTF-8的編碼
-
此處使用ANSI編碼格式保存
制造編碼錯誤 -
啟動服務一閃而過娶视,打開日志
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException
晒哄, 2 字節(jié)的 UTF-8 序列的- 字節(jié) 2 無效。
編碼錯誤
四肪获、項目結構:建到自己記住為止
| 項目名稱(項目的根目錄)
| WEB-INF (此處存放的資源不能被外界訪問)
| web.xml (當前web應用的配置信息)
| classes (當前web應用的字節(jié)碼輸出路徑)
| lib (存放第三方jar包)
| 靜態(tài)資源 (html,js,css可供外界訪問)
-
sts修改字節(jié)碼輸出路徑寝凌,右鍵web項目文件夾,點擊構建路徑,在此處修改
sts修改字節(jié)碼輸出路徑
五孝赫、部署項目
1.熱部署項目
為了開發(fā)方便较木,我們需要熱部署項目
在server文件的</Host>
標簽上添加<Context docBase="web項目的絕對路徑" path="/web"/>
標簽
Context :表示上下文,當前項目環(huán)境
docBase:項目路徑青柄,可以使用絕對路徑或相對路徑伐债,相對路徑是相對于webapps
path:訪問項目的路徑,如:http://127.0.0.1:8080/demo1 orlocalhost/demo1
注意:
1.如果沒有path為空或者/的致开,就會找ROOT項目泳赋,使用該項目/文件名/訪問http://localhost/webapp/index.html
webapp(項目名)
2.path為空或者/都會覆蓋ROOT,此時訪問不了tomcat服務器首頁喇喉,默認是docBase的路徑祖今,直接訪問http://localhost/index.html
就是docBase指定的web項目【它會去自動找名為index的文件】
3.path的唯一性
2.Eclipse的Tomcat插件
- 將插件的jar包
net.sf.eclipse.tomcat_9.1.2.jar
拷貝到sts的dropins目錄中 - 關聯(lián)本地的Tomcat服務器
-
alt+t 啟動/重啟服務器
關聯(lián)本地的Tomcat服務器
六、URL
在WWW上拣技,每一信息資源都有統(tǒng)一的且在網上唯一的地址千诬,該地址就叫URL(Uniform Resource
Locator,統(tǒng)一資源定位符),它是WWW的統(tǒng)一資源定位標志膏斤,就是指網絡地址徐绑。
- 語法:
解析:協(xié)議類型://服務器地址[:端口號]/路徑/文件名[參數(shù)=值]
偽代碼: protocol :// hostname[:port] / path / [;parameters][?query]#fragment
真實地址: http://localhost:8080/webapp/index.html
七、協(xié)議
協(xié)議: protocol,指定使用的傳輸協(xié)議莫辨,下表列出 protocol 屬性的有效方案名稱傲茄。 最常用的是HTTP協(xié)議,它也是WWW中應用最廣的協(xié)議沮榜。
- 協(xié)議分類:
- file 資源是本地計算機上的文件盘榨。格式file:///,注意后邊應是三個斜杠蟆融。
(標準 url scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]本地文件沒有 host草巡,就直接省略了,只剩下最后的斜線后就是路徑型酥,看起來就是三個連起來了)- ftp 通過 FTP訪問資源山憨。格式 FTP://
- http 通過 HTTP 訪問該資源查乒。 格式 HTTP://
- https 通過安全的 HTTPS 訪問該資源。 格式 HTTPS://
八郁竟、IP
是指存放資源的服務器的域名系統(tǒng)(DNS) 主機名或 IP 地址玛迄。有時,在主機名前也可以包含連接到服務器
所需的用戶名和密碼(格式:username:password@hostname)棚亩。
- localhost是一個域名蓖议,127.0.0.1為IP地址。
- Windows系統(tǒng)中蔑舞,約定127.0.0.1為本地IP地址。localhost是其對應的域名嘹屯。
-
配置是在hosts文件中設置的攻询,Windows下該文件位置為:C:\Windows\System32\drivers\etc目錄下hosts文件。
配置主機的域名和ip
九州弟、端口
端口: port
- 整數(shù)钧栖,可選,省略時使用方案的默認端口婆翔,各種傳輸協(xié)議都有默認的端口號拯杠,如http的默認端口為80。
如果輸入時省略啃奴,則使用默認端口號潭陪。有時候出于安全或其他考慮,可以在服務器上對端口進行重定
義最蕾,即采用非標準端口號依溯,此時,URL中就不能省略端口號這一項瘟则。
十黎炉、TCP和UDP的區(qū)別
TCP和UDP的區(qū)別: TCP基于連接的協(xié)議,UDP基于數(shù)據報包的協(xié)議
-
1.TCP :面向連接(經歷三次握手)、傳輸可靠(保證數(shù)據正確性,保證數(shù)據順序)醋拧、用于傳輸大量數(shù)據(流模式)慷嗜、速度慢,建立連接需要開銷較多(時間丹壕,系統(tǒng)資源)庆械。 服務端和客戶端(瀏覽器)
第一次:客戶端發(fā)送請求到服務器,服務器知道客戶端發(fā)送菌赖,自己接收正常干奢。SYN=1,seq=x
第二次:服務器發(fā)給客戶端,客戶端知道自己發(fā)送盏袄、接收正常忿峻,服務器接收薄啥、發(fā)送正常ACK=1,ack=x+1,SYN=1,seq=y
第三次:客戶端發(fā)給服務器:服務器知道客戶端發(fā)送,接收正常逛尚,自己接收垄惧,發(fā)送也正常.seq=x+1,ACK=1,ack=y+1
TCP建立連接
TCP斷開連接(四次揮手)
第一次:客戶端請求斷開FIN,seq=u
第二次:服務器確認客戶端的斷開請求ACK,ack=u+1,seq=v
第三次:服務器請求斷開FIN,seq=w,ACK,ack=u+1
第四次:客戶端確認服務器的斷開ACK,ack=w+1,seq=u+1
TCP斷開連接 UDP:面向非連接,基于數(shù)據報包、傳輸不可靠(丟包[數(shù)據丟失])绰寞、用于傳輸少量數(shù)據(數(shù)據報包模式)到逊、速度快。發(fā)送端和接收端
十一滤钱、HTTP的作用
WEB瀏覽器與WEB服務器之間的一問一答的交互過程必須遵循一定的規(guī)則觉壶,就是HTTP協(xié)議。
HTTP是hypertext transfer protocol(超文本傳輸協(xié)議)的簡寫件缸,它是TCP/IP協(xié)議之上的一個應用層協(xié)
議
作用: 用于定義WEB瀏覽器與WEB服務器之間交換數(shù)據的過程以及數(shù)據本身的格式铜靶。
- 瀏覽器給服務器發(fā)送數(shù)據:一次請求:request
服務器給瀏覽器反饋數(shù)據:一次響應:response - HTTP1.1規(guī)范:能在一次連接之間,多次請求,多次響應,響應完之后再關閉連接
HTTP 1.1的特點 在一個TCP連接上可以傳送多個HTTP請求和響應 多個請求和響應過程可以重疊進行 增加了更多的請求頭和響應頭
十二、如何查看HTTP中的請求和響應的信息
1.F12進入瀏覽器的開發(fā)者模式
2.打開network窗口
3.點擊要查看的請求
- 查看請求和響應信息
常規(guī)信息general
-
響應頭信息response
響應頭信息
-- 1.狀態(tài)行:位于響應消息的第一行 格式: HTTP版本號 狀態(tài)碼
1xx Informational(指示信息) 表示請求已接收他炊,繼續(xù)處理
2xx Success(請求成功) 表示請求已被成功接收
3xx Redirection(重定向) 完成請求争剿,必須進行更進一步的操作
4xx Client Error(客戶端錯誤) 請求有語法錯誤或者請求無法實現(xiàn)
5xx Server Error(服務端錯誤) 服務器處理請求出錯
<<<<<<<<<<<<
200 OK 請求正常處理完畢
404 Not Found 表示服務器找不到你請求的資源
500 Internal Server Error 表示服務器執(zhí)行請求的時候出錯了 (Java代碼有異常)
-- 2. 若干響應頭:從第二行開始到第一個空行
-- 3. 響應正文:從第一個空行開始,后面的都是正文痊末。
-
請求頭信息request
請求頭信息
-- 1. 請求行:位于請求消息的第一行 格式:請求方式 資源路徑 HTTP版本號蚕苇,常用請求方式:GET和POST方式
-- 2. 若干請求頭:從第二行開始到下一個空行。作用:向服務器傳遞客戶端的一些基本信息
-- 3. 請求實體:(提交到服務器的請求參數(shù))
請求實體
十三凿叠、GET和POST請求的區(qū)別
- GET和POST請求的區(qū)別:
1):GET的請求數(shù)據在地址欄涩笤,而POST不會,POST比GET安全一些
GET和POST方式提交表單對比
2):POST請求的參數(shù)存放于請求實體中盒件,而GET存放于請求行中
3):GET方式請求的數(shù)據不能超過2K辆它,而POST沒有上限,比如文件上傳時履恩,必須使用POST方式
4):GET可以緩存锰茉,而POST沒有緩存
- 查詢的時候使用使用GET,其他時候使用POST切心,表單全部使用POST提交.