@WebServlet 用于将一个类声明为 Servlet,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为 Servlet。
@WebServlet 主要属性列表:
属性名
类型
描述
name
String
指定 Servlet 的 name 属性。如果没有显式指定,则该 Servlet 的取值即为类的全限定名。
value
String[]
该属性等价于 urlPatterns 属性。两个属性不能同时使用。
urlPatterns
String[]
指定一组 Servlet 的 URL 匹配模式。
loadOnStartup
int
指定 Servlet 的加载顺序。
initParams
WebInitParam[]
指定一组 Servlet 初始化参数。
asyncSupported
boolean
声明 Servlet 是否支持异步操作模式。
description
String
该 Servlet 的描述信息。
displayName
String
该 Servlet 的显示名,通常配合工具使用。
@WebInitParam该注解不单独使用,而是配合 @WebServlet 或者 @WebFilter 使用。它的作用是为 Servlet 或者过滤器指定初始化参数。
@WebInitParam 的常用属性:
属性名
类型
是否可选
描述
name
String
否
指定参数的名字。
value
String
否
指定参数的值。
description
String
是
关于参数的描述。
@WebFilter@WebFilter 用于将一个类声明为过滤器。
@WebFilter 的常用属性:
属性名
类型
描述
filterName
String
指定过滤器的 name 属性
value
String[]
该属性等价于 urlPatterns 属性。但是两者不应该同时使用。
urlPatterns
String[]
指定一组过滤器的 URL 匹配模式。
servletNames
String[]
指定过滤器将应用于哪些 Servlet。取值是 @WebServlet 中的 name 属性的值。
dispatcherTypes
DispatcherType
指定过滤器的转发模式。具体取值包括: ASYNC、ERROR、FORWARD、INCLUDE、REQUEST。
initParams
WebInitParam[]
指定一组过滤器初始化参数。
asyncSupported
boolean
声明过滤器是否支持异步操作模式。
description
String
该过滤器的描述信息。
displayName
String
该过滤器的显示名,通常配合工具使用。
@WebListener
该注解用于将类声明为监听器。
@WebListener 的常用属性:
属性名
类型
是否可选
描述
value
String
是
该监听器的描述信息。
被 @WebListener 标注的类必须实现以下至少一个接口:
- ServletContextListener
- ServletContextAttributeListener
- ServletRequestListener
- ServletRequestAttributeListener
- HttpSessionListener
- HttpSessionAttributeListener
@MultipartConfig将一个Servlet标识为支持文件上传。该注解标注在 Servlet 上面,以表示该 Servlet 希望处理的请求的MIME类型是multipart/form-data @MultipartConfig的属性都是可选的,如下表所示:
表 @MultipartConfig属性说明
属性
说明
fileSizeThreshold
设置阈值,达到阈值后开始把文件写到磁盘。默认值为 -1,表示没有限制。以字节为单位
location
设置文件的存储目录,指定的目录必须存在,否则会抛异常
maxFileSize
允许上传文件的最大值,Byte为单位。默认值为 -1,表示没有限制
maxRequestSize
multipart/form-data请求允许的最大值。默认值为 -1,表示没有限制