分类分类
大小:51KB语言:简体中文
类别:编程软件系统:Vista, Win2003, WinXP, Win2000, NT
Servlet过滤器
Servlet过滤器是一种小型的、可插入的Web组件,其提供了对Web应用程序的前期处理和后期处理的逻辑控制,可以拦截请求和响应,以便查看、提取或以某种方式操作正在客户端和服务器之间进行交换的数据。Servlet过滤器具有动态、灵活、透明、模块化、可移植、可重用等性质,是一种自包含的,模块化的组件,可以在使用时将其添加到请求/响应链中,也可以被删除而不影响到应用程序的其他Web组件。Servlet过滤器应用非常广泛,有拦截的地方一般都可以用到过滤器,其也和Servlet类似,也需要在Web应用配置文件(即Web.xml)中进行配置部署。
过滤器并不是servlet,他们并不实际创建一个请求。他们是请求到达一个servlet前的预处理程序,和/或响应离开servlet后的后处理程序。一个过滤器能够:
1.在一个servlet被调用前截获该调用
2.在一个servlet被调用前检查请求
3.修改在实际请求中提供了可定制请求对象的请求头和请求数据
4.修改在实际响应中提供了可定制响应对象的响应头和响应数据
过滤器类必须要实现Filter接口,这个接口在javax.servlet包中。该接口有三个方法如下:
1.void init(FilterConfig config) throws ServletException:在过滤器执行service前被调用,以设置过滤器的配置对象。服务器调用一次init(FilterConfig) 以为服务准备过滤器,然后在请求需要使用过滤器的任何时候调用doFilter()。FilterConfig接口检索过滤器名、初始化参数以及活动的 servlet上下文。
2.void doFilter(ServletRequest req,ServletResponse res,FilterChain chain) throws IOException,ServletException;执行实际的过滤工作。在doFilter()方法中,每个过滤器都接受当前的请求和响应,而 FilterChain包含的过滤器则仍然必须被处理。doFilter()方法中,过滤器可以对请求和响应做它想做的一切。过滤器调用 chain.doFilter()将控制权传送给下一个过滤器。当这个调用返回后,过滤器可以在它的doFilter()方法的最后对响应做些其他的工作;例如,它能记录响应的信息。如果过滤器想要终止请求的处理或或得对响应的完全控制,则他可以不调用下一个过滤器。
3.void destroy();在过滤器执行service后被调用。服务器调用destory()以指出过滤器已结束服务。
下面是一个很经典的例子,记录请求所持续的时间。
同厂商应用
猜你喜欢
相关下载
UEStudio编程软件107Mv21.00.0.90官方版
详情UEStudio(软件集成开发环境)编程软件107Mv21.00.0.90免费版
详情Brackets(文本编辑器)编程软件77.2Mv1.14.2官方正式版
详情易语言编程软件99.3Mv5.7.1
详情FlashDevelop编程软件9.5Mv4.6.1官方版
详情Wintc编程软件3.4Mv1.9.1中文版
详情vc++6.0(Visual C++)编程软件234M简体中文企业版
详情PHP For Windows编程软件14.9MV5.3.9
详情易语言编程软件98.4M
详情intellij idea编程软件270Mv14.0.2官方下载
详情MyEclipse编程软件892MV10.7官方版
详情快手-模拟软件开发程序编程软件12.1MV0.75.1 绿色版
详情vfp6.0官方编程软件65M
详情Delphi 2010编程软件129.5M
详情MyEclipse编程软件841MV8.5英文官方版
详情Regex Tester(正则表达式测试工具)编程软件92KB3.2.0.0 免安装版
详情vs2010中文版(Visual Studio)编程软件1.76G官方中文版
详情