1.Servlet 过滤器基础
定义:它能够对Servlet容器的请求和响应对象进行检查和修改。其本身不产生请求和响应对象,只提供过滤的功能。在Servlet被调用之前检查Request对象,修改Request Header和Request内容;在Servlet被调用之后检查Response对象,修改Response Header和Response内容。
Servlet 过滤器是Servlet的一种特殊用法,主要用来完成一些通用的操作。比如编码的顾虑,判断用户的登录状态。过滤器适用场合:
认证过滤
登录和审核过滤
图像转换过滤
数据压缩过滤
加密过滤
令牌过滤
资源访问触发事件过滤
XSL/T过滤
Mime-type过滤
2.Servlet过滤器接口的构成:
所有的Servlet过滤器类都必须实现javax.servlet.Filter接口。这个接口含有3个过滤器类必须实 现的方法:
(1)init(FilterConfig cfg) 这是Servlet过滤器的初始化方法,性质等同与servlet的init方法。
(2)doFilter(ServletRequest,ServletResponse,FilterChain) 完成实际的过滤操作,当请求访问过滤器关联的URL时,Servlet容器将先调用过滤器的doFilter方法。FilterChain参数用于访问后续过滤器
(3)destroy() Servlet容器在销毁过滤器实例前调用该方法,这个方法中可以释放Servlet过滤器占用的资源。性质等同与servlet的destory()方法。
3.Servlet过滤器的创建步骤:
(1)实现javax.servlet.Filter接口的servlet类
(2)实现init方法,读取过滤器的初始化函数
(3)实现doFilter方法,完成对请求或过滤的响应
(4)调用FilterChain接口对象的doFilter方法,向后续的过滤器传递请求或响应
(5)在web.xml中配置Filter
4.servlet过滤器有关中文问题:
当用用户登陆页面输入帐号时,如果输入是中文,后台servlet再次输出这个内容时,可能就会是乱码,这是因为serlvet中默认是以ISO-8859-1格式编码的,如果后台有多个Servlet,多个参数,这样就不合适,这个问题,我们可以通过一个过滤器统一解决,使后台的输出输出都支持中文!添加将ISO-8859-1转码为你所试用的编码格式(UTF-8/gb2312)的代码。
5.Servlet监听器
类似与Swing界面应用开发,Servlet也可以创建监听器,以对Servlet容器,或Servlet中以象的事件做出反应。Servlet监听器主要有以下几种:
ServletRequestListener ,ServletRequestAttributeListener,
HttpSessionActivationListener ,HttpSessionBindingListener ,
HttpSessionAttributeListener,HttpSessionListener,
ServletContextListener等等。
这些监听器主要用来监听session,request,application这三个对象里存取数据的变化。
6.、Servlet过滤器对响应的过滤:
(1)过滤器截获客户端的请求
(2)重新封装ServletResponse,在封装后的ServletResponse中提供用户自定义的输出流
(3)将请求向后续传递
(4)Web组件产生响应
(5)从封装后的ServletResponse中获取用户自定义的输出流
(6)将响应内容通过用户自定义的输出流写入到缓冲流中
(7)在缓冲流中修改响应的内容后清空缓冲流,输出响应内容
分享到:
相关推荐
javaServlet过滤器的用法,需要的朋友分了
开发中总结的通用过滤器配置,包括EncodingFilter类、jsp页面配置和web.xml文件的配置代码
Servlet过滤器的简单使用,实现一个登陆界面。代码和博文几乎一致。
servlet 过滤器做的简单登陆demo 初学者的简单例子。
比较好也比较常见的方法是用专门的servlet过滤器进行过滤。java中有个Filter类专门从事这类工作,下面以一个简单的实例进行演示: 实例说明:假设有一个web应用软件,如果是正常途径登录,我们会在其session中放入...
java中servlet文字过滤器,取出一下页面上的乱码。我就就要用到servlet这个过滤器。
servlet过滤器实例经典过滤器,手把手交你配置过滤器,五大常用过滤器源码,走过路过的同事们注意了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
如果用户没有登陆,直接通过url访问其它页面则返回到登陆页面。 用servlet的过滤器实现,不会影响到其它模块的功能。
这是Servlet过滤器的初始化方法,Servlet容器创建Servlet过滤器实例后将调用这个方法。在这个方法中可以读取web.xml文件中Servlet过滤器的初始化参数。 b、doFilter(ServletRequest,ServletResponse,FilterChain)...
用过滤器来验证用户是否登录
java-web servlet 拦截器 过滤器使用 java-web servlet 拦截器 过滤器使用
过滤器 总结 整理 好的东西 全面
简单的实现了一个Servlet过滤器,并配有文档按步骤教你怎么做
servlet过滤器详解
servlet过滤器和监听器,servlet过滤器和监听器课件,servlet过滤器和监听器PPT
servlet过滤器配置及运行过程,servlet实例用法。
主要对servlet过滤器的实践,内有报告,软件使用eclispe,具体参考地址:https://www.cnblogs.com/zqm-sau/p/10331883.html
servlet,filter,过滤器技术servlet,filter,过滤器技术
java 登录过滤 servlet java 登录过滤 servlet
jsp+servlet登录验证过滤器jsp+servlet登录验证过滤器jsp+servlet登录验证过滤器