实现java过滤器的方法

  介绍

小编给大家分享一下实现java过滤器的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

过滤器也称之为过滤器,它是Servlet技术中最激动人心的技术之一,网页开发人员通过过滤器技术,对WEB服务器管理的所有网络资源:例如Jsp、Servlet、静态图片文件或静态html文件等进行拦截,从而实现一些特殊的功能,例如实现URL级别的权限访问控制,过滤敏感词汇,压缩响应信息等一些高级功能。

<强>那么它是如何实现的呢?

编写一个过滤器的类实现过滤器接口

实现接口中尚未实现的方法(着重实现的doFilter方法)

在WEB . xml中进行配置(主要是配置要对哪些资源进行过滤)

<强>它的工作原理?

过滤器接口中有一个的doFilter方法,当我们编写好过滤器,并配置对哪个网络资源进行拦截后,WEB服务器每次在调用网络资源的服务方法之前,都会先调用一下过滤器的doFilter方法,因此,

<强>在该方法内编写代码可达到如下目的:
调用目标资源之前,让一段代码执行。
是否调用目标资源(即是否让用户访问网络资源)。
调用目标资源之后,让一段代码执行。
WEB服务器在调doFilter方用法时,会传递一个filterChain对象进来,filterChain对象是过滤器接口中最重要的一个对象,它也提供了一个
的doFilter方法,开发人员可以根据需求决定是否调用此方法,调用该方法,则WEB服务器就会调用网络资源的服务方法,即网络资源就会被访问,否则网络资源不会被访问。

<>强过滤器范例:

进口java.io.IOException;   进口javax.servlet.Filter;   进口javax.servlet.FilterChain;   进口javax.servlet.FilterConfig;   进口javax.servlet.ServletException;   与javax . servlet . servletrequest进口;   进口javax.servlet.ServletResponse;/* *   * @author yangcq   * @description过滤器过滤的工作原理   */公共类FilterTest实现滤波器{   公共空间摧毁(){   System.out.println(“- - - - -过滤器销毁——“);   }   doFilter (ServletRequest公共无效请求,ServletResponse响应,FilterChain FilterChain)抛出IOException, ServletException {//对请求,响应进行一些预处理   request.setCharacterEncoding (“UTF-8");   response.setCharacterEncoding (“UTF-8");   response.setContentType (“text/html; charset=UTF-8");   System.out.println(“——调用服务之前执行一段代码- - - - -“);   filterChain。doFilter(请求、响应);//执行目标资源,放行   System.out.println(“——调用服务之后执行一段代码- - - - -“);   }   公共空init (FilterConfig arg0)抛出ServletException {   System.out.println(“- - - - -过滤器初始化——“);   }   }

<>强在网络。xml中配置过滤器:

& lt; ?xml version=?.0”;编码=癠TF-8" ?比;=& lt; web版本“3.0”;   xmlns=癶ttp://java.sun.com/xml/ns/javaee"   xmlns: xsi=癶ttp://www.w3.org/2001/XMLSchema-instance"   xsi: schemaLocation=? http://java.sun.com/xml/ns/javaee   ,http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"的在   & lt; display-name> & lt;/display-name>   & lt; welcome-file-list>   & lt; welcome-file> index.jsp   & lt;/welcome-file-list>   & lt; !——配置过滤器——比;   & lt; filter>   & lt; filter-name> FilterTest   & lt; filter-class> com.yangcq.filter.FilterTest   & lt;/filter>   & lt; !——映射过滤器——比;   & lt; filter-mapping>   & lt; filter-name> FilterTest   & lt; !——“/*”表示拦截所有的请求——比;   & lt; url-pattern>/* & lt;/url-pattern>   & lt;/filter-mapping>   & lt;/web-app>

以上是实现java过滤器的方法的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

实现java过滤器的方法