1. 程式人生 > >【JAVAWEB學習筆記】12_Http&Tomcat

【JAVAWEB學習筆記】12_Http&Tomcat

請求重定向 san res tor tomcat啟動 zha rac pac b-

一、Http協議

1.什麽是Http協議

HTTP,超文本傳輸協議(HyperText Transfer Protocol)是互聯網上應用最為廣泛的 一種網絡協議。所有的WWW文件都必須遵守這個標準。設計HTTP最初的目的是為 了提供一種發布和接收HTML頁面的方法

2.Http協議的組成

Http協議由Http請求和Http響應組成,當在瀏覽器中輸入網址訪問某個網站時, 你的瀏覽器會將你的請求封裝成一個Http請求發送給服務器站點,服務器接收到請 求後會組織響應數據封裝成一個Http響應返回給瀏覽器。即沒有請求就沒有響應。

技術分享


3.Http請求

編輯一個form.html的表單頁面,如下:

技術分享


點擊提交按鈕,抓包如下:

技術分享


1)請求行

請求方式:POST、GET

請求的資源:/DemoEE/form.html

協議版本:HTTP/1.1

HTTP/1.0,發送請求,創建一次連接,獲得一個web資源,連接斷開。

HTTP/1.1,發送請求,創建一次連接,獲得多個web資源,保持連接。

2)請求頭

請求頭是客戶端發送給服務器端的一些信息,使用鍵值對表示key:value

常見請求頭

描述 (紅色掌握,其他了解)

Referer

瀏覽器通知服務器,當前請求來自何處。如果是直接訪問,則不會有這個頭。常用於:防盜鏈

If-Modified-Since

瀏覽器通知服務器,本地緩存的最後變更時間。與另一個響應頭組合控制瀏覽器頁面的緩存。

Cookie

與會話有關技術,用於存放瀏覽器緩存的cookie信息。

User-Agent

瀏覽器通知服務器,客戶端瀏覽器與操作系統相關信息

Connection

保持連接狀態。Keep-Alive 連接中,close 已關閉

Host

請求的服務器主機名

Content-Length

請求體的長度

Content-Type

如果是POST請求,會有這個頭,默認值為application/x-www-form-urlencoded,表示請求體內容使用url編碼

Accept:

瀏覽器可支持的MIME類型。文件類型的一種描述方式。

MIME格式:大類型/小類型[;參數]

例如:

text/html ,html文件

text/css,css文件

text/javascript,js文件

