Servlet學(xué)習(xí)筆記

Servlet簡介

Servlet是什么

Java Servlet 是運(yùn)行在 Web 服務(wù)器或應(yīng)用服務(wù)器上的程序,它是作為來自 Web 瀏覽器或其他 HTTP 客戶端的請求和 HTTP 服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序之間的中間層。

Servlet架構(gòu)
Paste_Image.png

Servlet生命周期

Servlet 生命周期可被定義為從創(chuàng)建直到毀滅的整個(gè)過程。以下是 Servlet 遵循的過程:
創(chuàng)建Servlet有兩個(gè)時(shí)機(jī):1)客戶端第一次請求一個(gè)Servlet的時(shí)候 2)Web應(yīng)用啟動的時(shí)候立即創(chuàng)建,load-on-startup Servlet
Servlet 通過調(diào)用 init () 方法進(jìn)行初始化。
Servlet 調(diào)用 service() 或者doGet和doPost方法來處理客戶端的請求。
Servlet 通過調(diào)用 destroy() 方法終止(結(jié)束)。
最后,Servlet 是由 JVM 的垃圾回收器進(jìn)行垃圾回收的。

Hello World

// 導(dǎo)入必需的 java 庫import java.io.*;
import javax.servlet.*;import javax.servlet.http.*;
// 擴(kuò)展 HttpServlet 類
public class HelloWorld extends HttpServlet { 
    private String message; public void init() throws ServletException {
    // 執(zhí)行必需的初始化 
    message = "Hello World"; 
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
// 設(shè)置響應(yīng)內(nèi)容類型
 response.setContentType("text/html"); 
// 實(shí)際的邏輯是在這里 
 PrintWriter out = response.getWriter(); 
out.println("<h1>" + message + "</h1>"); 
} 
public void destroy() { 
// 什么也不做
 }
}

Servlet的配置

從Servlet3.0開始,配置Servlet有兩種方式:

  • 在Servlet中使用@WebServlet注解進(jìn)行配置
@WebServlet(name="firstServlet", urlPatterns={"/firstServlet"})
  • 在web.xml文件中進(jìn)行配置
<servlet>
    <servlet-name>name</servlet-name>
    <servlet-class>class</servlet-class>
<servlet>
<servlet-mapping>
    <servlet-name>name</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

load-on-startup Servlet

有兩種方式:
方式一:

@WebServlet(loadOnStartUp=1)

方式二:

<servlet>
    <servlet-name>name</servlet-name>
    <servlet-class>class</servlet-class>
    <load-on-startup>1</load-on-startup>
<servlet>

這個(gè)整數(shù)值越小,表面優(yōu)先級越高。

訪問Servlet的配置參數(shù)

同樣有兩種方式:
方式一:

@WebServlet(name="testServlet",urlPattern="/testServlet",initParams={@WebInitParam(name="a",value="b")})
public class TestServlet extends HttpServlet{
  public void service(HttpServletRequest request,HttpServletResponse, response) throws ServletException, java.io.IOException{
    ServletConfig config = getServletConfig();
    String a = config.getInitParameter("a");
  }
}

方式二:

<servlet>
    <servlet-name>name</servlet-name>
    <servlet-class>class</servlet-class>
    <init-param>
        <param-name></param-name>
        <param-value></param-value>
    </init-param>
<servlet>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容