@WebServlet
@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 | 指定过滤器的转发模式。具体取值包括: |
| initParams | WebInitParam[] | 指定一组过滤器初始化参数。 |
| asyncSupported | boolean | 声明过滤器是否支持异步操作模式。 |
| description | String | 该过滤器的描述信息。 |
| displayName | String | 该过滤器的显示名,通常配合工具使用。 |
@WebListener
该注解用于将类声明为监听器。
@WebListener 的常用属性:
| 属性名 | 类型 | 是否可选 | 描述 |
| value | String | 是 | 该监听器的描述信息。 |
被 @WebListener 标注的类必须实现以下至少一个接口:
- ServletContextListener
- ServletContextAttributeListener
- ServletRequestListener
- ServletRequestAttributeListener
- HttpSessionListener
- HttpSessionAttributeListener
@MultipartConfig
@MultipartConfig将一个Servlet标识为支持文件上传。该注解标注在 Servlet 上面,以表示该 Servlet 希望处理的请求的MIME类型是multipart/form-data @MultipartConfig的属性都是可选的,如下表所示:
表 @MultipartConfig属性说明
| 属性 | 说明 |
| fileSizeThreshold | 设置阈值,达到阈值后开始把文件写到磁盘。默认值为 -1,表示没有限制。以字节为单位 |
| location | 设置文件的存储目录,指定的目录必须存在,否则会抛异常 |
| maxFileSize | 允许上传文件的最大值,Byte为单位。默认值为 -1,表示没有限制 |
| maxRequestSize | multipart/form-data请求允许的最大值。默认值为 -1,表示没有限制 |
