在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 {
......
}