JavaWeb—过滤器

过滤器

1.Java过滤器概述

2.案例实现

  • 中文编码字符预处理
  • 实现系统用户登陆安全控制

 

1.过滤器的作用

实现对Web资源请求的拦截,在请求完成之前先完成特殊操作,尤其是对请求的预处理操作。

Web资源包括:JSP、Servlet、图片、文件

注意:过滤器不仅会对请求进行预处理,还会对响应进行后处理

过滤器应用的场景

Web资源权限访问控制

请求字符基编码处理

内容敏感字符处理

响应信息压缩

 

2.过滤器常见概念

工作流程

生命周期特点

开发步骤

过滤器链

2-1.工作流程

JavaWeb—过滤器_第1张图片

2-2.生命周期特点

  • Web应用程序启动时,Web服务器创建Filter的实例对象,以及对象的初始化。
  • 当请求访问与过滤器有关的Web资源时,过滤器会拦截请求,完成指定功能。
  • Filter对象创建后会留在内存中,直到Web应用移除或者服务器停止才销毁。
  • 过滤器的创建和销毁是由Web服务器负责。

2-3.开发步骤

  • 编写Java类并实现Filter接口,实现doFilter方法(请求预处理和响应后处理都在该方法中)
  • 在web.xml中对filet类进行注册,并设置所拦截的资源

2-4.过滤器链

  • 在一个Web应用中,多个过滤器组合起来称为一个过滤器链
  • 过滤器的调用顺序取决于过滤器在web.xml中的注册顺序
  • 注册顺序是过滤器的预处理顺序,后处理顺序就注册逆序

案例:

实现用户登陆,发布标题和内容

需求:通过过滤器来实现编码和访问处理

代码打包:链接: https://pan.baidu.com/s/1VXVG1czvQKSE4txov-yz5A 提取码: uv8v 

--------------------------------------------------------------------------------------------------

总结和遭遇问题:

1.在过滤器类的doFilter方法中抒写完拦截代码后,一定要写chain.doFilter(request,response);

2.可以在Web.xml中配置工程首页,index.jsp。之后直接访问http://localhost:8080/+项目名称即可访问。

3.可以通过在Web.xml中配置过滤器的初始化参数,从而不需要在Java类中修改参数。,在doFilter方法中通过config.getInitParameter("参数名")的方式获取。

你可能感兴趣的:(JavaWeb,Project)