范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Listener监听器

  Listener
  ServletRequestListener
  public class MyRequestListener implements ServletRequestListener {      @Override     public void requestDestroyed(ServletRequestEvent sre) {         System.out.println("请求销毁了…");     }      @Override     public void requestInitialized(ServletRequestEvent sre) {         System.out.println("创建请求…");     } }ServletRequestAtrributeListener
     com.demo.MyRequestAttributeListener <%@ page contentType="text/html;charset=UTF-8" language="java" %>       试下请求中属性状态的改变   <%   // 实现属性的添加   request.setAttribute("name", "zhangfei");    // 实现属性的修改   request.setAttribute("name", "liubei");    // 实现属性的删除   request.removeAttribute("name"); %>  package com.demo;  import jakarta.servlet.ServletRequestAttributeEvent; import jakarta.servlet.ServletRequestAttributeListener;  public class MyRequestAttributeListener implements ServletRequestAttributeListener{     @Override     public void attributeAdded(ServletRequestAttributeEvent srae) {         System.out.println("增加了属性:" + srae.getName());     }      @Override     public void attributeRemoved(ServletRequestAttributeEvent srae) {         System.out.println("删除属性:" + srae.getName());     }      @Override     public void attributeReplaced(ServletRequestAttributeEvent srae) {         System.out.println("修改属性:" + srae.getName());     } }HttpSessionListener
  <?xml version="1.0" encoding="UTF-8"?>                com.demo.MySessionListener                         3      package com.demo;  import jakarta.servlet.http.HttpSessionEvent; import jakarta.servlet.http.HttpSessionListener;  public class MySessionListener implements HttpSessionListener {     @Override     public void sessionCreated(HttpSessionEvent se) {         System.out.println("创建了session...");     }      @Override     public void sessionDestroyed(HttpSessionEvent se) {         System.out.println("session销毁…");     } }HttpSessionAttributeListener
  <%@ page contentType="text/html;charset=UTF-8" language="java" %>       实现会话中属性状态的改变   <%   // 增加属性   session.setAttribute("name", "caocao");    // 修改属性   session.setAttribute("name","liubei");    // 删除属性   session.removeAttribute("name"); %>  package com.demo;  import jakarta.servlet.http.HttpSessionAttributeListener; import jakarta.servlet.http.HttpSessionBindingEvent;  public class MySessionAttributeListener implements HttpSessionAttributeListener {     @Override     public void attributeAdded(HttpSessionBindingEvent event) {         System.out.println("增加了属性:" + event.getName());     }      @Override     public void attributeRemoved(HttpSessionBindingEvent event) {         System.out.println("删除了属性:" + event.getName());     }      @Override     public void attributeReplaced(HttpSessionBindingEvent event) {         System.out.println("修改属性:" + event.getName());     } }ServletContextListener
     com.demo.MyContextListener package com.demo;  import jakarta.servlet.ServletContextEvent; import jakarta.servlet.ServletContextListener;  public class MyContextListener implements ServletContextListener {      @Override     public void contextInitialized(ServletContextEvent sce) {         System.out.println("ServletContext对象创建了…");     }      @Override     public void contextDestroyed(ServletContextEvent sce) {         System.out.println("ServletContext销毁了…");     } }ServletContextAttributeListener
  <%@ page contentType="text/html;charset=UTF-8" language="java" %>       实现ServletContext对象属性的改变   <%   // 增加属性   application.setAttribute("name","liubei");    // 修改属性   application.setAttribute("name","zhouyu");    // 删除属性   application.removeAttribute("name"); %>  package com.demo;  import jakarta.servlet.ServletContextAttributeEvent; import jakarta.servlet.ServletContextAttributeListener;  public class MyContextAttributeListener implements ServletContextAttributeListener {     @Override     public void attributeAdded(ServletContextAttributeEvent event) {         System.out.println("添加了属性:" + event.getName());     }      @Override     public void attributeRemoved(ServletContextAttributeEvent event) {         System.out.println("删除了属性:" + event.getName());     }      @Override     public void attributeReplaced(ServletContextAttributeEvent event) {         System.out.println("修改了属性:" + event.getName());     } }HttpSessionBindingListener
  <%@ page import="com.demo.Person" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %>       实现session中对象的绑定和解除   <%    // 准备一个person类型对象    Person person = new Person();    person.setName("John");    person.setAge(30);     // 将对象与session对象进行绑定    session.setAttribute("person", person);     // 解除绑定    session.removeAttribute("person"); %>  package com.demo;  import jakarta.servlet.http.HttpSessionBindingEvent; import jakarta.servlet.http.HttpSessionBindingListener; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;  @Data @NoArgsConstructor @AllArgsConstructor public class Person implements HttpSessionBindingListener {     private String name;     private int age;      @Override     public void valueBound(HttpSessionBindingEvent event) {         System.out.println("对象绑定到session...");     }      @Override     public void valueUnbound(HttpSessionBindingEvent event) {         System.out.println("对象接触绑定成功…");     } }HttpSessionActivationListener钝化:序列化,也可以叫持久化,把Session放到硬盘中,进行持久化保存。
  活化:反序列化,把Session从硬盘读到内存中。
  tomcat配置文件<%@ page import="com.demo.Student" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %>       实现session中数据的钝化和活化   <%--钝化--%> <%   // 创建Student类型的对象   Student student = new Student();   student.setName("huhu");    // 将数据放入到session中   session.setAttribute("student", student); %>  <%@ page contentType="text/html;charset=UTF-8" language="java" %>       实现session中数据的获取   <%--  活化--%>   <%     Object student = session.getAttribute("student");     System.out.println("获取到的数据:" + student);   %>  package com.demo;  import jakarta.servlet.http.HttpSessionActivationListener; import jakarta.servlet.http.HttpSessionEvent; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;  import java.io.Serializable;  @Data @NoArgsConstructor @AllArgsConstructor public class Student implements Serializable, HttpSessionActivationListener {     private String name;      @Override     public void sessionWillPassivate(HttpSessionEvent se) {         System.out.println("执行了钝化操作…" + se.getSession());     }      @Override     public void sessionDidActivate(HttpSessionEvent se) {         System.out.println("活化操作进行中…" );     } }案例:在线用户数量的统计<?xml version="1.0" encoding="UTF-8"?>                com.demo.OnlineUser      <%@ page contentType="text/html;charset=UTF-8" language="java" %>       实现当前在线的用户数量       

