监听器:监听某个对象状态的变化

被监听的对象:request、session、servletContext

监听对象的创建和销毁/对象属性的变化

ServletContext HttpSession ServletRequest
ServletContextListener HttpSessionListener ServletRequestListener
ServletContextAttributeListener HttpSessionAttributeListener ServletRequestAttributeListener

与session相关的监听器,监听session中的对象

HttpSessionBindingListener 对象在session绑定或对象从session中解绑

HttpSessionActivationListener 对象的钝化与活化,(大访问量时考虑将session持久化)

这两个接口是绑到对象中的,不需要在web.xml中配置

钝化:将session持久化到磁盘

活化:将session从磁盘到内存

tomcat的钝化:

<?xml version="1.0" encoding="UTF-8"?>
<Context>
<!-- maxIdleSwap:session中的对象多长时间不使用就钝化 单位:分钟 -->
<!-- directory:钝化后的对象的文件写到磁盘的哪个目录下 配置钝化的对象文件在work/catalina/localhost/钝化文件 -->
<Manager
className="org.apache.catalina.session.PersistentManager"
maxIdleSwap="1">
<Store className="org.apache.catalina.session.FileStore"
directory="demo01" />
</Manager>
</Context>

package cn.sasa.domain;

import java.io.Serializable;

import javax.servlet.http.HttpSessionActivationListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionBindingListener;
import javax.servlet.http.HttpSessionEvent; //HttpSessionBindingListener--- Customer对象绑定到session或从session解绑
//HttpSessionActivationListener---钝化/活化。钝化:将session持久化到磁盘。活化:session从磁盘到内存。(大访问量时可将session设置持久化)
//Serializable 序列化到磁盘
public class Customer implements HttpSessionBindingListener, HttpSessionActivationListener,Serializable{ private static final long serialVersionUID = 1L; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} private String name; public void valueBound(HttpSessionBindingEvent event) {
System.out.println("cus 绑定");
} public void valueUnbound(HttpSessionBindingEvent event) {
System.out.println("cus 解绑");
}
//钝化
public void sessionWillPassivate(HttpSessionEvent se) {
System.out.println("Customer passivate");
} //活化
public void sessionDidActivate(HttpSessionEvent se) {
System.out.println("Customer Activate");
} }

监听器 Listener的更多相关文章

  1. javaweb学习总结(四十七)——监听器(Listener)在开发中的应用

    监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用 一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听 ...

  2. javaWeb学习总结(11)- 监听器(Listener)在开发中的应用

    监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用 一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听 ...

  3. javaWeb学习总结(11)- 监听器(Listener)学习

    一.监听器介绍 1.1.监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其 实就是一个实现特定接口的普 ...

  4. [09] 监听器 Listener

    1.事件 1.1 事件的概念 在Servlet中有一个概念叫做监听,顾名思义,就是监听某种事件是否发生.就如你是一家娱乐媒体公司的老板,你派出狗仔队去跟着某些明星,比如你想了解他们的绯闻,或者活动进展 ...

  5. java之Servlet监听器Listener

    常用应用场景:单点登录.统计在线人数 一.简介 (一)概述 1.Listener 用于监听 java web程序中的事件,例如创建.修改.删除Session.request.context等,并触发响 ...

  6. 过滤器Filter与监听器Listener

    过滤器Filter 过滤器也是一种servlet   它也可以对用户的请求进行处理  , 但是他所做的处理,只是一些轻量级的处理.Fileter就好像jsp页面与servlet之间的一道关卡,如果这个 ...

  7. JAVA监听器Listener

    JAVA监听器Listener 一. 简介 监听器用于对web中内置对象的状态或者属性变化进行监听并做出相应响应的一种Servlet;在内置对象的生命周期中,产生.销毁等状态发生变化时,监听器就会进行 ...

  8. 过滤器(Filter)、拦截器(Interceptor)、监听器(Listener)

    一.Filter 过滤器 1.简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servle ...

  9. JavaWeb学习 (二十七)————监听器(Listener)在开发中的应用

    监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用 一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听 ...

  10. Servlet 监听器Listener详解

    转自:http://blog.csdn.net/u012228718/article/details/41730799 一.简介 (一)概述 1.Listener 用于监听 Javaweb程序中的事件 ...

随机推荐

  1. Set集合判断对象重复的方法

    Set<User> userSet = new HashSet<>(); User user1= new User("aa","11") ...

  2. springboot配置Druid数据源

    springboot配置druid数据源 Author:SimpleWu springboot整合篇 前言 对于数据访问层,无论是Sql还是NoSql,SpringBoot默认采用整合SpringDa ...

  3. PHP游戏概率方法

    <?php function createRandomKey($randArr, $rateKey){ $total = 0; $chooseArr = array(); $pow = 0; / ...

  4. C#代码执行耗时计算,此处是监测的mvc控制器方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u011511086/article/details/78710980using System;usi ...

  5. Promise(interesting)

    // 最主要的是理解setTimeout和(浏览器执行程序 || resolve执行位置)的顺序就能吃透了 //(MD 楞是看了我2个小时时间 真的是费脑洞︿( ̄︶ ̄)︿)X.then.then 以下 ...

  6. BZOJ-10-1176: [Balkan2007]Mokia-CDQ第二类应用

    思路 :按照操作的时间进行分治,这样转化成了 时间t ,x坐标,y坐标 经典的三维偏序. 最初时间就是递增顺序,无需排序直接进行第二维的分治,类似归并排序处理x坐标,在保证 x有序的情况下进行更新y坐 ...

  7. 跑的飞快的dinic

    orz kczno1 目前还是不知道怎么卡,也不会证明复杂度是正确的 其实我感觉卡不了

  8. 执行Android后台任务的最佳实践

    灵活执行后台任务可以帮助提升应用性能,并最小化电量损耗. Android后台任务主题包含以下三个子主题: 1. 在IntentService中执行后台任务: 2. 使用CursorLoader在后台加 ...

  9. [POJ2559]Largest Rectangle in a Histogram (栈)

    题意 如图所示,在一条水平线上有n个宽为1的矩形,求包含于这些矩形的最大子矩形面积(图中的阴影部分的面积即所求答案). 思路 一个很老的,也是一个很好的题目. 维护一个单调栈即可. 不过在洛谷SP18 ...

  10. BZOJ4665: 小w的喜糖 DP

    对于这道题,首先每个人的位置并不影响结果 所以我们可以将相同颜色糖果的人放在一块处理 设 $f_{i,j}$ 表示处理到第 $i$ 种糖果至少有 $j$ 人的糖果和原先的类型相同 枚举当前种类中不满足 ...