目录
Filter(过滤器) 过滤器介绍 过滤器工作流程 过滤器生命周期 简单实现过滤器 FilterConfig 使用 关于过滤器配置 过滤器的应用顺序 Filter(过滤器) 过滤器介绍web过滤器:过滤器实现对web资源请求的拦截,完成特殊的功能 *** 作,尤其是对请求的预处理。
作用:一般用于完成通用的 *** 作。如:登录验证、统一编码处理、敏感字符过滤...
过滤器工作流程 过滤器生命周期init()
:在服务器启动后,会创建Filter实例对象,然后调用init()方法,进行初始化。只执行一次。用于加载资源 doFilter()
:拦截请求处理,完成指定功能,每一次请求被拦截资源时,都会执行。 destroy()
:Filter对象会驻留在内存中,在服务器关闭后会调用destroy()方法,Filter对象才被销毁。用于释放资源。 简单实现过滤器 编写java类实现Filter接口,实现doFilter()方法 配置web.xml文件,对filter类注册,并设置拦截请求 FilterDemo1.java
package filter;import javax.servlet.*;import javax.servlet.annotation.WebFilter;import java.io.IOException;public class FilterDemo1 implements Filter { public voID destroy() { } public voID doFilter(ServletRequest req,ServletResponse resp,FilterChain chain) throws servletexception,IOException { System.out.println("过滤器执行了...."); //请求传回过滤链 chain.doFilter(req,resp); } public voID init(FilterConfig config) throws servletexception { }}
web.xml配置
<filter> <filter-name>demo1</filter-name> <filter-class>filter.FilterDemo1</filter-class> </filter> <filter-mapPing> <filter-name>demo1</filter-name> <url-pattern>/*</url-pattern> //拦截路径 </filter-mapPing>FilterConfig 使用
Filter 的 init 方法中提供了一个 FilterConfig 对象。
如 web.xml 文件配置如下:
<filter> <filter-name>FilterDemo</filter-name> <filter-class>filter.FilterDemo</filter-class> <init-param> <param-name>initparam</param-name> <param-value>我是初始化参数</param-value> </init-param> </filter>
在 init 方法使用 FilterConfig 对象获取参数:
public voID init(FilterConfig config) throws servletexception { // 获取初始化参数 String initparam = config.getinitParameter("initparam"); // 输出初始化参数 System.out.println("初始化参数: " + initparam); }关于过滤器配置
关于过滤器配置方式有两种:一种是配置web.xml文件,另外一种就是注解的方式。
配置web.xml文件<filter> <filter-name>demo1</filter-name> //过滤器名 <filter-class>filter.FilterDemo1</filter-class> //类所在的包 </filter> <filter-mapPing> <filter-name>demo1</filter-name> <url-pattern>/*</url-pattern> // filter 所拦截的请求路径 <dispatcher>REQUEST</dispatcher> //指定过滤器所拦截的资源被 Servlet 容器调用的方式 </filter-mapPing>使用注解
@WebFilter("/*")
@WebFilter(value="/index.Jsp",dispatcherTypes = dispatcherType.REQUEST)
资源被访问的方式
①在web.xml中配置
②在注解中设置dispatcherTypes属性
访问方式:
REQUEST:默认值。浏览器直接请求资源 FORWARD:转发访问资源 INCLUDE:包含访问资源 ERROR:错误跳转资源 ASYNC:异步访问资源 过滤器的应用顺序当配置多个过滤器,形成过滤链时,过滤器的执行顺序为web.xml配置中
以上是内存溢出为你收集整理的Filter(过滤器)全部内容,希望文章能够帮你解决Filter(过滤器)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)