`
lcm_up
  • 浏览: 10796 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Servlet过滤器,监听器

    博客分类:
  • WEB
阅读更多

过滤器

JSP完成的功能Servlet都能完成,但是Servlet具备很多JSP所不具有的,从使用上看可以分为三种:简单Servlet、过滤Servlet和监听Servlet

 

1.过滤器:是以一种组件的形式绑定在web应用程序当中的,与其他的Web应用程序组件不同的是,过滤器是采用链的方式进行处理的。

一旦加入过滤器,所有的请求先交给过滤器处理,然后再访问相应的web资源的访问限制。

 

(1)实现过滤器:如果定义一个过滤器,则直接让一个类实现javax.servlet.Filter接口即可。

 

Public void init(FilterConfig filterConfig)Throws ServletException

 

public void doFilter(ServletRequest request,Servlet response,FilterChain chain)

 

实现具体的过滤操作,然后通过FilterChain让请求继续向下传递。

chain.doFilter(request,response);

 

过滤器的销毁 public void destroy()

 

2.过滤器的应用:

 

实例一:编码过滤器EncodingFilter.java

 

为所有页面设置统一的编码:如果按照之前的做法,在每一个JSP或者Servlet中都重复编写request.setCharacterEncoding("GBK")的语句肯定是不可取的,会造成大量的代码重复。

 

<!-- 编码过滤 -->

 

方法1

在web.xml中配置:

<filter>

 

<filter-name>encoding</filter-name> <filter-class>org.ecjtu.lp.EncodingFilter</filter-class>

 

</filter>

 

<filter-mapping>

 

<filter-name>encoding</filter-name>

 

<url-pattern>/*</url-pattern>

 

</filter-mapping>


在servlet中写:

 

public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {

request.setCharacterEncoding("GB18030");

response.setCharacterEncoding("GB18030");

chain.doFilter(request, response);

}

 

 

方法2

<!-- 编码过滤 -->

<filter>

<filter-name>encoding</filter-name>

<filter-class>org.ecjtu.lp.EncodingFilter </filter-class>

<init-param>

<param-name>charset</param-name>

<param-value>GB18030</param-value>

</init-param>

</filter>

public void init(FilterConfig config) throws ServletException {

// TODO Auto-generated method stub

this.charSet=config.getInitParameter("charset");//取得初始化参数

}

 

(2)登陆验证:最早的做法是通过session的方式完成,但是每个页面都这样的话,则肯定造成大量代码的重复,而通过过滤器的方法即可避免这种重复操作。

 

注意:向下转型:将ServletRequest转为HttpServletRequest

 

总结:过滤器属于自动执行的一种servlet过滤器依然需要在web.xml文件中进行配置。

过滤器常用的功能是可以完成常用的编码过滤,及登录验证。

 

监听器

1.第三种servlet程序称为监听servlet,主要功能负责Web的各种操作,当相关的事件触发后将产生事件并对此事和request三种操作进行监听。

 

2.实例:监听器:在线人员统计

 

Session销毁的操作:

当一个新用户打开一个动态页时,服务器会为新用户分配session,并触发HttpsessionLisener接口中的sessionCreate()事件,但是在用户销毁时时却有两种不同的方式触发sessionDestroy()事件。

 

方式一:调用HttpSession接口中的invalidate()方法,让一个session失效。

 

方式二:超过了配置session的超时时间,session超时时间可以直接在项目中的web.xml中配置。

 

<session-config>

 

<session-timeout>5</session-timeout>

 

<session_config>

 

默认的超时时间为30分钟。

(本文转载 : http://www.cnblogs.com/200911/archive/2012/05/02/2479880.html

分享到:
评论

相关推荐

    servlet 过滤器做的简单登陆demo

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

    servlet过滤器和监听器PPT课件.ppt

    servlet过滤器和监听器,servlet过滤器和监听器课件,servlet过滤器和监听器PPT

    第13章使用Servlet过滤器和监听器

    第13章使用Servlet过滤器和监听器,基础知识

    Servlet过滤器与监听器

    Servlet过滤器与监听器

    Servlet过滤器与监听器.doc

    Servlet过滤器和监听器是Java Servlet技术中两个重要的组件,它们极大地增强了Web应用程序的功能和灵活性。Servlet过滤器在Servlet 2.3规范中被引入,主要用于处理通用任务,如请求预处理、响应后处理,以及诸如编码...

    servlet过滤器与监听器.pdf

    Servlet 过滤器与监听器 概述: Servlet 过滤器(Filter)和监听器(Listener)是 Java Web 应用程序中常见的两种组件,它们提供了各种扩展 Web 应用程序功能的方式。过滤器和监听器都可以通过 Java Web 应用程序...

    servlet过滤器1

    综上所述,Servlet过滤器和监听器是Java Web开发中两个关键的工具,它们扩展了服务器的功能,提高了代码的可复用性和可维护性,为复杂的Web应用提供了灵活的管理和控制手段。通过合理使用这两个特性,开发者可以实现...

    jsp/servlet中过滤器和监听器的区别

    - **处理时机**:过滤器在请求到达Servlet之前和离开Servlet之后进行操作,监听器则是在特定事件发生时被调用。 - **功能侧重点**:过滤器侧重于数据处理和过滤,监听器则更注重状态管理和事件响应。 - **交互...

    servlet中的过滤器与监听器

    在Servlet技术中,过滤器...总结,Servlet过滤器和监听器是Servlet技术中的关键组件,它们提供了强大的功能,可以增强应用程序的安全性、性能和可维护性。开发者应熟练掌握这些工具,以便在实际项目中灵活运用。

    servlet过滤器和监听器

    Servlets可以嵌入在不同的Java Web服务器之中,因为用来编写Servlets的Servlet API对于服务器环境和协议没有任何特殊的要求,所以Servlets具有很强的可移植性,也不像利用CGI程序等其它方式那样具有性能局限。

    jsp中servlet过滤器和侦听器

    而过滤器(Filter)和侦听器(Listener)是Servlet规范中的两个重要概念,它们增强了应用的功能和灵活性。 **过滤器(Filter)** 过滤器在JSP中起到中介的作用,它们可以拦截HTTP请求和响应,对数据进行处理或修改...

    Servlet过滤器与侦听器.ppt

    侦听器(Listener)则是Servlet容器中的事件监听器,它们监听特定的事件,如session的创建、销毁、属性改变,或是请求初始化、销毁等。通过实现各种接口,如`HttpSessionListener`、`ServletRequestListener`等,...

    javaweb_高级_过滤器_监听器

    【JavaWeb 高级:过滤器与监听器详解】 在JavaWeb开发中,过滤器(Filter)和监听器(Listener)是两种非常重要的组件,它们能够帮助我们实现更精细的控制和管理应用程序的行为。本篇将详细介绍过滤器的原理、使用...

    过滤器和监听器的使用与区别

    在Java Web开发中,过滤器(Filter)和监听器(Listener)是两种非常重要的组件,它们主要用于增强应用程序的功能和管理应用程序的状态。本篇文章将详细解释这两种技术的使用、配置及其区别。 首先,我们来了解过滤...

    Servlet、监听器、过滤器、MVC模式介绍.docx

    Servlet、监听器、过滤器和MVC模式是Java Web开发中的核心概念,它们各自承担着不同的职责,共同构建了一个高效、清晰的架构。 首先,MVC(Model-View-Controller)模式是一种软件设计模式,常用于创建Web应用程序...

    大河网servlet+jsp+jdbc的java原生小项目,包含了servlet过滤器和监听器的简单应用

    servlet原生的过滤器需要在web.xml文件中配置,需要注意的是异步请求不能直接响应重定向,应当向前端返回302的状态码并由前端重定向到login.html页面 原生的德鲁伊数据库连接池获取connection的步骤 没有mybatis的...

    Servlet,过滤器和监听器的配置和使用.docx

    Servlet、过滤器和监听器是Java Web开发中的关键组件,它们在构建动态Web应用程序中扮演着重要角色。本文将详细阐述这三者的概念、配置和使用方法。 **Servlet** Servlet是一种Java类,它扩展了服务器的功能,特别...

    servlet过滤器

    关于servlet过滤器和监听器的ppt,对于学习servlet的人来说,是必不可少的。

    关于过滤器和监听器的使用模板

    在Java Web开发中,过滤器(Filter)和监听器(Listener)是两个非常重要的组件,它们主要用于增强应用程序的功能和管理应用程序的状态。以下是关于这两个概念的详细说明。 **过滤器(Filter)** 过滤器是Servlet...

    JavaWeb Servlet过滤监听应用.zip

    在JavaWeb中,Servlet和Filter是两个核心组件,而监听器(Listener)则提供了更高级的功能,帮助开发者管理和监控应用状态。这个"JavaWeb Servlet过滤监听应用.zip"文件包含了关于如何在实际项目中运用这些概念的...

Global site tag (gtag.js) - Google Analytics