监听与跟踪

Servlet 里的监听器
        servlet规范包括三个技术点: servlet listener filter 。监听器有三类 8
什么是监听器
        监听器就是监听某个对象的的状态变化的组件,是一个实现特定接口的Java 类,当被监听对象发生特定事件后,监听器的某个对应的方法将会被立即执行
监听器的相关概念
        事件源:被监听的对象  ----- 三个域对象 request  session  servletContext
        监听器:监听事件源对象  事件源对象的状态的变化都会触发监听器
        注册监听器:将监听器与事件源进行绑定
        响应行为:监听器监听到事件源的状态变化时 所涉及的功能代码 ---- 程序员编写代码
监听器的作用
        当应用中特定事件发生时自动执行一些操作,可以检测网站的在线人数、统计网站的访问量等在Servlet 规范中定义了多种类型的监听器,它们用于监听的事件源分别 ServletContext, HttpSession 和ServletRequest这三个域对象。和其它事件监听器略有不同的是, servlet 监听器的注册不是直接注册在事件源上,而是由WEB 容器负责注册,开发人员只需在 web.xml 文件中使用 <listener> 标签配置好监听器。
监听对象的创建和销毁
        HttpSessionListener、 ServletContextListener ServletRequestListener 分别监控着Session、Context、Request对象的创建和销毁
        HttpSessionListener可以用来收集在线者信息
        ServletContextListener可以获取 web.xml 里面的参数配置,实现页面计数器
        ServletRequestListener
监听对象属性变化
        ServletContextAttributeListener、 HttpSessionAttributeListener ServletRequestAttributeListener
分别监听着 Context Session Request 对象属性的变化。这三个接口中都定义了三个方法来处理被监听对象中的属性的增加,删除和替换的事件,同一个事件在这三个接口中对应的方法名称完全相同,只是接受的参数类型不同。例如attributeAdded() attributeRemoved() attributeReplaced()
监听 Session 内的对象
        HttpSessionBindingListener和 HttpSessionActivationListener ,实现这两个接口并不需要在 web.xml 文件中注册实现HttpSessionBindingListener 接口, JavaBean 对象可以感知自己被绑定到 Session 中和从 Session 中删除的事件【和 HttpSessionAttributeListener 的作用是差不多的】
实现 HttpSessionActivationListener 接口, JavaBean 对象可以感知自己被活化和钝化的事件(当
服务器关闭时,会将 Session 的内容保存在硬盘上【钝化】,当服务器开启时,会将 Session 的内容
在硬盘式重新加载【活化】)
想要测试出 Session 的硬化和钝化,需要修改 Tomcat 的配置的。在 META-INF 下的 context.xml 文件中添
加下面的代码:
<Context>
     <Manager className="org.apache.catalina.session.PersistentManager" maxIdleSwap="1">         
      <Store className="org.apache.catalina.session.FileStore" directory="yanjun"/> 
    </Manager>
 </Context>
跟踪用户的 4 种方法
        会话就是从客户端打开与服务器的连接并发出请求,到服务器响应客户请求的全过程
会话跟踪就是对一个用户对服务器的连续请求和接受响应的监视。由于客户和服务器是基于 HTTP 协议进行通信的,不能保存客户的信息,也就是说一次响应结束之后连接就断开了,下一次请求时,需要重新建立连接,建立连接后还需要判断是否是同一个客户。
        隐藏字段:非常适合步需要大量数据存储的会话应用
        URL重写:可以确保所有浏览器中有效,但是大量数据会降低性能。 而且这样的 URL 是不安全的,不过对于简单应用,URL 重写是可信赖的,也很容易实现
        Cookie:优点是在浏览器会 话结束后,甚至在客户端计算机重启后它仍可以保留其值
        Session:记录一系列状态,Session的两种传递方法第一种通过cookies实现。第二种通过URL重写来实现。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值