网络编程 
首页 > 网络编程 > 浏览文章

JSP监听器用法分析

(编辑:jimmy 日期: 2024/10/8 浏览:3 次 )

本文实例讲述了JSP监听器用法。分享给大家供大家参考,具体如下:

监听器也叫Listener,是servlet服务的监听器。它可以监听客户端的请求,服务端的操作等。比如统计在线用户数量。每当增加一个HttpSession时,就会触发sessionCreate(HttpSessionEvent se)方法,这样就可以给在线人数加1.常用的监听器接口如下:

1. ServletContextAttributeListener监听对ServletContext属性的操作。比如增加,删除,修改属性。

2. ServletContextListener监听ServletContext。当创建ServletContext时,激发contextInitialized(ServletContextEvent   sce)方法;当销毁ServletContext时,激发contextDestroyed(ServletContextEvent   sce)方法。

3. HttpSessionListener监听HttpSession的操作。当创建一个Session时,激发session   Created(HttpSessionEvent   se)方法;当销毁一个Session时,激发sessionDestroyed   (HttpSessionEvent   se)方法。
4. HttpSessionAttributeListener监听HttpSession中的属性的操作。当在Session增加一个属性时,激发attributeAdded(HttpSessionBindingEvent   se)   方法;

当在Session删除一个属性时,激发attributeRemoved(HttpSessionBindingEvent se)方法;

当在Session属性被重新设置时,激发attributeReplaced(HttpSessionBindingEvent se) 方法。

一个在线统计的例子:

public class ONline implements ServletContextListener,HttpSessionListener,HttpSessionAttributeListener(){
private ServletContext application = null;
 public void contextInitialized(ServletContextEvent arg0) {
 //根据响应事件参数初始化ServletContext
 this.application = arg0.getServletContext();
 //在ServletContext中存放一个空的用户信息列表
 application.setAttribute("users", new ArrayList());
 }
 public void sessionDestroyed(HttpSessionEvent arg0) {
 List list = (List)application.getAttribute("users");
 String name = arg0.getSession().getAttribute("name").toString();
 list.remove(name);
 application.setAttribute("users", list);
 }
 public void attributeAdded(HttpSessionBindingEvent arg0) {
 List list = (List)application.getAttribute("users");
 if(arg0.getName().equals("name")){
  list.add(arg0.getValue().toString());
 }
 application.setAttribute("users", list);
 }
}

web.xml文件中配置:

<listener>
   <listener-class>package.classname</listener-class>
</listener>

附:session在何时被创建"false"%>来关闭session,则在jsp页面编译成Servlet页面时会自动加上HttpServletRequest.getSession(true)这句话。这也是jsp中隐藏对象session的来历。

希望本文所述对大家jsp程序设计有所帮助。

上一篇:jsp获取url路径的方法分析
下一篇:jsp播放视频文件的方法总结
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?