Jsp之五 过滤器与监听器

简介: Jsp之五 过滤器与监听器

  什么是Filter?依据字面上的意思是过滤器。很多时候会利用它,例如:在线游戏、web聊天室或E-mail等等,可以利用Filter来过滤不雅字句或者拒绝对象的信息或信件。当用户的请求到达指定的页面之前,可以借助过滤器(Filter)来改变这些请求内容;同样地,当执行结果要响应道用户之前,若先经过过滤器,就可以修改输出的内容。


Filter的运行方式


       Filter的运行方式如同一层接一层,一直从最外面的的filter做到最里面的原始网页,然后再把响应一层一层传送出去,最后产生回传结果给用户。但是Filter也不是只能乖乖照这个顺序传送,首先Filter必须使用doFilter()才可以继续传到下一个Filter,因此可以选择某种条件下让Filter不要调用doFiler(),而通过其他方法转向到其他页面。Filter主要可以通过RequestDispatcher的forward()、include()或HttpServletResponse的sendRedirect()、sendError()等方法来转向到其他网页的动作。


      我们可以在web.xml中使用元素,用来设定Filter所对应的请求方式。他有四种设定,分别是request、forward、include、error。图【5-1】描述了Filter的运行方式。


1、Request


     当用户直接对网页做出请求的动作时,才会调用此Filter。


2、Forward


     当用户的请求是通过RequestDispatcher的forward()方法时,才调用此Filter其他请求不会调用此filter


3、include


       当用户的请求时通过RequestDispatcher的include()方法时,才会调用此Filter其他请求不会调用此filter。


4、Error

 当用户的请求时通过错误机制处理的时候,才会调用此filter,同样,其他请求不会调用此filter。

下面简单看一下Filter在web.xml中的配置情况  

    <filter>
       <filter-name>test</filter-name>
       <filter-class>com.filterbo.FilterTest</filter-class>
    </filter>
    <filter-mapping>
       <filter-name>test</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

目录
相关文章
|
Java 容器
JSP 教程 之 JSP 过滤器 9
JSP和Servlet中的过滤器是Java类,能拦截请求和响应,进行信息处理。过滤器可附加到Servlet、JSP或HTML,通过`web.xml`配置。配置包括定义过滤器名称、类名、初始化参数和拦截资源。`&lt;filter&gt;`、`&lt;filter-name&gt;`、`&lt;filter-class&gt;`用于定义过滤器,`&lt;init-param&gt;`设置参数。
84 7
|
XML Java 数据格式
JSP 教程 之 JSP 过滤器 6
JSP教程介绍了JSP过滤器的概念,它是Java类,能拦截请求和响应,用于处理或修改其中的信息。过滤器可连接到单个或多个Servlet、JSP及HTML页面。示例展示了一个简单的日志过滤器`LogFilter`,它打印网站名称并传递请求。`DisplayHeader`Servlet显示HTTP头信息。在`web.xml`中配置过滤器映射,如`LogFilter`映射到`/*`,影响所有Servlet。访问特定URL会触发过滤器和Servlet的执行,日志可通过Log4J记录到文件。
82 3
|
Java
JSP 教程 之 JSP 过滤器 5
JSP过滤器是Java类,用于动态拦截请求和响应。它们可附加到Servlet或JSP,改变或利用其中信息。示例展示了一个简单的`LogFilter`,它打印网站名称和地址。过滤器通过`doFilter`方法处理请求,然后传递给过滤链。`DisplayHeader`Servlet显示HTTP头信息,用于理解过滤器工作原理。
78 3
|
Java
JSP 教程 之 JSP 过滤器 4
JSP过滤器是Java类,用于动态拦截请求和响应,可附加到Servlet、JSP或HTML。`LogFilter`示例展示了基础用法,输出网站名和地址,通过实现`Filter`接口并处理`ServletRequest`和`ServletResponse`。在`doFilter`方法中,打印站点信息并继续过滤链。
62 3
|
Java 容器
JSP 教程 之 JSP 过滤器 8
JSP教程讲解了过滤器的使用,过滤器是Java类,能动态拦截请求和响应,用于处理或修改请求/响应信息。过滤器可关联到Servlet、JSP或HTML。过滤器应用顺序由web.xml中`filter-mapping`元素排列决定,顺序反转则只需调整元素顺序。例如,通过调整`filter-mapping`,可以改变LogFilter和AuthenFilter的执行顺序。
78 2
|
Java
JSP 教程 之 JSP 过滤器 7
JSP教程介绍了过滤器的概念,它们是Java类,用于动态拦截请求和响应。过滤器可附加到Servlet或JSP,允许多个过滤器如AuthenFilter和LogFilter按特定顺序工作。每个过滤器有自己的映射配置,如示例所示,通过&lt;filter&gt;和&lt;filter-mapping&gt;元素定义。LogFilter和AuthenFilter都映射到&lt;url-pattern&gt;/*,实现不同功能。
59 2
|
XML Java 数据安全/隐私保护
JSP 教程 之 JSP 过滤器 1
JSP教程介绍了JSP过滤器,它们是Java类,用于动态拦截请求和响应。过滤器可附加到Servlet、JSP或HTML,实现请求预处理、响应后处理等功能。常见的过滤器类型包括身份验证、数据压缩、加密等。过滤器通过web.xml配置,Web容器根据配置顺序创建实例并执行。通常,过滤器配置在所有Servlet之前。
64 1
|
XML Java 数据安全/隐私保护
JSP 教程 之 JSP 过滤器 2
JSP和Servlet中的过滤器是Java类,用于动态拦截请求和响应。它们可附加到Servlet、JSP或HTML,实现如身份验证、数据压缩、日志记录等多种功能。过滤器通过web.xml配置,按配置顺序执行,初始化时读取配置信息,doFilter方法执行实际过滤操作,FilterChain处理后续过滤器。销毁时调用destroy方法释放资源。
96 0
|
Java
JSP 教程 之 JSP 过滤器 3
JSP和Servlet中的过滤器是Java类,能拦截并处理请求和响应。它们可附加到Servlet、JSP或HTML。在`web.xml`配置文件中定义过滤器如`LogFilter`,并设置初始化参数。在Filter的`init`方法中,通过`FilterConfig`对象获取这些参数,例如打印网站名称。
89 0
|
XML Java 数据安全/隐私保护
JSP 和 Servlet 中的过滤器都是 Java 类。
JSP 和 Servlet 中的过滤器都是 Java 类。
137 0