今天被一个朋友问起在SSH的项目中,过滤器、拦截器、监听器都分别是什么,又都是干什么用的。结合目前学习到的和自己应用的体会,大概有以下几个方面。

1.过滤器:顾名思义就是过滤请求内容的,所谓的过滤就是我们可以获得request对象中的值进行一系列的判断或者其他的操作。我们可以使其字符集编码格式改变等。具体的示例代码看下面的例子。

1 public class MyFilter implementsjavax.servlet.Filter {2 /**

3 * 初始化4 */

5 @Override6 public void init(FilterConfig arg0) throwsServletException {7 }8 /**

9 * 销毁10 */

11 @Override12 public voiddestroy() {13 }14 /**

15 * 过滤16 */

17 @Override18 public voiddoFilter(ServletRequest arg0, ServletResponse arg1,19 FilterChain arg2) throwsIOException, ServletException {20 arg0.setCharacterEncoding("utf-8"); //设置request对象的字符集格式

21 arg2.doFilter(arg0, arg1); //继续执行 请求

22 }23 }

这个是Filter实体的代码,在web.xml文件中我们需要对其需要拦截的请求配置监听范围,或者说过滤哪些url。

1

2 myfilter

3 com.mine.test.MyFilter

4

5

6 myfilter

7 /*

8

其实struts2本身就依托于一个总过滤器:

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2

/*

2. 拦截器  我们使用struts预定义过的拦截器时只需要做相应的配置即可,大多数常用的都会在default中有定义,而在struts.xml中不写就默认使用这个default。当我们自己创建了一个Intercepter对象时我们需要对其进行配置,具体配置的方法这里就不赘述了,戳此处 http://www.blogjava.net/brock/archive/2009/08/20/291919.html  。拦截器中有三个基本的方法对应其生命周期。

a.初始化  b.执行拦截  c.销毁。针对action请求进行处理,脱离了servlet API,不处理一般的url请求。

3. 监听器  我们常用的监听器一般会对一些对象进行监听。比如spring 的总监听器 会在服务器启动的时候实例化我们配置的bean对象 、 hibernate 的 session 的监听器会监听session的活动和生命周期,负责创建,关闭session等活动。

这里只是一个简单的认识,欢迎大家表达自己的观点。   邮箱:hpuzyp@163.com   欢迎来信交流。

java ssh过滤器_SSH中的过滤器,拦截器,监听器的一些基本认识相关推荐

  1. Filter(过滤器) 和 interceptor(拦截器)的区别

    Filter(过滤器) 和 interceptor(拦截器)的区别 1.拦截器是基于java反射机制的,而过滤器是基于函数回调的. 2.过滤器依赖于Servlet容器,而拦截器不依赖于Servlet容 ...

  2. 过滤器(Filter)与拦截器(Interceptor )区别(转)

    原文地址:https://www.cnblogs.com/junzi2099/p/8022058.html#_labelTop 原文地址:https://www.cnblogs.com/junzi20 ...

  3. 【Java Web开发学习】Spring MVC 拦截器HandlerInterceptor

    [Java Web开发学习]Spring MVC 拦截器HandlerInterceptor 转载:https://www.cnblogs.com/yangchongxing/p/9324119.ht ...

  4. Java微信公众号开发之使用拦截器获取粉丝openID

    目的 本次实现的目的是:在微信公众号项目中,可能在每次访问页面的时候需要带上openid或者授权,查数据库太耗性能.多次多个地方去调授权接口也不是最佳的方案,如果能利用拦截器拦截到每次请求访问后台,这 ...

  5. springboot中配置了拦截器后,拦截器无效的解决方案之一

    springboot中配置了拦截器后,拦截器无效的解决方案之一 参考文章: (1)springboot中配置了拦截器后,拦截器无效的解决方案之一 (2)https://www.cnblogs.com/ ...

  6. spring拦截器覆盖_Spring中使用Interceptor拦截器

    SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那 ...

  7. SpringMVC中使用Interceptor拦截器

    2019独角兽企业重金招聘Python工程师标准>>> SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理. ...

  8. vue项目中 axios请求拦截器与取消pending请求功能 - 年少、 - 博客园

    在开发vue项目中,请求是不可缺少的,在发送请求时常常需要统一处理一些请求头参数等设置与响应事件,这时利用请求拦截器再好不过. 这里以axios请求为例 实现了设置统一请求头添加token, 其中to ...

  9. 使用struts2中默认的拦截器以及自定义拦截器

    转自:http://blog.sina.com.cn/s/blog_82f01d350101echs.html 如何使用struts2拦截器,或者自定义拦截器.特别注意,在使用拦截器的时候,在Acti ...

最新文章

  1. 【HDU】1251统计难题 (字典树:二维数组,结构体数组,链表,map)
  2. MySQL查看、创建和删除索引的方法
  3. 软件项目管理0710:招标文件准备【求助】
  4. c语言vi运行编译文件,VC++6.0中如何编译运行及调试C语言程序文件.docx
  5. 【bzoj4709】[Jsoi2011]柠檬 斜率优化
  6. 微软发布ASP.NET 5路线图
  7. python垃圾分类图像识别算法_用算法帮上海大妈垃圾分类,扔错罚款!长点心吧你...
  8. 手写instanceof
  9. 394高校毕业设计选题
  10. 几种常见的HTML分割线
  11. 天朝有一个乞丐姓洪,去天桥要钱 第一天要了1块钱 第二天要了2块钱 第三天要了4块钱 第四天要了8块钱 以此类推 问题: 洪乞丐干10天,收入是多少?
  12. 2021年熔化焊接与热切割考试题库与解析
  13. bzoj1755[Usaco2005 qua]Bank Interest*
  14. 茶艺概述20210411
  15. html5新年网页做给父母的,给父母的感谢信5篇模板
  16. 解决Win10已阻止应用程序访问图形硬件问题(亲测有效)
  17. noip2006 JAM计数法 (模拟)
  18. Ubnt Er-X MTU相关设置
  19. Microchip PIC单片机
  20. python通过qt5添加水印_Python 批量加水印就这么简单!

热门文章

  1. java windows wifi_[转] win7 电脑无线网变身WiFi热点
  2. python计算3j系数_python数值基础知识浅析
  3. 学业水平考试网登录_海南高中学业水平考试成绩查询免费登录入口:http://ea.hainan.gov.cn/(已开通)...
  4. NIO详解(九):Channel详解
  5. php 验证座机,验证国内手机号与座机号的正则表达式
  6. Redis的两种消息模式
  7. CentOS下与Apache连接的PHP多版本共存方案实现详解
  8. win2003服务器通过ipsec做防火墙的配置方法
  9. 批量删除文件名中的相同文字
  10. 【Luogu】P3224永无乡(splay)