日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

什么是servlet及其生命周期

發(fā)布時間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是servlet及其生命周期 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Serlets是java類,是為http請求做應用服務,實現(xiàn)javax。servlet。Servlet接口的java類。Web開發(fā)的時候,繼承HttpSerlet類,HttpSerlet是一個實現(xiàn)了Servlet的抽象類。專門用于處理http請求。

1進行serlet開發(fā)

1)將繼承httpservlet的HelloWorld類,進行編譯,生成的。class文件放在tomcat的安裝目錄的/webapps/ROOT/WEB-INF/classes

// Import required java libraries import java.io.*; import javax.servlet.*; import javax.servlet.http.*;// Extend HttpServlet class public class HelloWorld extends HttpServlet {private String message;public void init() throws ServletException {// Do required initializationmessage = "Hello World";}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// Set response content typeresponse.setContentType("text/html");// Actual logic goes here.PrintWriter out = response.getWriter();out.println("<h1>" + message + "</h1>");}public void destroy() {// do nothing.} }

2)在tomcat安裝目錄的/webapps/ROOT/WEB-INF/下創(chuàng)建一個web.xml,在<web-app>...</web-app>標簽里寫

<servlet><servlet-name>HelloWorld</servlet-name><servlet-class>HelloWorld</servlet-class> </servlet><servlet-mapping><servlet-name>HelloWorld</servlet-name><url-pattern>/HelloWorld</url-pattern> </servlet-mapping>
3)啟動tomcat服務器,windows下點擊\bin\startup.bat,linux下點擊/bin/startup.sh,最后在瀏覽器輸入http://localhost:8080/HelloWorld,打印出message

2 servlet的生命周期

1)init()方法

該方法只被調用一次,當服務器開啟,servlet被加載,用戶首次調用與該servlet對應的url時創(chuàng)建serlet,調用init().

當用戶調用serlet,每個servlet的單個實例被創(chuàng)建,用戶的每一個請求都開啟一個線程,將請求傳遞給doGet或者doPost處理。the insit()用來創(chuàng)建一些整個生命周期都要用到的東西

2)service()方法

servlet容器(tomcat服務器)會調用service()方法,處理從客戶端傳來的請求,并返回格式化的response給客戶。

服務器每次收到servlet請求,就會開啟一個線程,核對該請求時get,post,put等哪一種請求,然后調用對應得doGet,doPost,doPut,doDelete

public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { }容器調用service()方法,service()調用doGet等方法,我們不用關心service是怎么寫的,只需要復寫doGet等方法。

3)doGet(),后端獲取的數(shù)據(jù)來源于瀏覽器的url

public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// Servlet code }4)doPost方法,后端數(shù)據(jù)來源于表單

public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// Servlet code }5)destroy方法,結束servlet生命,讓servlet關閉數(shù)據(jù)庫連接,后臺線程,寫cookie列表或者命中數(shù)到磁盤,當destroy被調用,servlet對象就會被垃圾回收機制回收。




總結

以上是生活随笔為你收集整理的什么是servlet及其生命周期的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。