Java基础——初识过滤器
来源:互联网 发布:双11淘宝和京东交易额 编辑:程序博客网 时间:2024/05/17 21:52
什么是过滤器?可以用过滤器做什么?
过滤:俺一定条件进行筛选,如果能满足条件就通过,否则就不通过。
web应用程序中过滤器是针对请求/响应的一个过滤器组件。
在服务器资源的外围。
作用可以针对请求/响应进行过滤,起到保护资源的目的。
主要用于:
1、使浏览器不缓存页面;
2、检测用户是否登录;
3、字符编码过滤器;
4、资源保护过滤器;
5、权限管理;
6、日志记录(时间,URL等信息)等。
创建一个Filter
实现javax.servlet.Filter接口。
Filter接口中有三个方法:
doFilter方法是过滤的方法!
public void doFilter(ServletRequest arg0,ServletResponse arg1,
FilterChainarg2) throws IOException, ServletExceptionServletRequest 请求隐式对象的父类。有时要强制类型转换
ServletResponse 响应隐式对象的父类。强制类型转换。
HttpServletRequestrequest = (HttpServletRequest)arg0;
HttpServletResponseresponse = (HttpServletResponse)arg1
FilterChain 过滤器链对象doFilter(ServletRequest, ServletResponse);//放行。
Filter的配置
在web.xml文件中进行Filter的配置。
过滤器不能直接通过URL访问,Filter本身没有访问的名称。
配置是Filter保护资料的URL。
url-pattern的几种可用格式。
1、支持多映射,一个filter可以映射多个filter-mapping,只要filter-name一致。
2、/index.jsp 直接写明资源的URL
3、/* 所有资源
4、*.jsp 所有JSP资源
5、/goods/* 站点goods目录下的所有资源
6、/goods/*.jsp 错误。Filter不支持。
针对不同请求类型的过滤
过滤器链
当多个过滤器对一个资源进行保护时,当请求这个被保护的资源时就是会经过多个过滤器。这多个过滤器就会产生一个过滤器链。
考虑:当多个过滤器都保护时哪个先启动。
1 登录。
2权限。
3所有Servlet针对Post请求的中文处理。
过滤器的执行的先后顺序受web.xml中<filter-mapping>的前后顺序影响。先声明的先调用。
先调用的Filter后结束。filter的调用是以栈的方式。
- Java基础——初识过滤器
- 【Java】Filter过滤器初识
- 黑马程序员—Java基础:初识Java
- 黑马程序员——Java基础---初识
- 【java基础】——初识java中的设计模式
- Java基础——Servlet(七)过滤器&监听器 相关
- AngularJs基础——过滤器
- Java基础--初识java
- Java基础学习——数组初识(1)
- 黑马程序员—基础篇之初识java
- 黑马程序员—基础篇之初识java语法补充
- 黑马程序员—基础篇之初识java语句结构
- 黑马程序员—基础篇之初识java数组
- 【C#基础】——初识
- J2ME初识--JAVA基础
- AngularJs基础——过滤器filter及自定义过滤器filter
- Java——初识
- JAVA 基础之初识JAVA
- 账户名只能使用数字字母下划线
- 2017年9月7日--ResourceAccessException 和 UnknownHostException 两个异常
- Hive
- JavaScript原型中的哲学
- elasticsearch环境搭建
- Java基础——初识过滤器
- HA 高可用集群原理
- html页面公共样式
- vimの 多行修改单词
- bootstrap-treeview 实现全选父节点下所有子节点及反选
- PHP设计模式-单例模式
- 思维导图速成记忆法,考试复习必备
- android自定义三个按钮的dialog对话框
- androdi简单的密码输入对话框(Dialog)