Springboot 相关注解 -@WebServlet

Posted xfwbing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 













以上是关于Springboot 相关注解 -@WebServlet的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot#ConfigurationProperties注解相关的一些知识

springBoot----@ConditionalOnxxx相关注解总结

springBoot----@ConditionalOnxxx相关注解总结

springboot中中Conditional相关注解

廖师兄springboot微信点餐开发中相关注解使用解释

springboot相关