SERVLET监听大全

扬声器设计避坑指南:用Comsol分析反电动势对THD的影响(附案例文件) 本文深入探讨了扬声器设计中反电动势对总谐波失真的关键影响。通过COMSOL仿真,详细分析了BL值非线性、音圈电感变化等电磁-力-声耦合机制,并提供了从参数化建模到系统级优化的实战指南,帮助工程师精准量化并降低谐波失真,提升扬声器音质。 阅读详情
 Servlet API提供了基本的应用程序事件监听器接口。编程者可以通过实现这些接口来使用管理事件的功能。Servlet2.4以后提供了对以下对象的事件监听:ServletContext,HttpSession,ServletRequest。监听ServletContext可以使Web程序得知整个应用程序载入和卸载等运行情况。监听HttpSession可以Web程序了解应用程序会期间的状况并作出响应。监听ServletRequest可以使Web程序控制Web请求的生命周期。
下面结合JavaServetAPI官方文档对各个事件监听器接中进行说明。
一、ServletContextListener
所在包:javax.servlet
接口声明:public interface ServletContextListener extends java.util.EventListener
方法:
1.void contextDestroyed(ServletContextEvent sce)
当应用被卸载后触发执行该方法中的代码。
2.void contextInitialized(ServletContextEvent sce)
当应用在初始化时触发执行该方法中的代码。

这里需要对ServletContentEvent说明一下,它是一个ServletContext对象的事件,其类的声明如下:
public class ServletContentEvent extends java.util.EventObject
包含方法:ServletContext getServletContext(),返回事件的Servlet上下文,即产生事件的当前应用程序。

二、ServletContextAttributeListener
所在包:javax.servlet
接口声明:public interface ServletContextAttributeListener
extends java.util.EventListener
方法:
1. void attributeAdded(ServletContextAttributeEvent scab)
当一个新的属性加入到Servlet的上下文中后触发该方法中的代码。
2.void attributeRemoved(ServletContextAttributeEvent scab)
当一个属性被从servlet的上下文中移走后触发该方法中的代码。
3.void attributeReplaced(ServletContextAttributeEvent scab)
当servlet上下文中的一个属性的值被替换后触发该方法中的代码。

ServletContextAttributeEvent是servlet上下文里的属性的事件,其类声明如下:
public class ServletContextAttributeEvent
extends ServletContextEvent
包含方法:String GetName(),返回产生事件的属性名称;Object GetValue(),返回产生事件的属性的值。

三、HttpSessionListener
所在包:javax.servlet
接口声明:public interface HttpSessionListener
extends java.util.EventListener
方法:
1.void sessionCreated(HttpSessionEvent se)
当一个会话被创建后触发执行该方法中的代码。
2.void sessionDestroyed(HttpSessionEvent se)
当一个会话被释放后触发执行该方法中的代码。

HttpSessionEvent是会话事件类,其声明如下:
public class HttpSessionEvent
extends java.util.EventObject
包含方法:HttpSession getSession(),返回产生事件的session对象。

四、HttpSessionActivationListener
所在包:javax.servlet
接口声明:public interface HttpSessionActivationListener
extends java.util.EventListener
方法:
1.void SessionDidActivate(HttpSessionEvent se)
2.void SessionWillPassivate(HttpSessionEvent se)
Activate与Passivate是用于置换对象的动作,当session对象为了资源利用或负载平衡等原因而必须暂时储存至硬盘或其它储存器时(透过对象序列化),所作的动作称之为Passivate,而硬盘或储存器上的session对象重新加载JVM时所采的动作称之为Activate。

五、HttpSessionAttributeListener
所在包:javax.servlet
接口声明:public interface HttpSessionAttributeListener
extends java.util.EventListener
方法:
1.void attributeAdded(HttpSessionBindingEvent se)
2.void attributeReplaced(HttpSessionBindingEvent se)
3.void attributeRemoved(HttpSessionBindingEvent se)
以上三个方法分别在会话属性被加入、会话属性值被修改和会话属性被移除时触发执行。

HttpSessionBindingEvent是一个会话事件对象类,其声明如下:
public interface HttpSessionBindingListener
extends java.util.EventListener
包含方法:String getName(),返回产生当前事件的会话的属性名。Object getValue(),返回产生当前事件的会话的属性值。HttpSession getSession(),返回产生当前事件的会话对象。

六、HttpSessionBindingListener
所在包:javax.servlet
接口声明:public interface HttpSessionBindingListener
extends java.util.EventListener
方法:
1.void valueBound(HttpSessionBindingEvent event)
当实现HttpSessionBindingListener接口的对象被绑定到Session Attribute中,该对象的此方法被执行。
2.void valueUnbound(HttpSessionBindingEvent event)
当实现HttpSessionBindingListener接口的对象被从Session Attribute解除绑定,该对象的此方法被执行。

