生活随笔
收集整理的這篇文章主要介紹了
大数据WEB阶段(八)Tomcat服务器安装与详解、HTTP协议详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Tomcat
一、 服務器
動態web資源運行需要服務器環境客戶端發送請求到服務器 , 服務器調用動態web資源Servlet容器 、 web容器 、服務器
Servlet容器
java中的動態資源開發技術為Servlet/JSP,但是Servlet、JSP本身不能直接運行,需要運行他們的環境,這樣的環境就叫做Servlet容器。web容器
能夠運行web應用的環境叫做web容器。Servlet容器就是web容器,但是web容器不一定是Servlet容器,因為運行.net、PHP的服務器也是web容器,但是不能運行Servlet服務器
服務器從硬件上來說,就是一臺電腦,只不過配置較高,而今天,我們所學的是服務器的軟件,能夠讓外界訪問,對外界提供服務的就是服務器,服務器就是容器,web容器/Servlet容器都是服務器。
二、常見的服務器
.WebLogic: BEA公司,大型,收費,支持J2EE規范WebSphere:IBM公司,大型,收費,支持J2EE規范Tomcat :Apache組織,小型,免費,支持JSP以及Servlet規范
三、tomcat下載安裝配置
下載
下載地址:http://tomcat.apache.org/注意: 下載時不同的版本
.zip為壓縮版 , 解壓后不需要安裝 , 可以直接使用.exe為安裝本 , 安裝 后才能使用安裝
解壓
將解壓版.zip包拷貝到要安裝的目錄下,解壓,改名為tomcat7.0注意,安裝目錄中不允許有空格和中文配置環境
tomcat是由java編寫的 , 所以tomcat運行需要java的環境JDK的支持。計算機>屬性>高級系統設置>環境變量>系統變量>新建>變量名:JAVA_HOME,變量值:jdk根目錄>確定啟動tomcat
通過 [tomcat]/bin/startup.bat文件 啟動tomcat服務器通過 [tomcat]/bin/shutdown.bat文件 關閉tomcat服務器瀏覽器訪問 http://localhost:8080 如果能夠看到tomcat的首頁就證明tomcat安裝配置成功修改默認端口
服務器在啟動之后默認監聽的是8080端口號, 每次訪問時都需要在IP地址或者是主機名后面跟上這個端口號, 如果想省略不寫, 可以將8080改為80即可!找到[tomcat]/conf/server.xml文件并打開,第70行修改如下重新啟動后生效!tomcat安裝常見問題
端口被占用
看是否已經打開tomcat,或是tomcat在關閉時沒有正確的關閉,可以運行shutdown.bat命令,然后再次打開可以在cmd窗口中使用netstat -ano命令查詢出哪個程序占用了端口,根據pid,在任務管理器的服務中找到此pid,結束這個程序后再啟動tomcat即可安裝路徑
tomcat安裝路徑中一定不能有中文和空格,可能一時半會沒問題,但是不知道什么時候就可能出現意外。JDK環境變量
java必須配置在系統環境變量中 , 或是能讓tomcat檢測到的地方查看具體的安裝問題通過查看ltomcat安裝目錄下的日志文件查看
四、tomcat目錄結構
bin — 存放tomcat批處理文件的目錄conf — 存放tomcat配置文件的目錄lib — 存放tomcat運行時依賴的jar包logs — 存放tomcat運行時產生的日志文件的目錄temp — 存放tomcat運行時產生的臨時文件的目錄webapps — 這是和開發人員關系最大的目錄,是用來存放web應用的目錄,我們開發的web資源最終要保存在這個目錄下,外界就可以訪問了work — 存放tomcat服務器運行時產生的工作文件的目錄
五、web應用
所謂的WEB應用就是將為了實現某一個功能而準備的所有WEB資源, 必須按照一定的目錄結構組織起來!如何自己組織一個web應用
部署web應用到虛擬主機中
方式一:方式二:方式三:配置缺省的web應用
方式一:將第一種部署方式的path配置為空(path=“”)即可方式二: 將第二種部署方式的xxx.xml的配置文件改為ROOT.xml即可方式三:只需將webapps目錄下WEB應用文件夾的名字配置為ROOT即可 。 注意:三種方式如果都配置了缺省的web應用 , 則優先級為: 第一種>第二種>第三種配置缺省的web主頁
在[WEB應用]/WEB-INF目錄下, 在web.xml文件中的根標簽下添加如下配置:(將1.html設置成主頁!!!)
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><welcome-file-list><welcome-file>1.html</welcome-file></welcome-file-list>
</web-app>
六、虛擬主機
我的網站做好了,自己架設一臺服務器代價也不算小,所以對于個人而言,多個用戶共同租用一臺服務器——即購買虛擬主機就成了比較現實的選擇。 所謂的虛擬主機就是tomcat服務器中的一個站點, tomcat服務器中可以配置多個站點,在訪問時就好像訪問一臺獨立的主機一樣. tomcat服務器中的一個站點就可以稱之為是tomcat服務器模擬出來的一臺虛擬主機.配置虛擬主機
第一步:第二步:注意:當可以上網的時候,很有可能你輸入的網址不能生效,直接去訪問百度去了,這時候需要清dns緩存,打開cmd窗口,輸入ipconfig/flushdns,瀏覽器清緩存再次打開即可配置默認的虛擬主機
七、 其他相關
打war包
為什么要打war包?
體積小, 方便傳輸將war包直接放進虛擬主機默認管理目錄中 , 會自動解壓并發布 。 方式一 :
在cmd窗口中 , 先進到web應用的根目錄 , 通過“jar -cvf xx.war *” 命令 , 可以將當前目錄下的所有文件及目錄達成一個war包注意:
要想將war包放入自己配置的虛擬主機中自動解壓并發布 , 則需要對虛擬之際完全配置 , 具體參考默認的localhost 。這條命令需要java環境的支持 , 確保java環境在當前目錄下可用 。 方式二:
直接將文件內容壓縮為.zip包, 將名字改為xxx.war即可 , 然后將war包放入虛擬主機下即可 。 (不能有中文)通用的web.xml文件
在[tomcat]/conf/目錄下的web.xml文件, 是一個通用的web.xml文件, 這個web.xml文件的內容, 將會被所有WEB應用web.xml文件所”繼承”。比如剛安裝tomcat的時候,訪問localhost直接會進入tomcat主頁,而tomcat中WEB-INF下的xml中并未配置,因為繼承了通用web.xml
八、HTTP協議
定義: 一種用于規定客戶端和服務器之間的通訊的方式 。 三個基本原則
基于請求響應模型一次請求對應一次響應 請求只能有客戶端發出 , 服務器只能被動的等待請求后作出響應 。 http協議詳解
http請求
http請求有三部分組成
請求行:包含請求 方式、請求 的資源、所遵循的協議請求頭:下面詳解 實體內容 : 需要傳遞 給服務器的內容詳解
請求行:GET /news3/1.html HTTP/1.1請求方式:一共有7種請求方式,但真正使用的只有兩種GET、POST
POST和GET之間的區別:
GET:請求請求參數位于URL后面,所能傳輸的請求參數最大不超過1KB,安全性比較低。POST:請求參數位于請求的實體內容中,沒有大小限制,也比較安全只有當一個表單method明確被指定為POST時,才是POST提交,其他情況下都是GET提交.請求的資源:/news3/1.html所遵循的協議:HTTP/1.1請求頭:
!Host: www.tedu.cn:80 – 需要訪問的虛擬主機的名稱User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) – 客戶端的基本信息Accept: text/html,image/* – 通知服務器當前瀏覽器可以接受那些格式的數據Accept-Language: en-us,zh-cn – 瀏覽器接受的語言環境,和國際化相關的頭Accept-Encoding: gzip,compress – 瀏覽器可以接受的壓縮格式Accept-Charset: ISO-8859-1 – 瀏覽器可以接受的字符集編碼Referer: http://www.tedu.cn/index.jsp – 指是從哪個頁面跳轉過來的,這是和防盜鏈相關的頭。Cookie– 和cookie相關的頭Connection: close/Keep-Alive – 是否繼續保持連接 Date: Fri, 17 Sep 2017 18:23:51 GMT – 當前發送請求的時間實體內容 :
當post提交內容時 , 會存在參數 , 就是實體內容 。 如:
表單屬性:
<form method="post" action=".....">
http響應
http響應有三部分組成
狀態行: 包含所遵循的協議 、 狀態碼響應頭: 下面詳解實體內容: 服務器發送回的內容詳解
狀態行: HTTP/1.1 200 ok
遵循的協議: http/1.1狀態碼: 就是一個三位數的值 , 用來表示服務器 隊請求處理的結果 。
常見的狀態碼:
200 : 表示服務器成功的處理該請求302: 和location配合實現請求重定向304/307: 通知瀏覽器使用緩存404: 表示請求的資源不存在, 客戶端錯誤500: 服務器處理請求時出現了錯誤! 響應頭
!!!Location: http://www.tedu.cn/index.jsp – 配合302使用實現請求重定向Server:apache tomcat – 服務器的基本信息Content-Encoding: gzip – 服務器發送的數據使用的壓縮格式Content-Length: 80 – 服務器發送的數據的大小Content-Language: zh-cn –服務器發送的數據使用的語言環境 國際化相關的頭!Content-Type: text/html; charset=GB2312 – 服務器發送的數據是什么格式的,如果是字符格式的數據,則還可以通知服務器發送的數據使用的是什么編碼,瀏覽器會根據這個頭指定的編碼決定使用哪個編碼來打開收到的數據!Refresh: 1;url=http://www.tedu.cn – 定時刷新相關的頭,通知瀏覽器,過幾秒后自動刷新訪問哪個地址Content-Disposition: attachment;filename=aaa.zip – 通知瀏覽器以附件的形式打開發送過去的數據,是和文件下載相關的頭!!!Set-Cookie:SS=Q0=5Lb_nQ; path=/search – 和Cookie相關的頭!Expires: -1 – 通知瀏覽器是否緩存!Cache-Control: no-cache – 通知瀏覽器是否緩存!Pragma: no-cache – 通知瀏覽器是否緩存–之所以一個功能有三個頭,是因為歷史原因.所以為了網頁的兼容性考慮,通常這三個頭要一起使用Connection: close/Keep-Alive – 是否保持連接Date: Fri, 17 Feb 2017 18:24:11 GMT – 響應時的時間實體內容:
就是服務器響應的內容。
總結
以上是生活随笔為你收集整理的大数据WEB阶段(八)Tomcat服务器安装与详解、HTTP协议详解的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。