標籤:項目部署 本地 uil 伺服器端 發送請求 代碼 部署 modified 不同
tomcat:一個伺服器的伺服器軟體,發布資源要用的
伺服器組成:
1.伺服器硬體
2.伺服器軟體
3.項目(一堆資源的集合)
4.資源
tomcat本身是一個java程式,必須依賴jre運行
eclipse是一個java開發軟體,tomcat是一個伺服器軟體,不用每一次都去將項目部署到伺服器,將其整合到eclipse
將tomcat整合到eclipse,window/Proferences/Server/Runtime Environments
部署項目:
在Servers下將項目add進Tomcat中
eclipse儲存java檔案:src bin
儲存javaEE檔案:src build
tomcat儲存要發布的檔案:webapps/項目名/資源
在eclipse中:WebContent
伺服器具體概念介紹:
1.伺服器硬體(PC機,專門的伺服器裝置,手機)
2.伺服器軟體(HBuilder,tomcat,資料庫內建伺服器等。可以將資料在網路上共用)
3.伺服器軟體中運行一些相關程式,可以產生一些資源
4.資源分成兩種:
A:靜態資源 ---- HTML頁面 ---- 只要原碼不修改,任何時候訪問到的結果都是一樣的
B:動態資源 ---- 通過程式產生HTML頁面 ---- 原碼不修改的情況下,不同的訪問,訪問的結果也不一樣
在java中產生頁面的程式是Servlet(伺服器端的Java小程式)
用戶端怎麼訪問伺服器資源:
ip ---- 定位服務器硬體
連接埠號碼 ---- 定位服務器軟體
項目名 ---- 定位服務器軟體中的程式
路徑 ---- 定位服務器軟體中的資源
伺服器:
A:存在於網路上的一台硬體
B:通過連接埠號碼定位一個程式
C:程式會將資源暴露出去,供用戶端訪問
一.tomcat
1.Eclipse怎麼將項目發布到tomcat的?
A:在tomcat的webapps下面建一個與當前項目同名的檔案夾
將項目中的webcontent下面的內容複寫到當前檔案夾下
B:如果在webcontent外面編寫代碼,這些資源是不能被發布的,只有webcontent的子級靜態資源才能被瀏覽器直接存取
C:但是src下面的java程式不同,是可以訪問的
因為項目發布時,class檔案會被單獨整合進webcontent/WEB-INF/classes檔案夾
eclipse 的工作空間 ------- 內容與eclipse中的項目結構對應,build 檔案夾儲存的是 class 檔案
Tomcat 的 webapps目錄---- 先將build檔案夾複製進 webcontent/WEB-INF 下面,然後再部署到 tomcat 當前項目下
二.HTTP協議(在請求和響應之後才產生的頁面)
1.HTTP協議
協議:規則 規矩約定,涉及多方的
HTTP協議是瀏覽器和伺服器之間進行資料轉送時,遵循的規則
2.HTTP協議只是一種理論,必須要結合具體的代碼實現來理解
3.HTTP協議(超文字傳輸通訊協定 (HTTP))
版本:1.0 ---- 每擷取一個資源,都要建立並銷毀一個串連
1.1 ---- 擷取多個資源時,共用一個串連,效率更高
4.請求協議 ---- 瀏覽器向伺服器發送資料時,要遵守的規則
響應協議 ---- 伺服器向瀏覽器發送資料時,要遵守的規則
結構組成:
行
頭
體
請求協議:
要求標頭:
refer:
產生情境:A頁面跳轉到B頁面時,請求B頁面時,會有refer,告訴B我是從哪跳過來
此步驟中A頁面已經請求響應完畢,然後提交資料到伺服器請求跳轉到B頁面,B頁面發送請求
如果B頁面直接請求伺服器,則不會有refer
具體應用:
A:防盜鏈
B:網站統計
if-modified-since(瞭解)
A、第一次訪問頁面,伺服器要發送html內容(瀏覽器本地進行緩衝)以及該檔案的最後修改時間,瀏覽器儲存該時間
B、第二次以及以後訪問,攜帶 if-modified-since 以及對應的A中的最後修改時間到伺服器
C、伺服器取出瀏覽器發送過來的時間值,和當前資源的最後修改時間進行判斷
如果一樣,瀏覽器取本機快取,如果不一樣,發送新內容到瀏覽器
D、結合響應的 last-modified 使用(憑直覺是如果不相等時要響應兩次)
響應協議:
回應標頭:
location ---- 結合302使用
centent-disposition ---- 和檔案下載相關
set-cookie---- 和Cookie Session相關
refresh ----- 時間值
伺服器發送該屬性到瀏覽器,瀏覽器解析該屬性,取出值,根據該值隔固定時間後自動重新整理一次
應用情境:
一些時時變動的資料訪問,比如:天氣預報,股票行情
響應體:儲存具體的響應資料
BS 和 CS 比較:
CS中伺服器可以主動向用戶端發送資料
BS中伺服器不能主動向瀏覽器發資料
壓縮包:
封裝檔案的資料,不壓縮的時候儲存具體的資料
tomcat伺服器和HTTP協議