Http&Tomcat

 
前端 服務器端 數據庫
html
css
js
 
 
 
web層:
jsp+servlet
struts2
springMVC
 
service層:
sping
 
dao層:
jdbc
DBUtils
hibernate
mybatis
 
 
 
前端----(請求)---->服務器端   -----(jdbc+sql)---->數據庫
服務器端----(響應)----->前端
 
客戶端 <----------->服務器端
客戶端經過http協議訪問web應用服務器(服務器端)
 
web應用服務器:Tomcat
 
1、Http協議
一、什麼是http協議?
    HTTP:超文本傳輸協議(HyperText Transfer Protocal)是互聯網應用最爲普遍的一種網絡協議。
    Http協議組成:http請求  和  http響應  (給服務器端看的)
 
二、http請求信息
    a、  請求行
請求方式:POST、GET
請求的資源:/DemoEE/form.html
協議版本:HTTP/1.1
 HTTP/1.0,發送請求,建立一次鏈接,得到一個web資源,鏈接斷開。
            HTTP/1.1,發送請求,建立一次鏈接,得到多個web資源,保持鏈接。
b、請求頭
請求頭是客戶端發送給服務器端的一些信息,使用鍵值對錶示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)
c、請求體
當請求方式是post的時,請求體會有請求的參數,格式以下:             username=zhangsan&password=123
若是請求方式爲get,那麼請求參數不會出如今請求體中,會拼接在url地址後面   http://localhost:8080...?username=zhangsan&password=123
 
三、Http響應信息
a、響應行   --- HTTP/1.1   200  OK
Http協議版本
狀態碼:
經常使用的狀態碼以下:
200 :請求成功。
302 :請求重定向。(跳轉:訪問a網站不知不覺跳轉到b網站)
304 :請求資源沒有改變,訪問本地緩存。
404 :請求資源不存在。一般是用戶路徑編寫錯誤,也多是服務器資源已刪除。
500 :服務器內部錯誤。一般程序拋異常。
狀態信息:狀態信息是根據狀態碼變化而變化的
b、響應頭
響應也都是鍵值對形式,服務器端將信息以鍵值對的形式返回給客戶端
常見請求頭
描述
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一塊兒使用。
c、響應體
響應體是服務器回寫給客戶端的頁面正文,瀏覽器將正文加載到內存,而後解析渲染 顯示頁面內容
 
總結:
http協議是什麼?
http協議包括什麼?
http協議裏面包括的幾個部分分別由哪些內容?
 
2、WEB開發中經常使用的概念
(1)B/S系統   和 C/S系統
Brower/Server:瀏覽器   服務器   系統
Client/Server:  客戶端   服務器   系統
(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地址
 
web開發經常使用的web應用服務器:
    weblogic:oracle公司的大型收費web服務器 支持所有javaEE規範
    websphere:IBM公司的大型收費web服務器 支持所有的javaEE規範
    Tomcat:Apache開源組織下的 開源免費的中小型的web應用服務器 支持--- javaEE  中的 servlet 和 jsp規範
 
3、Tomcat
一、安裝下載Tomcat服務器
二、啓動Tomcat,bin--->startup.bat  (必須配置JAVA_HOME環境變量,不然閃退,查看日誌logs)
爲何須要配置?   Tomcat是由java編寫的。
三、配置Tomcat的服務端口 (conf--->server.xml)  默認:localhost:8080
怎樣查看端口是否被佔用?   
cmd   --->   netstat -aov
80端口:
四、web應用的目錄結構
web
|   -----html 、jsp、css、js文件等
|
|------WEB-INF目錄
                |-----classes目錄------(java類)              
                |-----lib目錄-------(java類運行所需的jar包)
                |-----web.xml文件----(web應用的配置文件)
注意:WEB-INF目錄是受保護的,外界不能直接訪問
五、使用Eclipse綁定Tomcat併發布工程
Java EE   --->Dynamic  Web  Project
發佈web工程:
copy工程下面的WebContent到Tomcat下面。工程名爲文件夾名。
六、Servlet 快速入門
src   寫個類  MyFirstServlet  ,接口  implements  Servlet
在public  void  service  下寫一句代碼:
//專門向客戶端提供響應的方法
             HttpServletResponse response =  (HttpServletResponse) arg1;
             response.getWriter().write("This is my first servlet!!!");             
web.xml配置文件裏面添加:
  <servlet>
       <servlet-name>MyFirstServlet</servlet-name>
       <servlet-class>com.scalpel.servlet.MyFirstServlet</servlet-class>
  </servlet>
 
  <servlet-mapping>
       <servlet-name>MyFirstServlet</servlet-name>
       <!--http協議訪問時資源的虛擬路徑,以/開始-->
       <url-pattern>/a</url-pattern>
  </servlet-mapping>
相關文章
相關標籤/搜索