JavaWeb

JavaWeb,第1张

1. 监听Servlet :   Listener
            主要功能是负责监听Web的各种 *** 作,当相关的事件触发后将产生事件,并对事件进行处理。

2.监听器分为3种:
   
application监听器
    session监听器
    request监听器

application监听器

《如图所示&代码演示》

需要实现:ServletContextListener(常用)

然后重写方法  容器启动时调用

//容器启动时调用
public void contextInitialized(ServletContextEvent event){
    
  }


//容器消毁时调用
  public void contextDestroyed(ServletContextEvent event){
    
  }

 Session监听器

实现:HttpSessionListener  (偶尔用)
 重写:

《如图所示&代码演示》

//session创建时调用
  public void sessionCreated(HttpSessionEvent event){

  }

  //session销毁时调用
  public void sessionDestroyed(HttpSessionEvent event){

  }

HttpSessionEvent事件方法:
    .getSession()    //取得当前的session

实现:HttpSessionAttributeListener (不用,性能差)
  重写:

HttpSessionBindingEvent事件方法:
    .getSession()    //取得session
    .getName()    //取得属性的名称
    .getValue()    //取得属性的内容

//增加属性时触发
  public void attributeAdded(HttpSessionBindingEvent event){
	
  }

  //删除属性时触发
  public void attributeRemoved(HttpSessionBindingEvent event){
	
  }

  //替换属性时触发
  public void attributeReplaced(HttpSessionBindingEvent event){
	
  }

request监听器 

 实现:ServletRequestListener (不用,性能差)
  重写:

ServletRequestEvent事件方法:
    .getServletRequest()    //取得ServletRequest对象
    .getServletContext()    //取得ServletContext对象

//请求开始时调用
  public requestInitialized(ServletRequestEvent event){

  }

  //请求结束时调用
  public requestDestroyed(ServletRequestEvent event){

  }

补充:

为什么说session监听器和request监听器一般都不用?
                因为以request监听器为例,如果采用request监听,那就意味着每次请求都要触发一次监听,这大大降低了程序的效率,因此很少用。

web.xml:

        在tomcat执行时被加载。
         正常关闭时被销毁。

 
  	com.zking.listener.CountRSListener
  

《实例演示》统计在线人数

 

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/724281.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存