image/*,所有圖片文件

Accept-Encoding

瀏覽器通知服務器,瀏覽器支持的數據壓縮格式。如:GZIP壓縮

Accept-Language

瀏覽器通知服務器,瀏覽器支持的語言。各國語言(國際化i18n)

3)請求體

當請求方式是post的時,請求體會有請求的參數,格式如下:

username=zhangsan&password=123

如果請求方式為get,那麽請求參數不會出現在請求體中,會拼接在url地址後面

http://localhost:8080...?username=zhangsan&password=123

4.Http響應

技術分享


1)響應行

Http協議

狀態碼:

常用的狀態碼如下:

200 :請求成功。

302 :請求重定向。

304 :請求資源沒有改變,訪問本地緩存。

404 :請求資源不存在。通常是用戶路徑編寫錯誤,也可能是服務器資源已刪除。

500 :服務器內部錯誤。通常程序拋異常。

狀態信息:狀態信息是根據狀態碼變化而變化的

2)響應頭

響應也都是鍵值對形式,服務器端將信息以鍵值對的形式返回給客戶端

常見請求頭

描述

Location

指定響應的路徑,需要與狀態碼302配合使用,完成跳轉。

Content-Type

響應正文的類型(MIME類型)

取值:text/html;charset=UTF-8

Content-Disposition

通過瀏覽器以下載方式解析正文

取值:attachment;filename=xx.zip

Set-Cookie

與會話相關技術。服務器向瀏覽器寫入cookie

Content-Encoding

服務器使用的壓縮格式

取值:gzip

Content-length

響應正文的長度

Refresh

定時刷新,格式:秒數;url=路徑。url可省略,默認值為當前頁。

取值:3;url=www.itcast.cn //三秒刷新頁面到www.itcast.cn

Server

指的是服務器名稱,默認值:Apache-Coyote/1.1。可以通過conf/server.xml配置進行修改。<Connector port="8080" ... server="itcast"/>

Last-Modified

服務器通知瀏覽器,文件的最後修改時間。與If-Modified-Since一起使用。

3)響應體

響應體是服務器回寫給客戶端的頁面正文,瀏覽器將正文加載到內存,然後解析渲染 顯示頁面內容

二、Tomcat服務器

1.Web開發中的常見概念

(1)B/S系統和C/S系統

Brower/Server:瀏覽器 服務器 系統 ----- 網站

Client/Server:客戶端 服務器 系統 ----- QQ、飛秋、大型遊戲

(2)web應用服務器

供向外部發布web資源的服務器軟件

技術分享


(3)web資源

存在於web應用服務器可供外界訪問的資源就是web資源

例如:存在於web應用服務器內部的Html、Css、js、圖片、視頻等

1)靜態資源:指web頁面中供人們瀏覽的數據始終是不變。比如:HTML、CSS、 JS、圖片、多媒體。

2)動態資源:指web頁面中供人們瀏覽的數據是由程序產生的,不同時間點訪問 web頁面看到的內容各不相同。比如:JSP/Servlet、ASP、PHP

javaWEB領域:動態資源認為通過java代碼去動態生成html

(4)請求和響應

技術分享


(5)請求的URL地址

技術分享


2.Web開發中常用的web應用服務器

1)weblogic:oracle公司的大型收費web服務器 支持全部javaEE規範

2)websphere:IBM公司的大型收費web服務器 支持全部的javaEE規範

3)Tomcat:Apache開源組織下的 開源免費的中小型的web應用服務器 支持 javaEE 中的 servlet 和 jsp規範

3.Tomcat的下載與安裝

(1)下載Tomcat

官網地址:http://tomcat.apache.org/whichversion.html

技術分享


(2)安裝Tomcat

Tomcat有安裝版和解壓版(綠色版)

安裝版以.exe形式的安裝包,雙擊安裝到我們的電腦上,用的比較少

解壓版,即綠色版,解壓後直接使用,用的比較多

技術分享


4.Tomcat的目錄結構

技術分享

bin:腳本目錄

啟動腳本:startup.bat

停止腳本:shutdown.bat

conf:配置文件目錄 (config /configuration)

核心配置文件:server.xml

用戶權限配置文件:tomcat-users.xml

所有web項目默認配置文件:web.xml

lib:依賴庫,tomcat和web項目中需要使用的jar包

logs:日誌文件.

localhost_access_log.*.txt tomcat記錄用戶訪問信息,星*表示時間。

例如:localhost_access_log.2016-02-28.txt

temp:臨時文件目錄,文件夾內內容可以任意刪除。

webapps:默認情況下發布WEB項目所存放的目錄。

work:tomcat處理JSP的工作目錄。

5.Tomcate的啟動與運行

雙擊Tomcat下的bin下的startup.bat啟動Tomcat

技術分享

在瀏覽器的地址欄中輸入http://localhost:8080,看到如下頁面證明啟動成功

技術分享

Tomcat啟動不成功的原因分析:

1)如果沒有配置JAVA_HOME環境變量,在雙擊“startup.bat”文件運行tomcat 時,將一閃立即關閉。且必須配置正確,及JAVA_HOME指向JDK的安裝目錄

2)端口沖突

java.net.BindException: Address already in use: JVM_Bind <null>:8080

修改Tomcat/conf/server.xml


技術分享

6.Web應用的目錄結構

技術分享


註意:WEB-INF目錄是受保護的,外界不能直接訪問

7.使用Eclipse綁定Tomcat並發布應用

? 步驟1:獲得服務器運行環境配置,Window/Preferences/Server/Runtime Environmen

技術分享

?步驟2:添加服務器

技術分享

?步驟3:選擇服務器在硬盤的地址,然後所有的都是確定/Next/Finish

技術分享

? 步驟4:完成成功

技術分享

步驟5:設置發布位置

技術分享

修改tomcat發布的位置

技術分享

步驟6:項目右鍵/Run As/Run on Server

技術分享

【JAVAWEB學習筆記】12_Http&Tomcat