Filter

xiaoxiao2021-02-27  217

Filter

filter翻译为过滤器。在web项目中,经常需要在正式处理请求前,做一些特殊的处理或常用的例程,于是就发明了这个filter。

作用:

1.过滤非法文字和信息。

2.设置统一字符编码。

3.对用户进行登录验证 。

4.改变图片文件格式。

5.对相应内容做压缩处理。

6.对XML的输出使用XSLT来进行转换。

第一步:通过在web.xml中的元素和元素来配置filter,以决定用户请求的URL应被哪些filter类来处理一次

web.xml中配置: <配置> <servlet>     <servlet-name>Filter</servlet-name> <!--这里是路径-->     <servlet-class>com.yy.servlet.web.servlet.Filter</servlet-class>   </servlet> <filter>   <init-param>   <param-name>encode</param-name>   <param-value>UTF-8</param-value>   </init-param>   <init-param>          <param-name>param1</param-name>          <param-value>value在这里</param-value>      </init-param>    </filter>   <filter-mapping>   <filter-name>SetCharacterEncodingFilter</filter-name>   <url-pattern>/*</url-pattern>   <dispatcher>REQUEST</dispatcher> <!-- 没有配置dispatcher就是默认request方式的 -->      <dispatcher>FORWARD</dispatcher>      <dispatcher>ERROR</dispatcher>      <dispatcher>INCLUDE</dispatcher>    </filter-mapping> 步骤二:编写filter的Servlet类。  1.我们的filter类需要实现父接口javax.servlet.Filter。 2.实现父接口的各个方法。包括init(),doFilter(),destroy(),这3个方法。  1)init()方法和destroy()方法分别用来初始化和销毁时调用。 2)init()方法在 Filter 生命周期中仅执行一次。服务器启动时就会执行。 3)destory()方法在Filter的生命周期中仅执行一次,即Web容器卸载Filter对象之前调用它。主要做释放资源的操作。 3.对doFilter(req,resp,chain)方法操作。 4.chain.doFilter(request,response)。
转载请注明原文地址: https://www.6miu.com/read-13505.html

最新回复(0)