使用 Filter 的完整流程是:Filter对用户请求进行预处理,
接着将请求交给Servlet进行处理并生成响应,
最后Filter再对服务器响应进行最后处理。
Filter 的用处:
Filter 的种类:
创建 Filter 的步骤:
1、创建Filter处理类:Filter必须实现javax.servlet.Filter接口,接口中有如下三个方法。
△void init(FilterConfig config):用于完成Filter的初始化
△void destroy():用于Filter销毁前,完成某些资源的回收。
△void doFilter(ServletRequest request,ServletResponse response,FilterChain chain):实现过滤功能,该方法就是对每个请求及响应增加的额外处理。
2、web.xml文件中配置Filter:(与Servlet相似)
配置Filter的两个部分:
△配置Filter名:
△配置Filter拦截URL模式:Filter可以同时拦截多个请求的URL,使用模式字符串
配置Filter有两种方式:
△在Filter类中通过Annotation进行配置。
@webFilter(fiterName="log"
,urlPatterns={"/*"})
△在web.xml文件中通过配置文件进行配置。
<filter>
<filter-name>log</filter-name>
<!--Filter的实现类-->
<filter-class>lee.LogFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>log</filter-mapping>
<!--Filter负责拦截的URL-->
<url-pattern>/*</url-pattern>
接着将请求交给Servlet进行处理并生成响应,
最后Filter再对服务器响应进行最后处理。
Filter 的用处:
Filter 的种类:
创建 Filter 的步骤:
1、创建Filter处理类:Filter必须实现javax.servlet.Filter接口,接口中有如下三个方法。
△void init(FilterConfig config):用于完成Filter的初始化
△void destroy():用于Filter销毁前,完成某些资源的回收。
△void doFilter(ServletRequest request,ServletResponse response,FilterChain chain):实现过滤功能,该方法就是对每个请求及响应增加的额外处理。
2、web.xml文件中配置Filter:(与Servlet相似)
配置Filter的两个部分:
△配置Filter名:
△配置Filter拦截URL模式:Filter可以同时拦截多个请求的URL,使用模式字符串
配置Filter有两种方式:
△在Filter类中通过Annotation进行配置。
@webFilter(fiterName="log"
,urlPatterns={"/*"})
△在web.xml文件中通过配置文件进行配置。
<filter>
<filter-name>log</filter-name>
<!--Filter的实现类-->
<filter-class>lee.LogFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>log</filter-mapping>
<!--Filter负责拦截的URL-->
<url-pattern>/*</url-pattern>
</filter-mapping>