Servlet3.0中@WebServlet注解

在Servlet3.0(Tomcat7.0)以后,我们可以不用在web.xml里面配置servlet,只需要定义Servlet类时,加上@WebServlet注解(annotation)就可以修改该Servlet的属性了。

如果在@WebServlet中需要设置多个属性,必须给属性值加上属性名称,中间用逗号隔开,否则会报错。

若没有设置@WebServlet的name属性,默认值会是Servlet的类完整名称。

属性名 类型 描述
name String 指定Servlet 的 name 属性,等价于<servlet-name>。如果没有显式指定,则该 Servlet 的取值即为类的全限定名。
value String[] 该属性等价于urlPatterns属性。两个属性不能同时使用。
urlPatterns String[] 指定一组 Servlet 的 URL 匹配模式。等价于<url-pattern>标签。
loadOnStartup int 指定 Servlet 的加载顺序,等价于<load-on-startup>标签。
initParams WebInitParam[] 指定一组 Servlet 初始化参数,等价于<init-param>标签。
asyncSupported boolean 声明 Servlet 是否支持异步操作模式,等价于<async-supported>标签。
description String 该 Servlet 的描述信息,等价于<description>标签。
displayName String 该 Servlet 的显示名,通常配合工具使用,等价于<display-name>标签。

 例如

@WebServlet(urlPatterns = { "/DServlet", "/EServlet", "/FServlet" }, loadOnStartup = 0, initParams = {
                               @WebInitParam(name = "p1", value = "v1"),
                               @WebInitParam(name = "p2", value = "v2") })
public class DServlet extends HttpServlet {

      ......

}

或者

@WebServlet(value = { "/DServlet", "/EServlet", "/FServlet" }, loadOnStartup = 0, initParams = {
                              @WebInitParam(name = "p1", value = "v1"),
                              @WebInitParam(name = "p2", value = "v2") })
public class DServlet extends HttpServlet {

      ......

}

原文地址:https://www.cnblogs.com/lihuawei/p/14776188.html