请注意HttpSessionAttributeListener与HttpSessionBindingListener的区别:
1.前者是需要在web.xml中进行描述的,后者不需要。
2.前者是在任何session的属生变化时都会触发执行其方法中的代码,而后者只是在实现它的对象被绑定到会话属性或被从会话属生中解除绑定时,才会触发执行那个对象的valueBound和valueUnboundy这两个方法的代码。比如说有两个对象A和B都实现了HttpSessionBindingListener接口,当A被绑定到会话属性中时,只是A的valueBound()方法被触发执行。

七、ServletRequestListener
所在包:javax.servlet
接口声明:public interface ServletRequestListener
extends java.util.EventListener
方法:
1.void RequestDestroyed(ServletRequestEvent evt)
2.void RequestInitialized(ServletRequestEvent evt)
以上两个方法分别在ServetRequest对象初始化和清除时触发执行。

ServletRequestEvent表示ServletReuest事件类,其声明如下:
public class ServletRequestEvent
extends java.util.EventObject
包含方法:ServletContext getServletContext(),获得当前Web应用程序的上下文对象。ServletRequest getServletRequest(),获得当前事件的主体,ServletRequest对象。

八、ServletRequestAttributeListener
所在包:javax.servlet
接口声明:public interface ServletRequestAttributeListener
extends java.util.EventListener
方法:
1.void attributeAdded(ServletRequestAttributeEvent e)
当向ServlvetRequest对象属性中添加属性后触发执行该方法。
2.void attributeRemoved(ServletRequestAttributeEvent e)
当向ServlvetRequest对象属性中移除属性后触发执行该方法。
3.void attributeReplaced(ServletRequestAttributeEvent e)
当修改ServlvetRequest对象属性的属生值后触发执行该方法。

ServletRequestAttributeEvent是ServletRequest属性事件类,其声明如下:
public class ServletRequestAttributeEvent
extends ServletRequestEvent
包含方法:String getName(),获得触发事件的属性的名称。Object getValue(),获得触发事件的属生的值。

  下面说明如何在web.xml中布署事件监听器以实现对事件的处理,格式如下:
<listener>
  <listener-class>
    fey.servlet.listener.CustomServletContextListener
  </listener-class > 
</listener>
  其中fey.servlet.listener.CustomServletContextListener是实现上述各事件监听器接口的类名。当然,你需要将这些类放入Web容器的Web应用的classes或lib目录下以让Web容器可以找到。
  另外说明一点,一个类可以一个或多个监听器接口。 

【nnUNetv2进阶】四、nnUNetv2 魔改网络-小试牛刀-加入注意力机制ChannelAttention 本文介绍了在nnunet中加入ChannelAttention的方法,按照本文教的教程,可以快速完成ChannelAttention的加入和自定义模型的跑通。 阅读详情

相关推荐

Linux系统中u-boot启动流程分析(详解)

代码部分,具体如下;

嵌入式技术开发 1953

JavaWEB开发-Servlet监听

JavaWEB开发-Servlet监听器简介。 监听器:专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。 Servlet 监听器:Servlet 规范中定义的一种特殊类,它用于监听 web 应用程序中的 ServletContext, HttpSessionServletRequest 等域对象的创建与销毁事件,以及监听

1997

RAG测评实战代码

本文主要介绍了RAG测评实战代码,希望对使用RAG的同学们有所帮助。 文章目录 1. 前言 2. 实战代码 2.1 实战代码一 2.2 实战代码二

herosunly的博客 1万+

Servlet的filter和listener,重点了解ServletContext

一 filter是servlet2.3新增加的功能,功能是在请求到达servlet之前和返回之前可以修改request和response。 还可以通过继承HttpServletRequestWrapper去重写request和response的一些方法 二 listener的作用查了一些资料没有看到想要的答案,然后决定自己去看看源码,以web.xml中spring配置的listener为例子 ...

xxx 626

Servlet中的ServletRequestEventServletRequestListener

Servlet中的ServletRequestEventServletRequestListener (ServletRequestEvent and ServletRequestListener in Servlet) ServletRequestEvent class gives notification about lifecycle events for a ServletRequ...

cunfen6312的博客 852

Servlet中的8大监听

1 概述 Listener用于监听servlet中的事件,例如context、request、session对象的创建、修改、删除,并处罚响应事件。 Listener是观察者模式的实现,在servlet中主要用于对context、request、session对象的生命周期进行监控。在servlet2.5规范中共定义了8中Listener。 2 Servlet三大作用域 2.1 Servlet...

西瓜游侠的博客 4822

Java Servlet学习笔记——7. 监听

