你的位置:首页 > Java教程

[Java教程]过滤器介绍


这是在听了强哥的第一遍课后马上把能记住的点默写下来,加深记忆,然后不足的地方 在查看文档后继续补充 最下面附原版文档

过滤器是在页面发出到服务器后被服务器过滤后再进行处理

  • 可以有多个过滤器一起处理,成为过滤链 filter chain
  • 可以设置多种的处理方式(request,forword,include),页面设置的forward则request无法处理
  • 可以设置过滤的文件可以是某一个文件,可以是某一个类型文件,也可以是某个文件夹下的某个文件,某个文件夹下的某一类型文件

以下为补充的内容:

  1. 监听器和过滤器都是特殊的servlet,监听器用来处理服务器端时间,过滤器是发出请求响应到达客户端之前进行处理
  2. 用户的请求到达servlet(jsp)之前,经过过滤器的处理,服务器的响应到达客户浏览器之前,也要经过过滤器的处理
  3. 可以对所有的资源进行处理 可以对指定的servlet进行处理
  4. 请求方式还包括 exception
  5. 两个案例:防止出现乱码,访问权限控制
  6. 应用的场合:字符编码转换 权限控制 记录访问日志 过滤敏感词

 


一、可以设置对哪些页面或Servlet使用过滤器

1.应用程序中所有资源 /*
2.指定的类型文件资源 *.html
3.指定的目录下的所有文件 /folder_name/*
4.指定的servlet myfilter.LoggerServlet
6./simplefilter.html
7.指定目录下指定类型的单一文件 /dir_name/index.jsp

以上都要注意是否有斜杠“/”


二、可以设置对何种请求方式使用过滤器,请求方式包括(request,forward,include,exception)

request

href="a.jsp"

response.sendRedirect("a.jsp");

window.open("a.jsp");

location.href="a.jsp";

src="a.jsp"

.........

forward 页面跳转

<jsp:forward ....

sendForward ...

include

有两种include其他页面的方法,一种是指令标签<%@ include  file="xxx.jsp"%>,一种是动作标签<jsp:include  page="xxx.jsp"/>

execetion

......

三、案例
1.设置编码,防止出现乱码
2.访问权限控制


四、应用场合

字符编码转换,权限管理,记录访问日志,过滤敏感词