1. 程式人生 > >什麼是servlet及其生命週期

什麼是servlet及其生命週期

Serlets是java類,是為http請求做應用服務,實現javax。servlet。Servlet介面的java類。Web開發的時候,繼承HttpSerlet類,HttpSerlet是一個實現了Servlet的抽象類。專門用於處理http請求。

1進行serlet開發

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 initialization
      message = "Hello World";
   }

   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      
      // Set response content type
      response.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/下建立一個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時建立serlet,呼叫init().

當用戶呼叫serlet,每個servlet的單個例項被建立,使用者的每一個請求都開啟一個執行緒,將請求傳遞給doGet或者doPost處理。the insit()用來建立一些整個生命週期都要用到的東西

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(),後端獲取的資料來源於瀏覽器的url

public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
   // Servlet code
}
4)doPost方法,後端資料來源於表單
public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
   // Servlet code
}
5)destroy方法,結束servlet生命,讓servlet關閉資料庫連線,後臺執行緒,寫cookie列表或者命中數到磁碟,當destroy被呼叫,servlet物件就會被垃圾回收機制回收。

相關推薦

什麼是servlet及其生命週期

Serlets是java類,是為http請求做應用服務,實現javax。servlet。Servlet介面的java類。Web開發的時候,繼承HttpSerlet類,HttpSerlet是一個實現了Servlet的抽象類。專門用於處理http請求。 1進行serlet開發

Servlet簡介及其生命週期詳解

簡介        Servlet生命週期,即闡述Servlet從產生到毀滅的整個過程。         在Servlet產生到消亡的過程中,有三個生

JavaWeb-Servlet生命週期

 java檔案 package com.web.servlet; import java.io.IOException; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import java

web---Servlet生命週期以及Servlet與CGI的區別

Servlet的生命週期 Servlet的生命週期可以分為例項化,初始化,服務,銷燬四個階段。 1.例項化和初始化階段: 如果Servlet在配置時配置了標籤,那麼在應用程式啟動時就會載入Servlet.class,並建立Servlet例項,然後呼叫init()方法初始化。 如果

Servlet生命週期?

原 https://blog.csdn.net/jassy1994/article/details/54025471 Servlet的生命週期從Servlet類載入,到建立Servlet類例項,Servlet的初始化(真正成為一個Servlet),有請求到來,呼叫service方法(主要

Servlet生命週期 (一)

package com.xxxx.java; import java.io.IOException; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletExc

Servlet生命週期

Servlet是一種可以 在Servlet容器中執行的元件,那麼理所當然就應該有一個從建立到銷燬的過程,這個過程我們可以稱之為Servlet生命週期。Servlet的生命 週期可以分為載入、例項化、初始化、處理客戶請求和解除安裝五個階段,體現在方法上主要是init()、service()和d

Servlet生命週期是怎麼回事?

Servlet的生命週期有三個:(視訊下載) (全部書籍)1.初始化時期 在啟動Tomcat後,客戶機首次訪問Servlet時,tomcat裝入和例項化Servlet,僅執行一次init()方法。無論有多少客戶機訪問 Servlet,都不會重複執行init()。這裡通常進行一些初始化的操作

【javaweb】Servlet生命週期

生命週期:從建立到銷燬的一段時間 生命週期方法:從建立到銷燬過程中,一定會呼叫到的方法 * init方法         在建立該servlet的例項時,就執行該方法。      &

淺談servlet生命週期 ,以及【Request請求】

 servlet 的生命週期,從建立到銷燬; 在接收request的時候Tomcat呼叫init方法建立servlet,service對request 或response 進行處理,關閉伺服器時候呼叫destory方法,servlet銷燬;【多次請求 init()方法僅僅被

mybatis框架核心SqlSessionFactoryBuilder、SqlSessionFactory......及其生命週期

1.SqlSessionFactoryBuilder 作用:唯一作用建立SqlSessionFactoryBuilder例項 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); /

React——元件基本結構及其生命週期

元件基本結構 建構函式constructor 功能:子級繼承父級的時候,通過建構函式獲取父級的屬性和方法,並通過super()傳遞的引數進行構造。 constructor(){super()} 元件建構函式會在元件例項的時候最先呼叫! construct

Servlet生命週期詳解

敘述Servlet的生命週期其實就是找出Servlet是怎麼出生的又是怎麼消失的一個過程。我們從最主要的三個方法去記錄Servlet產生與消失的過程: 初始化階段,呼叫init方法: 初始化階段。

簡述servlet生命週期(面試過)

簡述servlet的生命週期 在Servlet產生到消亡的過程中,有三個生命週期函式,通過javax.servlet.Servlet介面中初始化方法init(),處理客戶請求的方法service(),終止方法destroy()來表示。 注意:建立Servlet例

Servlet生命週期、工作原理和一次請求響應過程

一、Servlet的生命週期 Servlet的生命週期分為4個階段:例項化- ->初始化- ->執行處理- ->銷燬 (1)例項化——new:伺服器第一次被訪問時,載入一個Servlet容器,而且只會被載入一次。 (2)初始化——init

java基礎78 Servlet生命週期

1、Servlet的生命週期 簡單的解析就是: 建立servlet例項(呼叫構造器)---->呼叫init()方法---->呼叫service()方法----->呼叫destroy()方法 構造方法:建立servlet時被呼叫,預設情況下,第一次訪問servlet的時,建立servlet物

servlet生命週期 工作原理

servlet的生命週期 1,例項化:請求到來時servlet容器會建立一個servelt例項2,初始化:容器在建立好servlet物件之後,會接著呼叫servlet物件的init方法。 要注意:該方法只會執行一次。作用是,獲取資源。3,就緒:呼叫servlet物件的ser

Servlet生命週期和工作原理

詳細的執行過程為 1、  Servlet容器啟動,載入web.xml檔案,讀取相關配置 2、  客戶訪問Servlet容器,如果Servlet類還沒有被初始化,那麼Servlet容器根據客戶輸入的URL地址,去配置檔案中找到與之相對應的對映類 3、  Servlet容器通過反射的方法例項化該類 4、  例項

Servlet生命週期(不看後悔,一看必懂)

Servlet的生命週期可以分為載入,建立,初始化,處理客戶請求和銷燬5個階段 ①載入 容器通過類載入器來載入響應的Servlet ②建立 通過呼叫Servlet的建構函式來建立一個Servlet例項 ③初始化 通過呼叫Servlet的init()方法來完成初始化

實驗說明Servlet生命週期

Servlet的生命週期 Servlet是執行在伺服器端的程式,它的執行狀態由Servlet容器(簡稱容器)來維護。 通常,在容器收到客戶對Servlet的請求時,容器會判斷這個Servlet是否為第一次被訪問,如果是第一次被訪問,則會建立一個Servlet