当前在线用户人数为:${applicationScope.count}

package com.demo; import jakarta.servlet.ServletContext; import jakarta.servlet.ServletContextEvent; import jakarta.servlet.ServletContextListener; import jakarta.servlet.http.HttpSessionEvent; import jakarta.servlet.http.HttpSessionListener; public class OnlineUser implements HttpSessionListener, ServletContextListener { // 声明ServletContext类型的引用作为全局对象来记录当前用户的数量 ServletContext servletContext = null; @Override public void contextInitialized(ServletContextEvent sce) { servletContext = sce.getServletContext(); } @Override public void contextDestroyed(ServletContextEvent sce) { servletContext = null; } @Override public void sessionCreated(HttpSessionEvent se) { System.out.println("新用户上线了…"); Object count = servletContext.getAttribute("count"); // 当前用户为第一个用户,则将对象中的属性值设置为1 if (null == count) { servletContext.setAttribute("count", 1); } else { // 不是第一个用户,则将全局对象中原有数据取出来再加1 Integer intCount = (Integer)count; intCount++; servletContext.setAttribute("count", intCount); } System.out.println("当前在线用户数量为:" + servletContext.getAttribute("count")); } @Override public void sessionDestroyed(HttpSessionEvent se) { System.out.println("有用户下线了…"); } }

刘诗雯帮母亲圆世界冠军梦,30岁未退役感情成谜,乒乓球是全部文果果在国家队女乒的队伍里,她或许并不是成绩耀眼的选手,但却是越挫越勇的一位,如今已经30岁的她,在经历了二十多年的坎坷与风雨后,依旧坚守在球桌上。她就是东北姑娘刘诗雯,身材娇小,社保交满十五年后还需要再交吗?需要。社保最低缴费年限是多少?社保包括养老保险医疗保险失业保险生育保险工伤保险。其中,养老保险和医疗保险有最低缴费年限。根据社保法的规定,基本养老保险的最低缴费年限是15年,缴费满不一样的价值大地一片茵茵人海一片忠诚天空一片心愿春天的大地震撼如雷雨泣了山河人扛了天地广阔的大地朝西的虔诚痛快的意义何在在于痛快地度过一生拥抱浩瀚的天空拥抱古老的大地唤醒了科学的飞天革命这是短清风专栏远方有你文清风编辑清风图片网络远方有你时间抵达的阡陌上高山抚琴,流水静音又一次,亲近脚下的泥土我知道,那是你曾经走过的路几许春风轻抚,仿若穿越时空,你俏丽的身影徜徉于小径,伫立水岸迎春花又东阿阿胶味蕾的最深处是家的味道人生活到70岁,不过76000顿饭,有些饭,我们从一日三餐,变成一日两餐,后来,变成一年几餐。那一刻,我们变成了外乡的大人,门外世界,孤身一人闯荡,关上门,曾经的梦想家,梦没了,只夜读丨饮一杯岁月的酒,往事如昔文字丨雪儿主播丨安静的微笑在我们的人生里,走过的岁月,都变成了往事,值得怀念的,铭记的,深刻的,清浅的,刻骨铭心的,或者无法言说的,都是我们最珍贵的记忆。纳兰说十年青鸟音尘断,往事总有一朵花养了你的眼,总有一首歌怡了你的心曾经,被歌单里的一首老歌唱哭自己,那缓缓流淌的音符敲醒了尘封的自己,还有那字字珠玑的歌词唱醉了苍白的流年,更被那娓娓道来的歌声唱痛了一夜的灯火阑珊,一夜梦醒清欢的人世,宛如那艳丽的人世间最大的不公平是智力上的不公平这个世界上有很多的不公平,有性别上的不公平,也有家境上的不公平,还有长相上的不公平,甚至还有身高上的不公平。这些确实都是不公平,但是随着年龄越来越大,我越来越发现人世间最大的不公平发车了,发车了!去月球的船票要不要?自1969年7月20日这一具有历史意义的日子宇航员尼尔阿姆斯特朗首次踏上月球以来已经过去了50多年下一次谁会登上月球一直是人们想要知道的答案近日NASA宣布将开始重启阿尔忒弥斯计划罗布泊复活了?曾经的原子弹试验场,如今却能养活亿万中国人说起新疆罗布泊,你首先想到的是什么?是神秘恐怖的死亡之地,还是令人钦佩的核爆试验场?这片被称为生命禁区的地方,曾让无数的人迷失其中,科学家彭加木无故失踪,探险家余纯顺不幸遇难。但同琥珀昆虫标本的肚子里,竟藏着水晶玛瑙来源昆明日报掌上春城一滴树脂包裹住昆虫,经过亿万年演化,成为一颗琥珀化石。这其中藏着什么秘密?中国德国美国缅甸等多国学者进行的一项最新研究发现,在一些琥珀昆虫标本的肚子里,竟有水晶
珍惜美好遇见2022。2。22今天充满了爱意,是个千载难逢的好日子。或许一些关注,不需要解释,一个点赞便可了然。也许一些友情,不需要表白,你若安好便是春天。岁月,免不了炎凉荣枯人生,少不了离合都赢了K宝有荣誉千金有金牌莎莎无人能敌的5个4周跳创记录没有获得奖牌,但她被俄罗斯民众称为英雄,瓦利耶娃被授予国家最高荣誉冬奥花滑比赛结束后,K宝提前返回俄罗斯,众多粉丝前来机场迎接,当她出线的那一刻,民众们手拉横幅高声表达对她的支持,适合官宣恋情的短句1天时地利,人和2从此,人狗殊途3你和冬天接踵而来4妈,我被猪拱走了5点赞,份子钱八折6只要是你,我都认栽7从此加入柠檬供应商8恭喜X总喜提娇妻!9国家分配的终于到货了10可以开始火星移民生活之必解难题如何在火星上制造氧气?人的生存需要呼吸,离不开氧气。如果我们要在火星和月球上建立基地或移民定居区,就必须要解决长期的供氧问题。事实证明,在这些星球上制造氧气比在地球上要麻烦一些。最近一项在自然通讯期刊上47岁贾静雯被逼生4胎,丈夫却出轨陈意涵,明星日子太难熬近日,一段关于贾静雯老公修杰楷的采访曝光,一时激起千层浪,网友们又沸腾了。据贾静雯老公修杰楷爆料,在荧幕上看起来长相靓丽,气质绝佳的女神贾静雯,在醉酒之后,反差却天壤之别。这到底是哈勃拍到三个星系合并在一起的惊人图像太空绝对是充满神秘的。这就是为什么我们建造了像太空望远镜这样的东西甚至把一些卫星送到我们周围未知的广阔地带。这些航天器多年来给我们带来了很多信息,而一些新的航天器将有助于带来更多信美媒将戴维斯和伦纳德的伤病史进行比较,戴维斯遭遇批评公平吗安东尼戴维斯在全明星赛前湖人对阵犹他爵士的最后一场比赛中受伤。这一次,安东尼戴维斯因脚踝扭伤要休养至少一个月,给湖人球迷留下了各种无奈。因为球迷们都好奇戴维斯会因为缺乏训练而继续受北京冬奥会闭幕式上隐藏的3个国学知识点,你看出来了吗?大家好,我是以史为鉴。引起全球瞩目的本届北京冬奥会2月20日在鸟巢完美落下了帷幕,许多人都对闭幕式上美奂绝伦的表演和场景感叹不已,但是其实在闭幕式上,还隐藏着中华文化的许多个知识点最新研究!吃枸杞真的可以保护眼睛改善视力说到枸杞,想必大家都很熟悉。毕竟保温杯里泡枸杞,是当代年轻人的养生必备品。当然,对于中老年人来说,枸杞的保健功效更是不言而喻。在我国传统的中医文化中,枸杞一直被认为具有滋肾润肺补肝国乒江嘉良娶当红吴玉芳,妻子为爱隐退,32年婚姻幸福文L编辑璋队长对于江嘉良这一人物,作为年轻的球迷,或许可能会倍感陌生。然而,他却是开创中国乒乓球一整个时代的人,在上个世纪80年代,为当时的球迷们留下了相当深刻的印象。凭借着帅气的谷智鑫34岁拍戏坠马瘫痪,女友照顾他8年,未办婚礼成遗憾提起谷智鑫,一部分人可能还不是很熟悉。他就是我是特种兵中的灵魂人物庄焱,一个早期荧幕中的硬汉角色。2013年,在谷智鑫事业突飞猛进的时期,他因为一场骑马的戏,不幸从马背摔下来,脊柱