學習servlet(聲明:大部分資料來源於互連網)

來源:互聯網
上載者:User

最近要做一個servlet改修的項目,正好藉此機會複習下servlet,好多年不用了,看看能想起來多少.
結論:※※※※JSP就是Servlet※※※※

 

servlet的命名  Server + Applet =Servlet 意為伺服器端的小程式

JSP就是Java Server Page,Java伺服器頁面的意思

 

其實java虛擬機器是不認識jsp這種東西的, jsp在被使用的時候會被容器轉換成servlet,然後被調用.

你去的你tomcat目錄下的work\Catalina\localhost\下這個檔案夾裡能找到和你項目同名的檔案,這裡有你jsp轉成的servlet的.java和class檔案

Servlet是伺服器端小程式,其產生早於JSP,後來發現直接在Servlet裡輸出使用者web介面很困難,就誕生了JSP,其專門用於輔助servlet進行web頁面的展示,即作為web開發的表現層。JSP其實在伺服器端還是首先被編譯為servlet(一般在客戶第一次訪問的時候),所以其實質還是一種特殊的servlet,只不過一般專用於頁面的展現.

 

我的理解是,JSP更像一個模板,很多東西是固定的,程式員只需要關注其中的java代碼的實現就可以了.

而servlet沒有模板,它的輸出完全是依賴java代碼來完成,就連頁面中的"<tr>""<td>"這種標籤都要程式手動寫到java代碼裡.

 

Servlet生命週期

  裝載Servlet。這項操作一般是動態執行的。然而,Server通常會提供一個管理的選項,用於在Server啟動時強制裝載和初始化特定的Servlet。

  Server建立一個Servlet的執行個體

  Server調用Servlet的init()方法

  一個用戶端的請求到達Server

  Server建立一個請求對象

  Server建立一個響應對象

  Server啟用Servlet的service()方法,傳遞請求和響應對象作為參數

  service()方法獲得關於請求對象的資訊,處理請求,訪問其他資源,獲得需要的資訊

  service()方法使用響應對象的方法,將響應傳回Server,最終到達用戶端。service()方法可能啟用其它方法以處理請求,如doGet()或doPost()或程式員自己開發的新的方法。

  對於更多的用戶端請求,Server建立新的請求和響應對象,仍然啟用此Servlet的service()方法,將這兩個對象作為參數傳遞給它。如此重複以上的迴圈,但無需再次調用init()方法。一般Servlet只初始化一次(只有一個對象),當Server不再需要Servlet時(一般當Server關閉時),Server調用Servlet的Destroy()方法。

 

servlet的工作模式  

        用戶端發送請求至伺服器

  伺服器啟動並調用Servlet,Servlet根據用戶端請求產生響應內容並將其傳給伺服器

  伺服器將響應返回用戶端

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.