JSP详细篇——Servlet3.0新特性
Servlet3.0新特性
新增注释
通过注释无需在web.xml中Servlet或者过滤器进行配置。Servlet3.0新增的注释有@WebServlet、@WebListener、@WebInitParam等。下面分别介绍
1.@WebServlet
@WebServlet注释定义在Servlet的类声明之前,用于定义Servlet组件。使用该注释,就无需在web.xml中对Servlet进行配置。@WebServlet注释包含的属性:
属性名 |
类型 |
描述 |
name |
String |
指定Servlet的name属性,等价于
|
value |
String[] |
等价于urlPatterns属性,但两者不能同时使用 |
urlPatterns |
String[] |
指定一组Servlet的URL匹配模式。等价于
|
loadOnStartup |
int |
指定Servlet的加载顺序,等价于
|
initParams |
WebInitParam[] |
指定一组Servlet初始化参数,等价于
|
asyncSupported |
Boolean |
指定Servlet是否支持异步操作,等价于
|
description |
String |
Servlet的描述信息,等价于
|
diaplayName |
Sting |
Servlet显示名,通常配合工具使用,等价于
|
2.@WebFilter
@WebFilter注释用于声明过滤器,该注释会在部署是被容器处理,容器根据具体的实行配置将相应的类部署为过滤器。@WebFilter的属性列表:
属性名 |
类型 |
描述 |
filterName |
String |
指定过滤器的name属性,等价于
|
Value |
Sring[] |
等价于urlPatterns属性,但是两者不能同时使用 |
urlPatterns |
String[] |
指定过滤器的URL匹配模式,等价于
|
servletNames |
String[] |
指定过滤器将应用于哪些Servlet.是@WebServlet中的name属性的取值或者是web.xml中
|
initParams |
WebInitParam[] |
指定一组过滤器的初始化参数,等价于
|
asyncSupported |
Boolean |
声明过滤器是否支持异步操作,等价于
|
Description |
String |
过滤器的描述信息,等价于
|
displayName |
String |
该过滤器的显示名,通常配合工具使用,等价于
|
dispatcherTypes |
DispatcherType |
指定过滤器的转发模式,具体包括ASYNC/ERROR/FORWADR/INCLUDE/REQUEST |
3.@WebListener
该注释用于声明监听器,还可以用于充当给定Web应用上下文中各种Web事件的监听器类。可以使用@WebListener来标注一个实现ServletContextListener/Servlet
ContextAttributeListener/ServletRequestListner/ServletRequestAttributeListener/HttpSessionListener/HttpSessionAttributeListener的类。@WebListener注释有一个value属性,该属性为可选属性,用于描述监听器信息。使用该注释就不需在web.xml中配置
该注释等价于web.xml中的
属性名 类型 是否可选 描述 Name String 否 指定参数的名字,等价于
Value String 否 指定参数的值,等价于
Description String 是 关于参数的描述,等价于
4.@WebInitParam