JSP-12-使用过滤器和监听器

1 什么是过滤器及其工作方式

向Web应用程序的请求和响应添加功能的Web组建

过滤器可以统一的集中处理请求和响应

15.2 过滤器的实现

新建 filter ,注意此时是在 src中建立的(同class的创建位置一样)。

解决乱码问题:

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

 request.setCharacterEncoding("utf-8");

chain.doFilter(request, response);

response.setCharacterEncoding("utf-8");

}

Web.xml

<filter>

<display-name>filter</display-name>

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

<filter-class>com.db.news.web.fileter.filter</filter-class>

</filter>

<filter-mapping>

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

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

</filter-mapping>

具体实现步骤:

  1. 建立实现 Filter 接口的类  javax.servlet.Filter
  2. 实现过滤行为/调用下一个过滤器或web资源

  1. 在web.xml中配置过滤器

匹配顺序:

1)  完全匹配 : /index.jsp

2)  目录扩展匹配: /admin/*

3)  扩展名匹配: *.do

4)  全部匹配:   /*

初始化参数和过滤器链

配置过滤器的初始化参数

读取过滤器的初始化参数

多个过滤器会形成过滤器链,它的访问顺序根据 <filter-mapping> 中的配置从上到下依次匹配。

15.3 过滤器的生命周期

1. 实例化: 开辟内存空间,只执行一次

2. 初始化: init()   只执行一次

3. 过滤: doFilter()  用户请求页面进行匹配

4. 消耗: destroy()  只执行一次

15.4  使用过滤器的场合

对请求,响应进行统一处理

对请求进行日志记录和审核

对数据进行屏蔽和替换

对数据进行加密和解密

15.5 监听器

在访问资源的过程中,发生某些特定过程时进行相应的操作。

例:统计在线的人数

  1. 创建类实现监听器接口

Javax.servlet.http.HttpSessionBindingListener;

  1. 在valueBound和valueUnbound方法中实现用户数量的统计

valueBound(HttpSessionBindingEvent arg0){

//用户对象存入session时自动调用

//用户数量添加1

}

valueUnbound(HttpSessionBindEvent arg0){

//用户对象从session中删除时自动调用

//用户数量减1

}

  1. 在web.xml中配置监听器(此项默认生成)

<listener>

<listener-class>监听器完全限定名</listener-class>

<listener>

时间: 2024-10-15 15:50:01

JSP-12-使用过滤器和监听器的相关文章

JSP详细篇——Servlet过滤器和监听器

过滤器和监听器 Servlet过滤器是从Servlet2.3规范开始新增的功能,并在Servlet2.4规范中得到增强,监听器可以监听到Web应用程序启动和关闭.创建监听器需要实现响应的接口,并对其进行配置. Servlet过滤器 1.什么是过滤器 Servlet过滤器与Servlet十分相似,但是它具有拦截客户端请求的功能.Servlet过滤器可以改变请求中的内容,来满足实际开发中的需要.对于程序开发人员来说,过滤器实质上就是在Web应用服务器上的一个Web应用组件,用于拦截客户端与目标资源之

java过滤器、监听器、拦截器机制

一.过滤器 Filter也称之为过滤器,它是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能.例如实现URL级别的权限访问控制.过滤敏感词汇.压缩响应信息等一些高级功能. 它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理.使用Filter的完整流程:Filter对用户请求进行预处理,接着将请求交给Se

java中过滤器和监听器详解

先说一下java中过滤器的作用: 过滤器是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法url.主要为了减轻服务器负载.减少压力 拦截器的作用: 拦截器是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法.比如可以用拦截器做一些权限管理 或者log之类的事情. 过滤器和拦截器他们的作用是不同的.   Java中过

Servlet过滤器和监听器知识总结(转)

 Servlet过滤器是 Servlet 程序的一种特殊用法,主要用来完成一些通用的操作,如编码的过滤.判断用户的登录状态.过滤器使得Servlet开发者能够在客户端请求到达 Servlet资源之前被截获,在处理之后再发送给被请求的Servlet资源,并且还可以截获响应,修改之后再发送给用户.而Servlet监听器可以  监听客户端发出的请求.服务器端的操作,通过监听器,可以自动激发一些操作,如监听在线人数.  Servlet过滤器简介绍      Servlet过滤器是在Java Servle

java 拦截器、过滤器、监听器

转自:http://www.cnblogs.com/wangyuyu/archive/2013/07/02/3167354.html 一.理解Struts2拦截器 1. Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现. 2. 拦截器栈(Interceptor Stack).Struts2拦截器栈就是将拦截器按一定的顺序联结成一条链.在访问被拦截的方法或字段时,Struts2拦截器链中的拦截

过滤器、监听器、上下文、servlet线程安全问题

就像名字写那样,过滤器可以过滤请求,比如对一些评论进行过滤.又不改原有代码的基础上可以加上一个过滤器,或者是登陆验证.集中在一个过滤器中处理.写一个类实现接口 Filter 之后一定要在配置文件中配置!!!监听器可以监听,上下文的概念. 过滤器: 什么是过滤器: servlet规范当中定义的一种特殊的组件,用来拦截servlet容器的调用过程. 会先调过过滤器的方法,过滤器决定是否向后继续调用就是调用servlet容器 容器收到请求之后 通常情况下会调用servlet的service方法来处理请

springBoot(6)---过滤器,监听器,拦截器

过滤器,监听器,拦截器 一.理解它们 看里十几篇博客,总算有点小明白,总的来讲,两张图可以让我看明白点. 通过两幅图我们可以理解拦截器和过滤器的特点 1.过滤器 过滤器是在请求进入tomcat容器后,但请求进入servlet之前进行预处理的.请求结束返回也是,是在servlet处理完后,返回给前端之前. 理解上面这句话我们就可以知道,进入servlet之前,主要是两个参数:ServletRequest,ServletResponse  那我们得到这两个测试可以干哪些事呢? 我们可以通过Servl

JavaWEB过滤器和监听器技术

过滤器介绍 什么是过滤器 生活中的例子: 滤水器,口罩,杯子上滤网,渔网 生活中的过滤器:留下我们想要的,排除,我们不想要的. 高考: 只有分数够高的同学才能进入理想的大学.有一部分同学被拦截在大学之外.(起到拦截的作用) 传智播客: 一开始大家都是小白,进入传智播客学习,经历了4个月的学习,毕业之后,具有了一定(月薪10000左右)的编码能力. (对每一个经过的学员,都增强了学员的编码能力,起到了增强的作用) JavaWeb中的过滤器的概念: 对请求和响应进行拦截或者增强的对象,就是过滤器.

过滤器、监听器、拦截器配置

一.过滤器.监听器配置在web.xml配置文件中,拦截器则不一定,可通过 web.xml加载配置拦截器的文件: 1.在DispatcherServlet的初始化过程中,Spring会在web应用的WEB-INF文件夹下寻找名为[servlet-name]-servlet.xml的配置文件,     生成文件中定义的bean.这些bean会覆盖在全局范围(global cope)中定义的同名的bean.如果servletName-servlet.xml不在默认路径下必须显示指定. 2. 在 XXX

Java 过滤器、监听器、拦截器的区别

原文:http://www.360doc.com/content/10/0601/09/495229_30616324.shtml 1.过滤器 Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码.做一些业务逻辑判断等.其工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截到请求,此时你就可以对请求或响应(Request.Response)统一设置编码,简化操作:同时还可进行逻辑判断,如用户是否