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

时间:2023-02-20 16:05:49

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

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

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

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

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资源

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

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

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

匹配顺序:

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>

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

  1. struts2 javaweb 过滤器、监听器 拦截器 原理

    转: 过滤器.监听器 拦截器 过滤器 创建一个 Filter 只需两个步骤: (1)创建 Filter 处理类: (2)在 web.xml 文件中配置 Filter . 创建 Filter 必须实现 ...

  2. 第16 天 JavaWEB过滤器和监听器技术

    Day16 JavaWEB过滤器和监听器技术 复习: 1.大结果集分页mysql的实现,是使用那个关键字,从user表中取第一页的数据,长度为10,sql语句怎么写? 2.分页查询的起始位置(star ...

  3. Servlet过滤器和监听器知识总结&lpar;转&rpar;

    Servlet过滤器和监听器知识总结(转)  Servlet过滤器是 Servlet 程序的一种特殊用法,主要用来完成一些通用的操作,如编码的过滤.判断用户的登录状态.过滤器使得Servlet开发者能 ...

  4. springBoot&lpar;6&rpar;---过滤器,监听器,拦截器

    过滤器,监听器,拦截器 一.理解它们 看里十几篇博客,总算有点小明白,总的来讲,两张图可以让我看明白点. 通过两幅图我们可以理解拦截器和过滤器的特点 1.过滤器 过滤器是在请求进入tomcat容器后, ...

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

    一.过滤器 Filter也称之为过滤器,它是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 ...

  6. Unit08: 过滤器、监听器

    Unit08: 过滤器.监听器 下面这些小案例主要演示的filter的执行时机: web package web; import java.io.IOException; import javax.s ...

  7. JavaEE-07 过滤器和监听器

    学习要点 过滤器 监听器 过滤器Filter 过滤器的概念 过滤器位于客户端和web应用程序之间,用于检查和修改两者之间流过的请求和响应. 在请求到达Servlet/JSP之前,过滤器截获请求. 在响 ...

  8. Servlet过滤器和监听器知识总结

    Servlet过滤器是 Servlet 程序的一种特殊用法,主要用来完成一些通用的操作,如编码的过滤.判断用户的登录状态.过滤器使得Servlet开发者能够在客户端请求到达 Servlet资源之前被截 ...

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

    一.什么是Servlet Servlet使用Java语言实现的程序,运行于支持Java语言的Web服务器或者应用服务器中.Servlet先于JSP出现,提供和客户端动态交互的功能.Servlet可以处 ...

  10. 小白的springboot之路(十三)、过滤器、监听器、拦截器

    0.前言 过滤器.监听器.拦截器在实际开发中经常需要用到,下面我们来介绍一下spring boot中如何使用: 一.------ 过滤器 ----- 1.作用: 过滤器是客户端与服务器资源文件之间的一 ...

随机推荐

  1. save&lpar;&rpar;&comma;saveorupdate&lpar;&rpar;还有marqe&lpar;&rpar;

    所有这三个方法,也就是save().saveOrUpdate()和persist()都是用于将对象保存到数据库中的方法,但其中有些细微的差别.例如,save()只能INSERT记录,但是saveOrU ...

  2. Java开发WebService的几种方法--转载

    webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2 Axis是apache下一个开源的webservice开发组件 ...

  3. hdu 4750 Count The Pairs &lpar;2013南京网络赛&rpar;

    n个点m条无向边的图,对于q个询问,每次查询点对间最小瓶颈路 >=f 的点对有多少. 最小瓶颈路显然在kruskal求得的MST上.而输入保证所有边权唯一,也就是说f[i][j]肯定唯一了. 拿 ...

  4. springMVC修改用户请求内容

    最近在做一个微信相关的网站,很多地方涉及到微信表情的输入,导致内容无法插入到数据库,虽然有用到一个表情过滤的工具类,但是需要过滤的地方比较多,于是想到在过滤器中过滤用户请求的内容. request这个 ...

  5. 利用final定义方法:这样的方法为一个不可覆盖的方法。

      常量(这里的常量指的是实例常量:即成员变量)赋值: ①在初始化的时候通过显式声明赋值.Final int x=3: ②在构造的时候赋值. 局部变量可以随时赋值.   利用final定义方法:这样的 ...

  6. 自己动手实现爬虫scrapy框架思路汇总

    这里先简要温习下爬虫实际操作: cd ~/Desktop/spider scrapy startproject lastspider # 创建爬虫工程 cd lastspider/ # 进入工程 sc ...

  7. Tomcat学习总结(11)——Linux下的Tomcat安全优化

    1.web.xml配置及修改: 站点默认主页: <welcome-file-list> <welcome-file>index.html</welcome-file&gt ...

  8. Netty 高性能之道 - Recycler 对象池的复用

    前言 我们知道,Java 创建一个实例的消耗是不小的,如果没有使用栈上分配和 TLAB,那么就需要使用 CAS 在堆中创建对象.所以现在很多框架都使用对象池.Netty 也不例外,通过重用对象,能够避 ...

  9. UltraEdit常用设置及快捷键

    = 关闭自动加载上次文件的方法,操作方法如下:首先,要打开UltraEdit,然后点击经[高级]-[配置],找到[文件处理]-[加载],把[重新载入先前在启动时打开的文件]勾去掉,并确定就可以了. 附 ...

  10. 【个人训练】(POJ1276)Cash Machine

    最近的很多题解应该都是dp相关的了,emmm因为dp对我而言思考难度比较大,那么为了理顺自己的思路当然只能通过写blog整理了.愿我能成功搞定dp这个大关!(至少中等难度的dp要能够解决啊o(TヘTo ...