標籤:瀏覽器 網址 地址 基於 支援 形式 red head put
一,Servlet開發
使用者在瀏覽器中輸入一個網址並斷行符號,瀏覽器會向伺服器發送一個HTTP請求。伺服器端程式接受這個請求,並對請求進行處理,然後發送一個回應。瀏覽器收到回應,再把回應的內容顯示出來。這種請求—響應模式就是典型的Web應用程式訪問過程。
JavaWeb應用程式中所有的請求—響應都是由Servlet完成的。Servlet是JavaWeb的核心程式,所有的網址最終都交給Servlet處理。Servlet並沒有main之類的執行方法。當使用者訪問伺服器的時候,Tomcat是通過調用Servlet的某些方法來完成整個處理過程的。
Servlet是什麼
一個Servlet程式就是一個實現了特殊介面的Java類,它由支援Servlet的Web伺服器調用和啟動運行。一個Servlet程式負責處理它所對應的一個或一組URL地址的訪問請求,並接收用戶端發出的訪問請求資訊和產生響應內容。
Servlet程式可以完成普通Java程式所能完成的大多數任務:,
1,擷取用戶端通過HTML的FORM表單提交的資料和URL後面的參數資訊
2,建立對用戶端的響應資訊內容,
3,訪問伺服器端的檔案系統
4,串連資料庫並開發基於資料庫的應用,
5,調用其它的Java類
Servlet工作流程
瀏覽器提交的請求是遵循HTTP協議的文本。這段文本由伺服器也就是Tomcat接收並解析,封裝成了HttpServletRequest類型的request對象。所有的HTTP頭資料都可以通過request相應的方法查詢到。Tomcat同時把輸出資料流封裝成為HttpServletResponse類型的response對象,通過設定response對象可以控制輸出的內容。在請求—響應的這個過程中,Tomcat把request對象、response對象作為參數,調用Servlet的相應方法,例如doPost(request,response)、doGet(request,response)等。
Servlet介面
Servlet是一種實現了javax.servlet.Servlet介面的類。Servlet介面規定了特定的方法來處理特定的請求。Servlet規範是建立在HTTP規範基礎上的。HTTP 1.1 規範支援OPTIONS、GET、POST、HEAD、PUT、DELETE、TRACE等7中訪問方式,其中最常用的就是GET和POST了。
GET:表示查詢資訊,URL中可以附帶少量的參數資訊,但是URL總長度不能超過255個字元,並且參數會顯示在瀏覽器地址欄。
POST:表示提交資訊,一般用於提交大資料資訊或者檔案,提交的內容不受長度限制,並且不會顯示在瀏覽器地址欄中。
Servlet工作流程
利用Servlet完成的Web應用的實際工作流程是通過Tomcat伺服器發布服務,用戶端與伺服器端之間的互動遵循Http協議完成的。具體工作流程如下:
用戶端瀏覽器向伺服器端發送請求。
1,伺服器端由Tomcat伺服器提供的Servlet容器解析接收到的請求。
2,通過Web應用程式的設定檔web.xml,解析到對應執行的Servlet。
3,Servlet完成用戶端發送的請求邏輯,並完成向用戶端發送的響應內容。
4,由Tomcat伺服器提供的Servlet容器向用戶端瀏覽器進行響應。
一,Java Web應用設計模式:
1)採用JSP+JavaBean的技術
JSP獨自響應請求並發送處理結果給使用者,資料通過JavaBean來處理,是JSP技術發展初期經常採用模式1,適用於一些小型開發項目。
2)採用JSP+JavaBean+Servlet技術(MVC模型)
MVC(Model-View-Controller)模型,適用於中型以上開發項目
“模型-視圖-控制器”關係圖:
MVC構架設計圖:
二,Servlet中的請求轉寄機制
Web應用中,常由Servlet來充當調度員的角色,把這樣的Servlet叫控制器,可以將請求轉寄給另一個Servlet或JSP頁面,由它們對請求作進一步處理,併產生對請求的響應。Servlet中實現請求轉寄方式:
1)共用一個request:request.getRequestDispacher(“xxx.jsp/xxxservlet”).forword(requet,response);
2)重新導向:
Request.sendRedict(“xxx.jsp/xxxservlet””);
三,運用MVC模式開發WEB應用的步驟
1)定義bean來表示資料和封裝商務邏輯
a)定義資料Bean來表示需要顯示給使用者的結果
b)定義業務Bean來封裝商務邏輯,BeanDao.
2)使用Servlet處理使用者請求
a)根據使用者請求,將資料的處理結果寫入bean,並將其存於請求或會話的上下文中
b)通過請求轉寄的形式,將請求轉寄到合適的頁面,servlet不需要建立任何輸出,輸出由JSP頁面完成
2)JSP頁面輸出結果: 從bean中擷取資料輸出
總之:
① JSP作介面
② Servlet接受使用者請求,並作初步處理,然後將請求進行轉寄
③業務處理藉助Bean
JSP+JavaBean+Servlet技術(MVC模型)