`
andrii
  • 浏览: 63974 次
  • 性别: Icon_minigender_1
  • 来自: 地球
社区版块
存档分类
最新评论

Servlet过滤器

阅读更多

Servlet过滤器是小型Web组件,它能拦截请求与响应.他界于Servlet与JSP之间,拦截请求与响应并作出相关的处理.

过滤器的配置:

xml 代码
  1. <filter>  
  2.     <filter-name>filter</filter-name>  
  3.     <!-- 请求的处理类 -->  
  4.     <filter-class>filterTest.TestFilter</filter-class>  
  5. </filter>  
  6. <filter-mapping>  
  7.     <filter-name>filter</filter-name>  
  8.     <!-- 要过滤的请求 -->  
  9.     <url-pattern>/testFilter</url-pattern>  
  10. </filter-mapping>  

 

处理类的代码:

java 代码
  1. import java.io.IOException;   
  2. import javax.servlet.Filter;   
  3. import javax.servlet.FilterChain;   
  4. import javax.servlet.FilterConfig;   
  5. import javax.servlet.ServletContext;   
  6. import javax.servlet.ServletException;   
  7. import javax.servlet.ServletRequest;   
  8. import javax.servlet.ServletResponse;   
  9. import javax.servlet.http.HttpServletRequest;   
  10. import javax.servlet.http.HttpServletResponse;   
  11.   
  12. public class TestFilter implements Filter {   
  13.   
  14.     private FilterConfig fc;   
  15.   
  16.     // 初始化参数   
  17.     public void init(FilterConfig arg0) throws ServletException {   
  18.         // TODO Auto-generated method stub   
  19.         this.fc = arg0;   
  20.     }   
  21.   
  22.     // 释放资源   
  23.     public void destroy() {   
  24.         // TODO Auto-generated method stub   
  25.         this.fc = null;   
  26.     }   
  27.   
  28.     // 过滤请求   
  29.     public void doFilter(ServletRequest arg0, ServletResponse arg1,   
  30.             FilterChain arg2) throws IOException, ServletException {   
  31.         // TODO Auto-generated method stub   
  32.        //
  33.         ServletContext sc = this.fc.getServletContext();   
  34.         long before = System.currentTimeMillis();   
  35.         System.out.println("开始过滤......");   
  36.   
  37.         // 转换request请求   
  38.         HttpServletRequest request = (HttpServletRequest) arg0;   
  39.         sc.log("过滤器截获的请求路径:" + request.getServletPath());   
  40.   
  41.         try {   
  42.             // Filter 只是链式处理,请求依然转发到目的地址。   
  43.             if("manager".equals(request.getSession().getAttribute("scope"))){   
  44.                 // 发送原目标
  45.                  arg2.doFilter(arg0, arg1);   
  46.             }else {
  47.                  //转发目标
  48.                 ((HttpServletResponse)arg1).sendRedirect("http://localhost:8080");   
  49.             }   
  50.                
  51.         }   
  52.         catch (Exception e) {   
  53.             e.printStackTrace();   
  54.         }   
  55.         long after = System.currentTimeMillis();   
  56.            
  57.         // 记录日志   
  58.         sc.log("过滤结束");   
  59.   
  60.         // 再次记录日志   
  61.         sc.log("请求被定位到" + ((HttpServletRequest) request).getRequestURI()   
  62.                 + "所花的时间为: " + (after - before));   
  63.     }   
  64. }  

 

 

分享到:
评论

相关推荐

    Servlet过滤器的简单使用源码+文档

    在标题"Servlet过滤器的简单使用源码+文档"中,我们可以理解为这个压缩包包含了一个关于Servlet过滤器的基础应用示例,以及相关的源代码和文档资料。描述中提到的"实现一个登陆界面",表明了过滤器可能被用作验证...

    servlet 过滤器做的简单登陆demo

    Servlet过滤器是Java Web开发中的一个重要概念,它允许开发者在请求到达目标Servlet之前或之后对请求和响应进行处理。在这个“servlet过滤器做的简单登陆demo”中,我们将探讨如何利用过滤器实现一个基础的登录验证...

    servlet过滤器实例经典过滤器

    Servlet过滤器是Java Web开发中的一个重要组件,它允许开发者在请求到达Servlet之前或者响应离开Servlet之后进行拦截处理。本教程将深入讲解如何配置和使用Servlet过滤器,以及介绍五个经典的过滤器实例。 首先,让...

    servlet过滤器实现(Eclipse工程)

    Servlet过滤器是Java Web开发中的一个重要概念,它允许开发者在请求到达Servlet之前或者响应离开Servlet之后进行拦截处理。本教程将详细介绍如何在Eclipse环境中创建并实现一个Servlet过滤器。 一、Servlet过滤器...

    Servlet过滤器小实例

    ### Servlet过滤器小实例 #### 实例背景与需求分析 在Web开发中,为了保障系统的安全性和稳定性,经常需要对接收到的HTTP请求进行预处理,比如验证用户身份、过滤恶意请求等。通常情况下,这些预处理操作可以在...

    servlet过滤器验证用户登录

    在IT领域,特别是Java Web开发中,Servlet过滤器(Filter)是实现用户权限管理、登录状态验证等关键功能的重要机制之一。本文将深入探讨如何利用Servlet过滤器来验证用户是否已登录,以及如何配置过滤器以针对特定的...

    servlet过滤器解决乱码问题

    ### Servlet过滤器解决乱码问题 在Web应用开发过程中,字符编码问题经常出现,尤其是在处理中文等多字节字符时。如果不正确地设置字符编码,可能会导致页面显示乱码。本文将详细介绍如何通过Servlet过滤器来解决这...

    servlet过滤器详解

    ### Servlet过滤器详解 #### 一、Servlet过滤器的概念与作用 Servlet过滤器,作为Java Servlet规范中的一个重要组成部分,自2.3版本起被引入,主要用于在Servlet容器中对请求和响应进行预处理和后处理。它不直接...

    Servlet过滤器使用

    这是Servlet过滤器的初始化方法,Servlet容器创建Servlet过滤器实例后将调用这个方法。在这个方法中可以读取web.xml文件中Servlet过滤器的初始化参数。 b、doFilter(ServletRequest,ServletResponse,FilterChain)...

    servlet过滤器技术实例,

    Servlet过滤器是Java Web开发中的一个重要概念,它允许开发者在请求到达Servlet之前或者Servlet响应返回客户端之前进行拦截处理。在本实例中,我们将深入探讨Servlet过滤器(Filter)的使用和实现,以及它在实际应用...

    servlet过滤器配置及运行过程.doc

    servlet过滤器配置及运行过程,servlet实例用法。

    Java servlet过滤器配置详解

    Java Servlet过滤器是Java Web应用程序中的重要组件,它在请求被Servlet处理之前和响应返回给客户端之后进行拦截,可以用于实现各种功能,如字符编码转换、URL重写、权限控制等。本篇将深入讲解Java Servlet过滤器的...

    Servlet过滤器机制分析及应用

    ### Servlet过滤器机制分析及应用 #### 一、概述 Servlet过滤器是Java Web应用程序中的一个重要组成部分,它提供了一种灵活的方式来对客户端的请求和服务器的响应进行预处理和后处理。这种机制允许开发者在不改变...

    JAVA WEB中的Servlet过滤器

    在Java Web开发中,Servlet过滤器(Filter)是不可或缺的一部分,它允许开发者在请求到达Servlet之前或响应离开Servlet之后对其进行处理。Servlet过滤器是按照指定的配置顺序进行调用的,能够实现数据的预处理、后...

    servlet 过滤器例子 filter

    Servlet过滤器是Java Web开发中的一个重要概念,它允许开发者在请求到达Servlet之前或者响应返回客户端之前进行拦截处理。本示例“servlet过滤器例子filter”将深入讲解如何使用Servlet过滤器以及其在实际应用中的...

    servlet过滤器

    Servlet过滤器是Java Web开发中的一个重要组件,它在Servlet生命周期中扮演着预处理和后处理的角色。在Tomcat这样的Servlet容器中,过滤器允许开发者在请求到达Servlet之前或Servlet响应发送回客户端之后对请求和...

    javaServlet过滤器

    下面将详细介绍Java Servlet过滤器的工作原理、配置以及常见应用场景。 ### 1. 工作原理 Servlet过滤器通过实现`javax.servlet.Filter`接口来创建。当客户端发起请求时,服务器会根据`web.xml`或Java配置文件中的...

    servlet过滤器Filter入门

    Servlet 过滤器 Filter 入门 Servlet 过滤器 Filter 是 Servlet API 中一个非常重要的功能,它提供了一种标准化的方法来定义过滤器,能够检查进入资源的请求信息,并作出相应的选择。下面是 Servlet 过滤器 Filter ...

    servlet过滤器Api 以及乱码处理.javascript注入问题

    在这个主题中,我们将深入探讨Servlet过滤器的API用法、乱码处理策略以及如何防止JavaScript注入问题。 首先,让我们了解一下Servlet过滤器的基础。在Servlet规范中,`Filter`接口定义了过滤器的核心方法,如`...

Global site tag (gtag.js) - Google Analytics