这是在听了强哥的第一遍课后马上把能记住的点默写下来,加深记忆,然后不足的地方 在查看文档后继续补充 最下面附原版文档
过滤器是在页面发出到服务器后被服务器过滤后再进行处理
- 可以有多个过滤器一起处理,成为过滤链 filter chain
- 可以设置多种的处理方式(request,forword,include),页面设置的forward则request无法处理
- 可以设置过滤的文件可以是某一个文件,可以是某一个类型文件,也可以是某个文件夹下的某个文件,某个文件夹下的某一类型文件
以下为补充的内容:
- 监听器和过滤器都是特殊的servlet,监听器用来处理服务器端时间,过滤器是发出请求响应到达客户端之前进行处理
- 用户的请求到达servlet(jsp)之前,经过过滤器的处理,服务器的响应到达客户浏览器之前,也要经过过滤器的处理
- 可以对所有的资源进行处理 可以对指定的servlet进行处理
- 请求方式还包括 exception
- 两个案例:防止出现乱码,访问权限控制
- 应用的场合:字符编码转换 权限控制 记录访问日志 过滤敏感词
一、可以设置对哪些页面或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.访问权限控制
四、应用场合
字符编码转换,权限管理,记录访问日志,过滤敏感词