Servlet对象作用域、Servlet监听器

一.Servlet对象作用域

1.ServletContext    

应用服务器一启动就产生该对象,服务器关闭及销毁。作用于全局(整个Web应用),所有Servlet,相当于静态变量   

2.HttpSession    

客户端第一次请求产生,session过期或网页关闭而销毁,作用于同一个客户端,相当于一个成员变量

3.ServletRequset    

一次请求会产生一个这样的对象,请求结束则销毁。作用于同一次请求,相当于局部变量。

方法:

void setAttribute(String, Object) 设置属性

Object getAttribute(Sting) 获取属性

void removeAttribute(String) 删除属性

Enumeration getAttributeNames() 获取所有属性名



二.Servlet监听器   

工作流程:

1.确定对象               

2.写一个类,实现对象的监听器接口,把业务逻辑接口必须实现的方法中             

3.在web.xml中配置节点 

              <listener>

                   <listener-class>Servlet类路径</listener-class>  

             </listener>             

4.监听器调用相应方法

1、HttpSession事件:   

a.HttpSessionListener接口:监听httpSession的创建和销毁。 

sessionCreated()      创建时触发      

sessionDestroyed()    销毁时触发      

b.HttpSessionAttributeListener接口:监听session属性状态        

attributeAdded()      属性加入时触发     

attributeReplaced()   属性修改时触发      

attributeRemoved()    属性删除时触发   

c.HttpSessionBindingListener接口:用于监听绑定对象到session属性,不需要在web.xml中注册(惟一一个不需要注册的)      

valueBound()      

valueUnbound()   

d.HttpSessionActivationListener接口:      

sessionDidActivate()      

sessionWillPassivate      

2、ServletContext事件:    

a.ServletContextListener接口:监听ServletContext创建可销毁

contextInitialized()  ServletContext创建时触发       

contextDestroy()      ServletContext销毁时触发    

b.ServletContextAttributeListener接口:与HttpSessionAttributeListener接口类似       

attributeAdded()      属性加入时触发      

attributeReplaced()   属性修改时触发      

attributeRemoved()    属性删除时触发      

3、HttpServletRequest事件:    

a.SHttpServletRequestListener接口:监听HttpServletRequest创建可销毁       

requestInitialized()  HttpServletRequest创建时触发       

requestDestroy()      HttpServletRequest销毁时触发    

b.HttpServletRequestAttributeListener接口:与HttpSessionAttributeListener接口类似       

attributeAdded()      属性加入时触发       

attributeReplaced()   属性修改时触发       

attributeRemoved()    属性删除时触发

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java Servlet监听器Servlet的一种功能组件,它可以监听并响应Web应用程序中特定事件的发生。通过监听器,我们可以在特定事件发生时执行一些操作。监听器可以监听Servlet中的多个作用域对象,如ServletContext、HttpSession和ServletRequest。例如,可以使用监听器来监听在线用户数量、初始化上下文或会话等事件。配置监听器需要在web.xml文件中添加相应的配置,指定监听器的类名和监听的事件。例如,在web.xml中可以配置一个监听application的监听器,如下所示:在代码中,我们还可以通过实现HttpSessionListener接口来创建自定义监听器。这样的监听器可以在session创建和销毁时执行特定的操作。例如,在下面的代码中,我们定义了一个实现了HttpSessionListener接口的监听器,当会话创建时,我们将会话计数器加一,并将其存储在ServletContext中;当会话销毁时,我们将会话计数器减一,并更新ServletContext中的计数器值。这样,我们就可以在应用程序中使用Java Servlet监听器来监听并响应特定事件的发生。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【JavaWeb】之Servlet监听器](https://blog.csdn.net/qq_42146402/article/details/127481125)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [Servlet监听器——实现在线登录人数统计小例子](https://blog.csdn.net/rongxiang111/article/details/53487381)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值