簡單說說Servlet

來源:互聯網
上載者:User
概述

  Servlet是運行在伺服器上的小程式,是一個特殊的java類(繼承了HttpServlet類)。 用於處理和響應使用者的請求。 與JSP的關係

  先有Servlet再有JSP,JSP的本質就是Servlet,JSP頁面部署在Web容器中之後,Web容器會將其編譯成為對應的Servlet。一般的,一個JSP會產生一個Servlet類。
  原來直接使用Servlet作為視圖層,使用輸出資料流來輸出頁面中的所有html代碼,很明顯這樣的方式開發極為煩瑣,且維護複雜。自MVC規範出來之後,Servlet就開始充當控制器的角色,不再產生頁面,也就不再作為視圖層,而視圖層也就交給了JSP這類模板。 Servlet的基本方法 響應用戶端請求

  Servlet類有四個方法用於相應用戶端點的請求:doGet、doPost、doPut和doDelete,我們常用的是前面的兩個,分別用於相應用戶端的get和post請求方式。準確來說應該有五個相應用戶端的方法,還有一個serive(HttpServletRequest request, HttpServletResponse response)方法用於相應用戶端所有請求,實際中我們寫的JSP檔案編譯後產生的Servlet類就是重寫了這個方法,使得JSP可以接受所有類型的請求。 生存周期有關

  init初始化函數和destroy函數是分別用於初始化Servlet執行個體和銷毀Servlet執行個體。 生存周期

  Servlet對象一旦執行個體化就會長存與伺服器中,一直到伺服器關閉位置,而且你的每個Servlet類只會執行個體化一個執行個體。在Eclipse中運行時,如果要嘗試執行destroy方法,只要在運行時關閉Tomcat伺服器即可,而不是點擊紅色方塊結束運行。
如果要對Serlvet執行初始化操作,我們應該在init(ServletConfig config)函數中操作,並且第一行調用父類的建構函式super.init(config)。 Servlet的配置

  為了是Servlet能夠接收用戶端的請求,我們建立了Servlet類並重寫了doGet和doPost方法之後,我們還需要進行配置。配置有如下兩種方式: 在Servlet類中使用@WebServlet註解進行配置 通過web.xml進行配置 在Servlet類中使用@WebServlet註解進行配置

我們在Eclipse中建立Servlet時,Eclipse已經為我們做了註解:

@WebServlet("/Login")public class Login extends HttpServlet {    ···}

  我們也可以自己進行修改,注意下面的urlPatterns是一個數組,也就是說我們可以通過兩個不同的url來訪問該Servlet。

@WebServlet(name="loginservlet",urlPatterns={"/login","/loginto"})public class Login extends HttpServlet {    ···}
通過web.xml進行配置

  只要在標籤下進行如下配置即可,兩個部分分別配置Servlet的名字和url,兩處的名字需要相同。第一處的名字用於串連Servlet相應的類,之後都是用名字進行其他相關屬性的配置。

<!-- 配置Servlet的名字 --><servlet>    <servlet-name>signin</servlet-name>    <servlet-class>servlet.Signin</servlet-class></servlet><!-- 配置Servlet的url --><servlet-mapping>    <servlet-name>signin</servlet-name>    <url-pattern>/signin</url-pattern></servlet-mapping>

  如果我們使用Eclipse進行開發,修改完Servlet之後,Eclipse會自動更新執行個體,無需重新啟動。 model2 (Servlet+JSP+JavaBean)

  該模型藉助了MVC架構模式,其中Servlet充當控制器的角色,負責處理請求和控制商務程序,JSP充當視圖的角色,負責輸出響應結果,JavaBean充當模型的角色,負責具體的商務邏輯和業務資料。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.