写在前面 这一部分学习监听器。Servlet API提供了一系列的事件和事件监听接口。上层的servlet/JSP应用能够通过调用这些API进行事件驱动的开发。 这里监听的所有事件都继承自java.util.Event对象。 监听器接口可以分为三类:ServletContext、 HttpSessionServletRequest 。 Servlet 3.0中出现的新监听器接口——java...

zy2317878的博客 440

the currently displayed page contains invalid values 解决方法

问题源头 下载的Android开源项目的源码导入到Eclipse之后又错误,无法正常使用。于是按照:设置SDK,Fix Progect Properties,Clean项目等步骤修改设置程序,但是整个项目依然有一个大大的叹号,无法使用,尤其是在设置SDK时,蹦出了the currently displayed page contains invalid values的提示,如下界面。

Snowball 6073

(Android)The currently displayed page contains invalid values 解决方法

这是个简答的问题,但是出现的地方有很多种,其实一共就这两种解决方法,多余的不说,直接说解决方法。1 当项目中遇到时: 项目丢失了default.properties这个文件导致的,从别的项目中拷贝一个过来,修改成对应的target即可 2 当eclipse遇到时: eclipse版本不兼容adt,导致adt没有下载完全,但eclipse只是禁用了这个adt没有把它卸载掉,"Help" ->

CNnumen 3030

Eclipse出现The currently displayed page contains invalid values

Eclipse导入工程后,在设置Java Build path时跳出错误提示:The currently displayed page contains invalid values 如下图所示: 可能的原因之一, 看看工程中是否缺乏某个配置文件导致,一般不是代码之类的问题,我这里的原因是缺少project.properties. 因为我在git server中配置了过滤pr

surgent777的专栏 1万+

eclipse之The currrently displayed page contains invalid values异常

eclipse之The currrently displayed page contains invalid values错误 现象: eclipse的preferences里面需要保存密码,保存报错 Could Not Accept Changes The currrently displayed page contains invalid values 或者是保存后,再次打开prefe

Pompeii的专栏 1250

eclipse经常会遇到问题的解决方案

当我们在eclipse中导入一个android项目的时候,当遇到了“ the currently displayed page contains invalid values  ” 的问题时: 使用以下的解决方案: 1 当项目中遇到时: 项目丢失了default.properties这个文件导致的,从别的项目中拷贝一个过来,修改成对应的target即可 2 当eclipse遇

黑菜妞妞的专栏 967

android错误 the currently displayed page contains invalid values

引用:http://www.cnblogs.com/yourancao520/archive/2012/01/04/2311561.html 就会出现"the currently displayed page contains invalid values"的字样,之后发现没有为项目选择build target成功。 解决方法 原因是没有default.properties这个文...

weixin_30786617的博客 82

The currently displayed page contains invalid values

当把android的项目代码导入Eclipse开发环境时,出现“The currently displayed page  contains invalid values”问题,原因是项目中缺少default.properties文件,可以从其他项目 中拷贝一个default.properties,并将其加入到当前项目中,编辑其内容,例如:target=android-8,即可解决问题!!

JavaQ 3472

Carsim与Simulink联合仿真资源包

本资源包包含了一系列本人搭建的Carsim与Simulink联合仿真模型,旨在为广大学生和研究者提供一个学习和交流的平台。资源中涵盖了多种车辆控制算法的介绍和实现,例如车道保持(LKA)、自适应巡航(ACC)、轨迹跟随、横向控制、预瞄跟随、单点预瞄、多点预瞄、滑模变结构控制以及模糊控制等。资源内容车道保持(LKA): 通过Simulink与Carsim的联合仿真,实现车辆在车道内的稳定行驶。自适应巡航(ACC): 设计了车辆自动调整速度以适应前方车辆的运动状态。轨迹跟随: 让车辆能够准确地沿着预设的路径行驶。横向控制: 控制车辆在横向运动中的稳定性。预瞄跟随: 实现了对前方路径的预判,使车辆能够更加平稳地行驶。单点预瞄/多点预瞄: 提供了不同预瞄点的算法实现,以满足不同的行驶需求。滑模变结构控制: 利用滑模控制理论,提高了车辆控制的鲁棒性。模糊控制: 通过模糊逻辑来实现对车辆的控制,增加了控制的灵活性。

STM32F103C8T6+ATT7022E+HT7036 硬件参考设计PDF原理图+数据手册+ATT7022EU模块软件源码

STM32F103C8T6+ATT7022E+HT7036 硬件参考设计PDF原理图+芯片数据手册+ATT7022EU模块软件例程源码,可做为你的学习及设计参考。

上一篇: Eclipse快捷键
下一篇: 一些需要记住并努力去做的事
Justin_579
博客等级 码龄21年 3粉丝 63原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值