處理請求和發送響應的過程是由一種叫作Servlet的程序來完成的,而且Servlet是爲了解決實現動態頁面而衍生的東西。理解這個的前提是瞭解一些http協議的東西,而且知道B/S模式(瀏覽器/服務器)。
B/S:瀏覽器/服務器:瀏覽器經過網址來訪問服務器,好比訪問百度,在瀏覽器中輸入www.baidu.com,這個時候瀏覽器就會顯示百度的首頁,那麼這個具體的過程,步驟是怎樣的呢?這個就瞭解一下http請求和響應了。
web
Tomcat 是Web應用服務器,是一個Servlet/JSP容器. Tomcat 做爲Servlet容器,負責處理客戶請求,把請求傳送給Servlet,並將Servlet的響應傳送回給客戶.而Servlet是一種運行在支持Java語言的服務器上的組件. Servlet最多見的用途是擴展Java Web服務器功能,提供很是安全的,可移植的,易於使用的CGI替代品。
從http協議中的請求和響應能夠得知,瀏覽器發出的請求是一個請求文本,而瀏覽器接收到的也應該是一個響應文本。可是在上面這個圖中,並不知道是如何轉變的,只知道瀏覽器發送過來的請求也就是request,咱們響應回去的就用response。忽略了其中的細節,如今就來探究一下。
①Tomcat將http請求文本接收並解析,而後封裝成HttpServletRequest類型的request對象,全部的HTTP頭數據讀能夠經過request對象調用對應的方法查詢到。
②Tomcat同時會要響應的信息封裝爲HttpServletResponse類型的response對象,經過設置response屬性就能夠控制要輸出到瀏覽器的內容,而後將response交給tomcat,tomcat就會將其變成響應文本的格式發送給瀏覽器。
Java Servlet API 是Servlet容器(tomcat)和servlet之間的接口,它定義了serlvet的各類方法,還定義了Servlet容器傳送給Servlet的對象類,其中最重要的就是ServletRequest和ServletResponse。因此說咱們在編寫servlet時,須要實現Servlet接口,按照其規範進行操做。瀏覽器
在前面,咱們已經知道了servlet是什麼,爲何須要servlet?(爲了實現動態網頁,而不是顯示靜態網頁,具體狀況能夠百度查查),tomcat和servlet的關係?等問題。如今來手動編寫一個Servlet。tomcat
實驗,驗證上面配置成功。
安全
查看MyServle01類中的代碼和web.xml,其中的配置跟手動的配置是同樣的,只是用圖形化界面,讓咱們更方便的建立servlet而產生的。服務器
servlet的生命週期是什麼?
服務器啓動時(web.xml中配置load-on-startup=1,默認爲0)或者第一次請求該servlet時,就會初始化一個Servlet對象,也就是會執行初始化方法init(ServletConfig conf),該servlet對象去處理全部客戶端請求,在service(ServletRequest req,ServletResponse res)方法中執行
最後服務器關閉時,纔會銷燬這個servlet對象,執行destroy()方法。
工具
(未完待續...)post