【Java Web开发学习】Servlet
转发:https://www.cnblogs.com/yangchongxing/p/9274739.html
1、过滤器 Filter
继承javax.servlet.Filter接口就能自定义一个过滤器
web.xml配置,执行顺序是按照web.xml定义的先后顺序执行
<filter> <filter-name>UserFilter</filter-name> <filter-class>cn.ycx.web.filter.UserFilter</filter-class> </filter> <filter-mapping> <filter-name>UserFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>LogFilter</filter-name> <filter-class>cn.ycx.web.filter.LogFilter</filter-class> </filter> <filter-mapping> <filter-name>LogFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
servlet3.0之后新增了 @WebFilter 注解
@WebFilter 的属性
属性 | 类型 | 描述 |
filterName | String | 指定过滤器的 name 属性,等价于 <filter-name> |
value | String[] | 该属性等价于 urlPatterns 属性。但是两者不应该同时使用。 |
urlPatterns | String[] | 指定一组过滤器的 URL 匹配模式。等价于 <url-pattern> 标签。 |
servletNames | String[] | 指定过滤器将应用于哪些 Servlet。取值是 @WebServlet 中的 name 属性的取值,或者是 web.xml 中 <servlet-name> 的取值。 |
dispatcherTypes | DispatcherType | 指定过滤器的转发模式。具体取值包括: ASYNC、ERROR、FORWARD、INCLUDE、REQUEST。 |
initParams | WebInitParam[] | 指定一组过滤器初始化参数,等价于 <init-param> 标签。 |
asyncSupported | boolean | 声明过滤器是否支持异步操作模式,等价于 <async-supported> 标签。 |
description | String | 该过滤器的描述信息,等价于 <description> 标签。 |
displayName | String | 该过滤器的显示名,通常配合工具使用,等价于 <display-name> 标签。 |
largeIcon | String | 大图标 |
smallIcon | String | 小图标 |