Springboot 相關注解 -@WebServlet


@WebServlet注解:
@WebServlet注解一般在類上聲明使用。一般情況下此類要繼承 Servlet
案例如下:
@WebServlet(urlPatterns = "/druid/*", initParams={
        @WebInitParam(name="allow",value="127.0.0.1"),// IP白名單 (沒有配置或者為空,則允許所有訪問)
        @WebInitParam(name="deny",value=""),// IP黑名單 (存在共同時,deny優先於allow)
        @WebInitParam(name="loginUsername",value="admin"),// 用戶名
        @WebInitParam(name="loginPassword",value="123456"),// 密碼
        @WebInitParam(name="resetEnable",value="true")// 禁用HTML頁面上的“Reset All”功能
})
public class DruidStatViewServlet extends StatViewServlet {
    private static final long serialVersionUID = 2359758657306626394L;
}
對應的xml為:
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 3 
 4 <servlet>
 5 
 6 <servlet-name>DruidStatViewServlet </servlet-name> 
 7 
 8 <servlet-class>com.xfwbing.DruidStatViewServlet </servlet-class>
 9 
10  <init-param> 
11 
12 <param-name>allow</param-name> 
13 
14 <param-value>127.0.0.1</param-value>
15 
16 </init-param> 
17 
18 </servlet> 
19 
20 <servlet-mapping> 
21 
22 <servlet-name>
23 DruidStatViewServlet
24 </servlet-name>
25 
26  <url-pattern>
27 /druid/*
28 </url-pattern> </servlet-mapping> </web-app>
 
        

 

 
        

 

 





只要在類上面設置@WebServlet標注,容器就會自動讀取當中的信息。 上面案例中的@WebServlet告訴容器,如果請求的URL是 "/druid/*",那么就由DruidStatViewServlet來提供服務。

若沒有設置@WebServlet的name屬性,默認值會是Servlet的類完整名稱。

當應用程序啟動后,事實上並沒有創建所有的Servlet實例。容器會在首次請求需要某個Servlet服務時,才將對應的Servlet類實例化、進行初始化操作,然后再處理請求。這意味着第一次請求該Servlet的客戶端,必須等待Servlet類實例化、進行初始動作所必須花費的時間,才真正得到請求的處理。

如果希望應用程序啟動時,就先將Servlet類載入、實例化並做好初始化動作,則可以使用loadOnStartup設置。設置大於0的值(默認值為-1),表示啟動應用程序后就要初始化Servlet(而不是實例化幾個Servlet)。數字代表了Servlet的初始順序,容器必須保證有較小數字的Servlet先初始化
,在使用標注的情況下,如果有多個Servlet在設置loadOnStartup時使用了相同的數字,則容器實現廠商可以自行決定要如何載入哪個Servlet。

 

                                                                                                                                           @WebServlet常用屬性

 

 

 

屬性 類型 是否必須 說明
asyncSupported boolean 指定Servlet是否支持異步操作模式
displayName String 指定Servlet顯示名稱
initParams WebInitParam[] 配置初始化參數
loadOnStartup int 標記容器是否在應用啟動時就加載這個Servlet
name String 指定Servlet名稱
urlPatterns/value String[] 這兩個屬性作用相同,指定Servlet處理的url

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM