listener的应用

原创 2012年03月29日 20:02:11

1  ServletContext(application)对象

 

package net.company.web.listener;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import net.company.service.DepartmentService;
import net.company.service.DepartmentServiceBean;
import net.company.service.EmployeeService;
import net.company.service.EmployeeServiceBean;
import net.company.util.TxManagerProxy;

/**
 * ServletContext对象
 *    |-->服务器启动时创建,每个Web应用有一个
 *    |-->可以被所有Servlet所共享
 */
     
public class MyContextListener implements ServletContextListener {

 public void contextDestroyed(ServletContextEvent arg0) {
   ServletContext context=arg0.getServletContext();
   context.removeAttribute("departmentService");
   context.removeAttribute("employeeService");
   System.out.println("==ServletContextListener destroy==");
 }

 public void contextInitialized(ServletContextEvent arg0) {
   
          ServletContext context=arg0.getServletContext();
          //从代理对象中获得departmentService的对象,放到servletContext(application)对象中,类似spring中 的静态注入
          context.setAttribute("departmentService", (DepartmentService)new TxManagerProxy().getInstance(new DepartmentServiceBean()));
          context.setAttribute("employeeService", (EmployeeService)new TxManagerProxy().getInstance(new EmployeeServiceBean()));
          System.out.println("==ServletContextListener init==");
 }

}

 在action中通过

 private EmployeeService es=(EmployeeService)ServletActionContext.getServletContext().getAttribute("departmentService");获取对象

 

2 、sessionContext(session对象)

 

package net.company.web.listener;

import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
/**
 *监听Session(会话)对象的创建
 *  |--->http(1.1)-->无状态协议(在这个协议中不会保存会话(客户端与服务端进行通讯的过程)状态)
 *    |-->TCP/IP(四层)
 *      |-->应用层
 *      |-->网络层(网际层)
 *      |-->数据链路层
 *      |-->物理层
 *    |-->ISO(七层协议)
 **/
public class MySessionListener implements HttpSessionListener {

 public void sessionCreated(HttpSessionEvent arg0) {
  //Session创建

 }

 public void sessionDestroyed(HttpSessionEvent arg0) {
  
  //Session销毁

 }

}

 

相关文章推荐

监听器(Listener)在开发中的应用(一)

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

J2EE中监听器Listener的应用

本文以二个Listener实例来讲述ServletContext、HttpSession对象生命周期及ServletContext、HttpSession对象中属性变化情况。     ...

Google Test(GTest)使用方法和源码解析——Listener技术分析和应用

本文介绍了GTest框架的Listener技术。

好记性不如烂笔头37-java应用中的监听器Listener(1)

监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。监听器其实就是一个实现特定接口的普通java程序,这个程序专门用于监听另一...
  • ffm83
  • ffm83
  • 2015年02月06日 11:07
  • 714

监听器(Listener)在开发中的应用(二)

需求:显示登陆用户列表,并实现踢人功能。 为了实现这个需求,我们大可不必搞得那么复杂,设计成用户一旦登录,就让其跳转到网站首页。 现在开始写代码实现我们这个需求。在Eclipse中新建一个动态We...

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

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

Servlet中Listener的应用[转]_监听器

Servlet中Listener的应用[转]_监听器 2008年06月19日 星期四 12:46 由于工作需要,最近在找一些解决方案,发现Listener是一个很好的东西,...

SpringBoot中Servlet&Listener&Filter的应用

在spring boot中添加自己的Servlet有两种方法,代码注册Servlet和注解自动注册: 一、代码注册通过ServletRegistrationBean、 FilterRegistrati...

listener 实例

  • 2017年11月07日 10:41
  • 835B
  • 下载

自定义dialo,可以传listener

  • 2013年08月13日 16:19
  • 1.16MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:listener的应用
举报原因:
原因补充:

(最多只允许输入30个字)