Servlet过滤器

Servlet过滤器就是可以通过配置,对需要进行特殊处理的请求进行过滤操作,类似于水龙头上的滤网,开发中可以用于编码过滤、请求头配置等等.从字面上的字意理解为经过一层次的过滤处理才达到使用的要求,而其实Servlet过滤器就是服务器与客户端请求与响应的中间层组件,在实际项目开发中Servlet过滤器主要用于对浏览器的请求进行过滤处理,将过滤后的请求再转给下一个资源。
过滤器是以一种组件的形式绑定到WEB应用程序当中的,与其他的WEB应用程序组件不同的是,过滤器是采用了“链”的方式进行处理。

在这里插入图片描述

要编写一个过滤器必须实现Filter接口。实现其接口规定的方法。

1 实现javax.servlet.Filter接口

2 实现init方法,读取过滤器的初始化参数

3 实现doFilter方法,完成对请求或响应的过滤

4 调用FilterChain接口对象的doFilter方法,向后续的过滤器传递请求或响应

例子: 页面访问权限控制过滤器

@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
  //获取用户的登录标识
  HttpServletRequest request = (HttpServletRequest)servletRequest;
  HttpServletResponse response = (HttpServletResponse)servletResponse;
  HttpSession session = request.getSession();
  Object object = session.getAttribute("user");
  //判断用户登陆状态为空则是未登录
  if(object == null){
    response.sendRedirect("/login.jsp"); //跳转到登陆页面
  } else{
   //否则就放行
    filterChain.doFilter(servletRequest,servletResponse);
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值