-
对用户请求进行验证
编码转换
查看全部 -
servlet2.5的分类
查看全部 -
@WebFilter的常用属性
查看全部 -
servlet3支持@WebFilter的注解形式
查看全部 -
多过滤器的处理流程
查看全部 -
过滤器不能处理用户请求,但是可以改变请求路径
查看全部 -
2.在web.xml中配置自动的filter
查看全部 -
自定义过滤器:实现javax.servlet.Filter接口,实现三个方法
查看全部 -
过滤器生命周期:
实例化在容器启动时(一次)
初始化在实例化后(一次)
过滤在每一次请求
销毁在容器关闭后(一次)
查看全部 -
过滤器的工作原理
查看全部 -
过滤器的概念:
应用案例:同一个地址,登录前和登录后显示不同页面;
不存在的地址,统一处理到同一错误页面。
查看全部 -
过滤器在实际项目中的应用场景
1、对用户请求进行统一认证(判断当前用户是否符合认证条件,不符合时进行一些处理)——>登陆校验
2、编码转换(转换一些字符集编码,防止开发中乱码问题)
3、对用户发送的数据进行过滤替换(防止注入一些攻击,对参数进行检测和判别)
4、转换图像格式(对response进行后处理,并转换它的格式输出)
5、对响应的内容进行压缩(可以对内容进行加密操作,数据拿过来时进行加密,加密之后解析再返回给用户)
查看全部 -
编码转换案例
后端接受前端输入的参数乱码解决方式
【一】修改Tomcat字符集
【二】过滤器修改字符集(通常放在web.xml中的参数中)
【三】通过强制类型转换
拓展:pageEncoding和contentType的区别:https://www.cnblogs.com/kevin-yuan/archive/2011/12/31/2308479.html。
查看全部 -
过滤器的分类2
ERROR:目标资源是通过声明式异常处理机制调用时,过滤器将被调用。(例如:我们访问一个路径,出现一个错误,系统会给出一个错误提示,我们可以通过它来实现人性化提示)
路径找不到时,通过xml进行友好型提示。
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
ERROR的用途:发生错误时,系统记录这个错误,并且通过<error-page>标签进行跳转到错误页面,通过ERROR过滤器程序员可以检测这个错误的来源以及位置。
Servlet3.0——>添加了ASYNC:支持异步处理。(例如:有时我们的跳转资源不是JSP页面,而是一个Servlet处理业务逻辑,并且处理时间非常长,这时过滤器接下来的代码就会一直等待Servlet完成,这样就会一直等待,所以Servlet3.0支持无论执行完与否,都会向下执行。)
另一种实现过滤器功能的方式
@WebFilter:用于将一个类声明为过滤器,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为过滤器。
查看全部 -
过滤器的分类(Servlet2.5)
【1】REQUEST:默认的过滤器(我们配置过滤器默认选择的),用户直接访问页面时,Web容器将会调用过滤器,通过链接访问直接到达过滤器。
重定向:会使用REQUEST过滤器,response.sendRedirect(request.getContextPath() + "/main.jsp");
转发:会使用RESPONSE过滤器,request.getRequestDispatcher("main.jsp").forward(request, response);
【2】FORWARD:目标资源是通过RequestDispatcher的forward访问时,该过滤器被调用。<dispatcher>FORWARD</dispatcher>
【3】INCLUDE:目标资源时通过RequestDispatcher的include方法调用时,过滤器将被调用。<dispatcher>INCLUDE</dispatcher>
request.getRequestDispatcher("main.jsp").include(request, response);使用这个跳转其他过滤器将不起作用,只有INCLUDE的过滤器会起作用。
【4】ERROR
查看全部
举报