导图社区 JavaWeb过滤器
JavaWeb--过滤器基本理论概念与简单使用
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
过滤器
1.为什么需要过滤器?
request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); 这是在Servlet里面设置字符编码的代码,但是通常情况下Servlet不止一个,所以我们需要在每一个Servlet中都写上上面的代码,这样的话,不仅麻烦,而且容易搞混淆。 所以我们对于这类多个Servlet中会执行相同的代码的时候,我们通常可以使用过滤器来帮我们完成操作:
子主题
2.过滤器的概念
java过滤器能够对目标资源的请求和响应进行截取
过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应。
3.过滤器使用步骤
(1)建立实现Filter接口的类(javax.servlet.Filter)
(2)实现过滤行为-doFilter()
(3)在web.xml中配置过滤器
<!-- 过滤器 --> <filter> <filter-name>过滤器名</filter-name><!-- 过滤器名称 --> <filter-class>过滤器的完全限定名</filter-class><!-- 过滤器类的包路径 --> <!-- <init-param> //可选 <param-name>参数名</param-name>//过滤器初始化参数 <param-value>参数值</param-value> </init-pamm> --> </filter> <filter-mapping><!-- 过滤器映射 --> <filter-name>过滤器名</filter-name> <url-pattern>指定过滤器作用的对象(过滤器映射的web资源)</url-pattern> </filter-mapping> 指定过滤器作用的对象: 完全匹配:/index.jsp 目录匹配:/admin/* 扩展名匹配:*.do 全部匹配:/*
4.过滤器具体使用
(1)新建包名为cn.lbh.web.filter的包
(2)在该包下新建一个类并实现Filter接口,重写其中的方法
<!-- 过滤器 --> <filter> <filter-name>CharEncodingFilter</filter-name><!-- 过滤器名称 --> <filter-class>cn.sun.web.filter.CharEncodingFilter</filter-class><!-- 过滤器类的包路径 --> <!-- <init-param> //可选 <param-name>参数名</param-name>//过滤器初始化参数 <param-value>参数值</param-value> </init—pamm> --> </filter> <filter-mapping><!-- 过滤器映射 --> <filter-name>CharEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
5.过滤器的生命周期
1.实例化
2.初始化
3.过滤 doFilter()
4.销毁 destroy()
实际应用举例:编码处理、解决用户登录问题