第一个过滤器实例
来源:互联网 发布:手机淘宝怎么上传宝贝 编辑:程序博客网 时间:2024/06/14 22:48
过滤器是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。
它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理。使用Filter的完整流程:Filter对用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后Filter再对服务器响应进行后处理。
在HttpServletRequest到达 Servlet 之前,拦截客户的HttpServletRequest 。根据需要检查HttpServletRequest,也可以修改HttpServletRequest 头和数据。
在HttpServletResponse到达客户端之前,拦截HttpServletResponse 。根据需要检查HttpServletResponse,也可以修改HttpServletResponse头和数据。
package com.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class FirstFilter implements Filter{//在销毁过滤器实例前调用此方法,可释放过滤器占用的资源。@Overridepublic void destroy() {// TODO Auto-generated method stubSystem.out.println("Destory");}//核心方法//用户请求访问与过滤器关联的url时,先调用过滤器的doFilter方法//FilterChain参数可以调用chain.doFilter方法,将请求传给下一个过滤器(或者目标资源),或利用转发、重定向将请求转发到其他资源。@Overridepublic void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {// TODO Auto-generated method stubSystem.out.println("Start...filter");arg2.doFilter(arg0, arg1);System.out.println("End...filter");}//过滤器的初始化方法,web容器创建过滤器实例后将调用这个方法。//客读取web.xml文件中过滤器的参数@Overridepublic void init(FilterConfig arg0) throws ServletException {// TODO Auto-generated method stubSystem.out.println("init");}}其中web.xml中配置为
<!-- 过滤器实例配置 --> <filter> <filter-name>FirstFilter</filter-name> <filter-class>com.filter.FirstFilter</filter-class> </filter> <filter-mapping> <filter-name>FirstFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>还有关于多个过滤器针对同一个请求,和其执行的顺序。
阅读全文
0 0
- 第一个过滤器实例
- 【第一个过滤器Filter】
- 构造第一个Filter过滤器
- 第一个spring实例
- 第一个Ajax 实例
- 第一个jQuery实例
- 第一个struts2实例
- 第一个spring实例
- 第一个spring实例
- 第一个Lucene实例
- 第一个hibernate实例
- jquery 第一个实例
- 第一个spring实例
- 第一个WebService实例
- 第一个struts2实例
- SpringMVC第一个实例
- hibernate第一个实例
- 第一个jersey实例
- React 中from 表单提交,自动化校验
- 优秀技术文章集合
- Unity 构建IOS和ANDROID工程 (一)
- 使用JavaScript实现页面打印
- 字母包含
- 第一个过滤器实例
- Spring Boot入门教程-数据源外部配置
- 聚能聊 | 哪个国家拥有全世界最牛逼的程序员?
- 数组概述
- PAT (Basic Level) Practise (中文) 1015. 德才论 (25)
- 增强学习(二)——策略迭代与值迭代
- myeclipse2016 cl破解 亲测好用 没有闪退问题
- HTextView:非常炫酷的 TextView 效果
- hadoop最新稳定版本使用建议