java 怎么添加webjava web中的过滤器器

java&web&过滤器
ServletFilter,Servlet过滤器:&
Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术可以对web服务器管理的所有web资源:Jsp,
Servlet, 静态图片文件或静态 html
文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。&
ServletAPI提供了一个Filter接口,实现这个接口的Servlet就是一个过虑器。过虑器在WEB应用访问流程中如下:&
由图可见,只要我们编写了过滤器,可以对一切访问WEB应用的连接进行过滤。比如,用户访问权限、统一WEB编码…&
Filter是如何实现拦截的?&
实现了Filter接口的Servlet是过滤器,因为Filter接口有一个doFilter(ServletRequest
request, ServletResponse response, FilterChain
chain)方法,只要用户访问我们在web.xml中配置的映射目录,服务器便会调用过滤器的doFilter方法。我们在这里实现过虑功能代码,当我们调用chain.doFilter(request,
response);方法时,将请求反给服务器服务器再去调用相当的Servlet。如果我们不调用此方法,说明拒绝了用户的请求。&
Filter开发入门:&
在WEB应用中添加一个过滤器,有两步工作需要完成:&
1.编写实现了Filter接口的Servlet——过滤器。&
2.在web.xml中配置过滤器:&
(1). 标签添加器&
注册过滤器的映射目录(过滤目录),与注册Servlet一样。&
在实际WEB应用中,我们可能需要编写多个过虑器,比如:1.统一WEB编码的过滤器(过虑所有访问)2.用户访问权限管理。这样,用户的访问需要选经过过滤器1过滤然后再经过过滤器2过滤。doFilter中有一个FilterChain参数,这个参数是服务器根据web.xml中配置的过滤器,按照先后顺序生成的过滤器链。当我们在doFilter方法中调用chain.doFilter(request,
response);方法时,服务器会查找过滤链中是否还有过滤器,如果有继续调用下一个过滤器,如果没有将调用相应的Servlet处理用户请求。&
Filter接口的其他细节:&
1.Filter的Init(FilterConfig
filterConfig)方法:&
与Servlet的Init方法一样,在创建时被调用,之后被保存在内存中直至服务器重启或关闭时Filter实例才会被销毁。与Servlet不同之处在于,服务器启动时就会实例化所有Filter,而Servlet中有当用户第一次访问它时才会被实例化。我们通过在web.xml使用对Filter配置的初始化参数,可以通过FilterConfig来获得。&
FilterConfig的方法有:&
getFilterName():得到filter的名称。&
String getInitParameter(String name):
返回在部署描述中指定名称的初始化参数的值。如果不存在返回null.&
Enumeration
getInitParameterNames():返回过滤器的所有初始化参数的名字的枚举集合。&
public ServletContext
getServletContext():返回Servlet上下文对象的引用。&
2.Filter的destroy()方法:&
当服务器重启或关闭时,在销毁Filter之前调用此方法。&
编写配置Filter练习程序:&
1. 编写一个用于统一WEB字符编码的Filter:&
复制代码代码如下:
package cn.itcast.cc.&
import java.io.IOE&
import javax.servlet.F&
import javax.servlet.FilterC&
import javax.servlet.FilterC&
import javax.servlet.ServletE&
import javax.servlet.ServletR&
import javax.servlet.ServletR&
javax.servlet.http.HttpServletR&
javax.servlet.http.HttpServletR&
public class Encoding implements Filter
public void destroy() {&
// TODO Auto-generated method stub&
public void doFilter(ServletRequest arg0, ServletResponse
FilterChain arg2) throws IOException, ServletException
//参数转换,因为我们已经它肯定是Http协议的请求。&
HttpServletRequest request =
(HttpServletRequest)arg0;&
HttpServletResponse response =
(HttpServletResponse)arg1;&
//设置request和response使用的编码均为UTF-8。&
request.setCharacterEncoding("UTF-8");&
response.setCharacterEncoding("UTF-8");&
response.setContentType("text/charset=UTF-8");&
//设置完成后,交回给服务器。&
arg2.doFilter(arg0, arg1);&
public void init(FilterConfig arg0) throws ServletException
// TODO Auto-generated method stub&
2. 配置web.xml文件,添加下面部分:&
复制代码代码如下:
cn.itcast.cc.filter.Encoding&
3. 上面是Filter的简单使用方式,后面会讲到高级应用。&
Filter高级开发:&
//参数转换,因为我们已经它肯定是Http协议的请求。&
HttpServletRequest request =
(HttpServletRequest)arg0;&
HttpServletResponse response =
(HttpServletResponse)arg1;&
上面的两片段代码,是因为我们已经知道了request和response是服务器给我们封装好了的两个Http请求对象。我们对它进行了功能上的扩充。如果我们不知道request和response是谁创建的具体内容是什么,我们应该如何对它们的功能进行扩充?我们有两种方式可以扩充:&
1. 编写一个子类,覆盖需要覆盖的方法。&
2. 使用Decorator设计模式,来扩充我们想要的功能。&
Decorator设计模式:&
我们有时无法使用方法1,因为我们不知道一个对象的具休类,比如它是一个接口对象,实现类是谁?。所以我们最好使用方法2,之前我们有接触过工厂设计模式和单例设计模式,Java真是高级应用的完美体现。什么是Decorator设计模式?中文名称是“装饰”模式,下面我们使用此模式为request做一下功能上的扩充:&
1.我们实现继承request接口类型ServletRequest。哦天哪,ServletRequest有太多的方法,难道我们要实现每一个方法?Servlet设计者们想到了这一点,并给我们提供了一个包装类——HttpServletRequestWrapper。我们就使用它做为父类吧!&
2.在我们自定义类内部添加一个HttpServletRequest类型成员,因为我们就要装饰它。&
3.编写我样想覆盖的方法,也就是我们想提供特殊功能的方法。&
举例,上边我们编写的统一WEB编码的filter是存在问题的,如果我们提交一个表单,表单的提交方式为GET,那么我们设置request的编码是不起作用的。所以在这里我们就使用Decorator设计模式来完善统一编码的功能:&
编写自定义类MyServletRequest.java类:&
复制代码代码如下:
class MyServletRequest extends HttpServletRequestWrapper
// 我们要装饰的对象&
HttpServletR&
public MyServletRequest(HttpServletRequest request)
super(request);&
this.myrequest =&
// 我们要增强的功能方法&
@Override&
public String getParameter(String name)
// 使用被装饰的成员,获取数据&
String value =
this.myrequest.getParameter(name);&
if (value == null)&
// 将数据转码后返回&
value = new String(value.getBytes("ISO8859-1"),
"UTF-8");&
} catch (UnsupportedEncodingException e)
e.printStackTrace();&
我们修改Encoding.java过滤器的代码如下:&
复制代码代码如下:
public class Encoding implements Filter
public void destroy() {&
// TODO Auto-generated method stub&
public void doFilter(ServletRequest arg0, ServletResponse
FilterChain arg2) throws IOException, ServletException
arg2.doFilter(new MyServletRequest((HttpServletRequest)request),
public void init(FilterConfig arg0) throws ServletException
// TODO Auto-generated method stub&
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。7195人阅读
--------【 JAVA 积 累 】(35)
& & & &在做DRP的过程中用到了filter。前几天昌哥和欢姐在小会议室向我们介绍了AOP的思想,用到filter时觉得它们两者特别相似。
& & & &如下图:& &
& & & &javaweb开发中,request和response是两个必不可少的对象,他们是在接收到每一次客户端请求后,由web服务器产生的。filter可以在request到达servlet之前和response即离开servlet时分别对它们进行处理。
& & & &filter常常用于网站过滤敏感词汇、设置字符集、日志等比较“公共性”的事件处理中。
& & & &在我们正常的编程中,每一条线,都是从上到下依次调用,而filter是在每一个完整的调用中横着“切了一刀”。通过配置,它可以对任意代码路径进行过滤。
& & & &这里以转码/设置字符集为例,简单了解一下如何使用filter。
& & & &建立Filter
& & & &CharsetEncodingFilter.java
package com.drp.
import java.io.IOE
import javax.servlet.F
import javax.servlet.FilterC
import javax.servlet.FilterC
import javax.servlet.ServletE
import javax.servlet.ServletR
import javax.servlet.ServletR
/**采用filter统一处理filter
* @author Danny
public class CharsetEncodingFilter implements Filter {
public void destroy() {}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println(&CharsetEncodingFilter----&&&&Filter开始&);
request.setCharacterEncoding(&utf-8&);
//设置字符集
chain.doFilter(request, response);
//继续执行
System.out.println(&CharsetEncodingFilter----&&&&Filter结束&);
public void init(FilterConfig config) throws ServletException {}
&& & & 此过滤器CharsetEncodingFilter实现了javax.servlet.Filter接口(任何filter过滤器也必须实现这个接口);在服务器创建此filter并进行初始化执行init方法时,读取配置文件并存入FilterConfigure的对象中;实现doFilter方法,在请求到达jsp之前将字符集编码设置为utf-8,chain.doFiler()方法的作用是在对request对象进行处理之后,跳转到被拦截的servlet继续执行,执行完之后还要回到此处,chain.doFilter()下面还可以对response对象进行处理。
& & & &配置filter
& & & &web.xml
&?xml version=&1.0& encoding=&UTF-8&?&
&web-app version=&3.0&
xmlns=&/xml/ns/javaee&
xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
xsi:schemaLocation=&/xml/ns/javaee
/xml/ns/javaee/web-app_3_0.xsd&&
&filter-name&CharsetEncodingFilter&/filter-name&
&filter-class&com.drp.filter.CharsetEncodingFilter&/filter-class&
&filter-mapping&&!-- 此filter对所有的jsp页面都有过滤效果 --&
&filter-name&CharsetEncodingFilter&/filter-name&
&url-pattern&*.jsp&/url-pattern&
&/filter-mapping&
&/web-app&
& & & &此处配置所起的作用是,此filter对所有的jsp页面都有设置字符集的效果,当每次访问jsp页面时,都会执行filter中的doFilter()方法,因此每次访问jsp页面前后,都可以在Console中看到doFilter方法输出的 “&CharsetEncodingFilter----&&&&Begin ” 和 “CharsetEncodingFilter----&&&&End ”。
& & & &除此之外还有其他几种对filter作用域配置的方式:
& & & &对所有的对象都有过滤效果&
&filter-mapping&
&filter-name&CharsetEncodingFilter&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&& & & & 对sysmgr下的所有对象都有过滤效果,无论是servlet还是jsp
&filter-mapping&
&filter-name&CharsetEncodingFilter&/filter-name&
&url-pattern&/sysmgr/*&/url-pattern&
&/filter-mapping&
& & & & &只对指定的servlet具有过滤效果
&filter-mapping&
&filter-name&CharsetEncodingFilter&/filter-name&
&url-pattern&/servlet/LoginServlet&/url-pattern&
&/filter-mapping&
& & & 至此,无论访问哪个jsp页面,都会事先设置其字符集,不用分别对每个页面都进行设置了。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:418697次
积分:9516
积分:9516
排名:第1986名
原创:166篇
评论:4112条
文章:14篇
阅读:24254
文章:11篇
阅读:16456
阅读:22980
(1)(1)(2)(4)(1)(1)(1)(4)(4)(4)(6)(7)(7)(4)(6)(7)(3)(4)(5)(7)(1)(3)(4)(4)(4)(4)(4)(4)(4)(4)(4)(3)(3)(4)(4)(4)(3)(1)(3)(1)(1)(3)(4)(2)(3)(3)(6)(4)(4)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。
Servlet API中提供了一个Filter接口,开发web应用时,如果编写的Java类实现了这个接口,则把这个java类称之为过滤器Filter。通过Filter技术,开发人员可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截,如下所示:
Filter是如何实现拦截的?
  Filter接口中有一个doFilter方法,当我们编写好Filter,并配置对哪个web资源进行拦截后,WEB服务器每次在调用web资源的service方法之前,都会先调用一下filter的doFilter方法,因此,在该方法内编写代码可达到如下目的:
调用目标资源之前,让一段代码执行。是否调用目标资源(即是否让用户访问web资源)。调用目标资源之后,让一段代码执行。
  web服务器在调用doFilter方法时,会传递一个filterChain对象进来,filterChain对象是filter接口中最重要的一个对 象,它也提供了一个doFilter方法,开发人员可以根据需求决定是否调用此方法,调用该方法,则web服务器就会调用web资源的service方 法,即web资源就会被访问,否则web资源不会被访问。
Filter开发分为二个步骤:
编写java类实现Filter接口,并实现其doFilter方法。在 web.xml 文件中使用&filter&和&filter-mapping&元素对编写的filter类进行注册,并设置它所能拦截的资源。
过滤器例子
package com.jspFilter.filer_
import java.io.IOE
import javax.servlet.F
import javax.servlet.FilterC
import javax.servlet.FilterC
import javax.servlet.ServletE
import javax.servlet.ServletR
import javax.servlet.ServletR
import javax.servlet.http.HttpS
import com.jspJavaBean.userB
public class filterLogin implements Filter {
private HttpS
public void destroy() {
// destroy()方法销毁过滤器
System.out.println(&----过滤器销毁----&);
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// 调用目标资源之前,让一段代码执行。
// 是否调用目标资源(即是否让用户访问web资源)。
// 调用目标资源之后,让一段代码执行。
request.setCharacterEncoding(&UTF-8&);
response.setCharacterEncoding(&UTF-8&);
System.out.println(&filterLogin&);
String name = &admin&;
userBean frist_user = (userBean) request.getAttribute(&frist_user&);
String userName =
//判断用户名是否是admin 是就通过,不是就不通过
if(frist_user!=null&&!frist_user.equals(&&)){
userName = frist_user.getUserName();
destroy();
if(!name.equals(userName)){
System.out.println(&filterLogin is ok&);
chain.doFilter(request, response); &//让目标资源执行,放行
System.out.println(userName);
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
System.out.println(&----过滤器初始化----&);
配置web.xml文件
&?xml version=&1.0& encoding=&UTF-8&?&
&web-app version=&2.5& xmlns=&/xml/ns/javaee&
xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
xsi:schemaLocation=&/xml/ns/javaee&
/xml/ns/javaee/web-app_2_5.xsd&&
&display-name&&/display-name&
&welcome-file-list&
&welcome-file&index.jsp&/welcome-file&
&/welcome-file-list&
&!-- 配置过滤器 --&
&filter-name&filterLogin&/filter-name&
&filter-class&com.jspFilter.filer_login.filterLogin&/filter-class&
&init-param&
& & & & & & & &description&filterLogin过滤器的初始化参数&/description&
& & & & & & & &param-name&name&/param-name&
& & & & & & & &param-value&cheng&/param-value&
& & & & & &/init-param&
&!-- 映射过滤器 --&
&filter-mapping&
&filter-name&filterLogin&/filter-name&
&!-- 对所有的请求都进行过滤/* --&
&url-pattern&/three_login.jsp&/url-pattern&
&/filter-mapping&
&/web-app&
在一个web应用中,可以开发编写多个Filter,这些Filter组合起来称之为一个Filter链。
  web服务器根据Filter在web.xml文件中的注册顺序,决定先调用哪个Filter,当第一个Filter的doFilter方法被调用时,web服务器会创建一个代表Filter链的FilterChain对象传递给该方法。在doFilter方法中,开发人员如果调用了FilterChain对象的doFilter方法,则web服务器会检查FilterChain对象中是否还有filter,如果有,则调用第2个filter,如果没有,则调用目标资源。
四、Filter的生命周期
4.1、Filter的创建
  Filter的创建和销毁由WEB服务器负责。 web 应用程序启动时,web 服务器将创建Filter
的实例对象,并调用其init方法,完成对象的初始化功能,从而为后续的用户请求作好拦截的准备工作,filter对象只会创建一次,init方法也只会执行一次。通过init方法的参数,可获得代表当前filter配置信息的FilterConfig对象。
4.2、Filter的销毁
  Web容器调用destroy方法销毁Filter。destroy方法在Filter的生命周期中仅执行一次。在destroy方法中,可以释放过滤器使用的资源。
4.3、FilterConfig接口
  用户在配置filter时,可以使用&init-param&为filter配置一些初始化参数,当web容器实例化Filter对象,调用其init方法时,会把封装了filter初始化参数的filterConfig对象传递进来。因此开发人员在编写filter时,通过filterConfig对象的方法,就可获得:
  String getFilterName():得到filter的名称。
  String getInitParameter(String name): 返回在部署描述中指定名称的初始化参数的值。如果不存在返回null.
  Enumeration getInitParameterNames():返回过滤器的所有初始化参数的名字的枚举集合。
  public ServletContext getServletContext():返回Servlet上下文对象的引用。
package com.jspFilter.filer_
import java.io.IOE
import java.util.E
import javax.servlet.F
import javax.servlet.FilterC
import javax.servlet.FilterC
import javax.servlet.ServletE
import javax.servlet.ServletR
import javax.servlet.ServletR
import javax.servlet.http.HttpS
import com.jspJavaBean.userB
public class filterLogin_second implements Filter {
private HttpS
public void destroy() {
// destroy()方法销毁过滤器
System.out.println(&----第二个过滤器初始化----&);
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// 调用目标资源之前,让一段代码执行。
// 是否调用目标资源(即是否让用户访问web资源)。
// 调用目标资源之后,让一段代码执行。
request.setCharacterEncoding(&UTF-8&);
response.setCharacterEncoding(&UTF-8&);
System.out.println(&filterLogin&);
String name = &admin&;
userBean frist_user = (userBean) request.getAttribute(&frist_user&);
String userName =
if (frist_user != null && !frist_user.equals(&&)) {
userName = frist_user.getUserName();
destroy();
if (!name.equals(userName)) {
System.out.println(&filterLogin is ok&);
chain.doFilter(request, response); // 让目标资源执行,放行
System.out.println(userName);
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
System.out.println(&----第二个过滤器初始化----&);
// 得到过滤器的名字
String filterName = filterConfig.getFilterName();
// 得到在web.xml文件中配置的初始化参数
String initParam1 = filterConfig.getInitParameter(&name&);
String initParam2 = filterConfig.getInitParameter(&like&);
// 返回过滤器的所有初始化参数的名字的枚举集合。
Enumeration&String& initParameterNames = filterConfig
.getInitParameterNames();
System.out.println(filterName);
System.out.println(initParam1);
System.out.println(initParam2);
while (initParameterNames.hasMoreElements()) {
String paramName = (String) initParameterNames.nextElement();
System.out.println(paramName);
&?xml version=&1.0& encoding=&UTF-8&?&
&web-app version=&2.5& xmlns=&/xml/ns/javaee&
xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
xsi:schemaLocation=&/xml/ns/javaee&
/xml/ns/javaee/web-app_2_5.xsd&&
&display-name&&/display-name&
&welcome-file-list&
&welcome-file&index.jsp&/welcome-file&
&/welcome-file-list&
&!-- 配置过滤器 --&
&filter-name&filterLogin&/filter-name&
&filter-class&com.jspFilter.filer_login.filterLogin&/filter-class&
&init-param&
&description&filterLogin过滤器的初始化参数&/description&
&param-name&name&/param-name&
&param-value&cheng&/param-value&
&/init-param&
&description&filterLogin_second过滤器&/description&
&filter-name&filterLogin_second&/filter-name&
&filter-class&com.jspFilter.filer_login.filterLogin_second&/filter-class&
&!--配置FilterDemo02过滤器的初始化参数 --&
&init-param&
&description&filterLogin_second过滤器的初始化参数&/description&
&param-name&name&/param-name&
&param-value&gacl&/param-value&
&/init-param&
&init-param&
&description&filterLogin_second过滤器的初始化参数&/description&
&param-name&like&/param-name&
&param-value&java&/param-value&
&/init-param&
&!-- 映射过滤器 --&
&filter-mapping&
&filter-name&filterLogin&/filter-name&
&!-- 对所有的请求都进行过滤/* --&
&url-pattern&/three_login.jsp&/url-pattern&
&/filter-mapping&
&filter-mapping&
&filter-name&filterLogin_second&/filter-name&
&!-- 对所有的请求都进行过滤/* --&
&url-pattern&/three_login.jsp&/url-pattern&
&/filter-mapping&
&/web-app&
 Filter的部署分为两个步骤:
  1、注册Filter
&description&用于添加描述信息,该元素的内容可为空,&description&可以不配置。
  &filter-name&用于为过滤器指定一个名字,该元素的内容不能为空。
  &filter-class&元素用于指定过滤器的完整的限定类名。
  &init-param&元素用于为过滤器指定初始化参数,它的子元素&param-name&指定参数的名字,&param-value&指定参数的值。在过滤器中,可以使用FilterConfig接口对象来访问初始化参数。如果过滤器不需要指定初始化参数,那么&init-param&元素可以不配置。
  2、映射Filter
&filter-mapping&元素用于设置一个 Filter 所负责拦截的资源。一个Filter拦截的资源可通过两种方式来指定:Servlet 名称和资源访问的请求路径
  &filter-name&子元素用于设置filter的注册名称。该值必须是在&filter&元素中声明过的过滤器的名字
  &url-pattern&设置 filter 所拦截的请求路径(过滤器关联的URL样式)
  &servlet-name&指定过滤器所拦截的Servlet名称。
  &dispatcher&指定过滤器所拦截的资源被 Servlet 容器调用的方式,可以是REQUEST,INCLUDE,FORWARD和ERROR之一,默认REQUEST。用户可以设置多个&dispatcher& 子元素用来指定 Filter 对资源的多种调用方式进行拦截。如下:
1 &filter-mapping&
&filter-name&testFilter&/filter-name&
&url-pattern&/index.jsp&/url-pattern&
&dispatcher&REQUEST&/dispatcher&
&dispatcher&FORWARD&/dispatcher&
6 &/filter-mapping&
  &dispatcher& 子元素可以设置的值及其意义:
REQUEST:当用户直接访问页面时,Web容器将会调用过滤器。如果目标资源是通过RequestDispatcher的include()或forward()方法访问时,那么该过滤器就不会被调用。INCLUDE:如果目标资源是通过RequestDispatcher的include()方法访问时,那么该过滤器将被调用。除此之外,该过滤器不会被调用。FORWARD:如果目标资源是通过RequestDispatcher的forward()方法访问时,那么该过滤器将被调用,除此之外,该过滤器不会被调用。ERROR:如果目标资源是通过声明式异常处理机制调用时,那么该过滤器将被调用。除此之外,过滤器不会被调用。
本文已收录于以下专栏:
相关文章推荐
核心功能:对于用户的访问进行校验,看用户是否已经登陆
1.登陆界面代码如下:
Insert title here
Servlet/LoginServlet& method=&pos...
在整个概念中,个人觉得有一篇文章写得不错,通俗易懂,这里就直接套用以上原博文,
一、概念:
      Filter也称之为过滤器,它是Servlet技术中比较激动人心的技术,W...
一、概念:
      Filter也称之为过滤器,它是Servlet技术中比较激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet,...
目的是让浏览网站的用户所接收到的信息的编码方式统一为UTF-8,防止乱码的产生
1.没加过滤器之前:
拿Jsp工程(名叫web)中的两个Servlet做实验
ChineseServlet.jav...
一、Servlet过滤器的概念:
***********************************************************************************...
过滤器就是在源数据和目的数据之间起过滤作用的中间件。
         Web应用中,在处理请求时,经常有一些公共的工作,比如设置字符集。这样的工作需要写在每个页面,这样的写法费力且不好修改。使...
一、Filter简介
  Filter也称之为过滤器,它是Servlet技术中最激动人心的技术之一,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp,
Filter也称之为过滤器,它是Servlet技术中比较激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件...
一、过滤器的基本概念
1、什么是过滤器
过滤器是一个服务器端的组件,它可以截取客户端的请求和服务端的响应信息,并对这些信息进行过滤。
2、过滤器的工作原理
过滤器的工作原理可以依据下图进行分析(图片转...
原文地址:/blog/1069343注意这个例子要使用jquery,但是jquery文件属于静态的资源文件,所以要在springMVC中设置静态资源...
他的最新文章
讲师:AI100
讲师:谢梁
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 javaweb过滤器 的文章

 

随机推荐