Java Web之过滤器(Filter)

                                    Java之过滤器(Filter)

 

 1. Filter定义: 

         WEB开发人员通过Filter技术,对web服务器管理的所有的web资源:例如JSP、Servlet、静态图片或者静态html文件等进           行拦截,从而实现一些特殊的功能,例如实现URL级别的权限访问控制、过滤过敏词汇、压缩响应信息等。

           对于Web应用程序来说,过滤器是处于Web容器内的,对请求信息和响应信息进行过滤的一种组件。

 

2. Filter的作用:

             利用它可以把多个Servlet的相同逻辑抽象到一起来处理,Struts2框架就是对Servlet和Filter的封装)。

         

        过滤器是一种很重要的设计模式,不仅仅应用在Web开发中,其他一些开发领域也会使用过滤器模式,它可以

        在不侵入原代码的基础上为他们提供一些功能。

 

3. Filter的开发步骤:

   

(1)过滤器需要实现javax.servlet.Filter接口,该接口的doFilter()方法是业务代码的核心代码区。

//过滤器需要实现Filter接口
public class MyFilter implements Filter{
//过滤器的业务逻辑方法
Public void doFilter (ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
 //达到目标资源前的代码
………
//该方法的调用会将请求转发给下一个过滤器或目标资源
chain.doFilter (request, response);
//目标资源响应以后的代码
 …
}

public void init (FilterConfig filterConfig()) throws ServletException{
  //初始化的代码
} 
public void destroy (){

   }
}

  

(2)在web.xml中配置,Web容器才能将过滤器与目标资源进行关联。

<filter>
<filter-name>MyFilter</filter-name>         <!—Filter的名字-->
   <filter-class>
     Org.filter.MyFilter     <!—Filter的完整类名- - >
   </filter-class>
</filter>

 <filter-mapping>
         <filter-name>MyFilter</filter-name>     <!- - Filter的名字- - >
          <url-pattern>/*Servlet</url-pattern>    <!- - Filter的URL匹配方式- - >
  </filter-mapping>

 

经过以上的代码配置以后,凡是请求以“Servlet”结尾的URL资源的时候,该过滤器都会起到过滤作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值