servlet 监听器
来源:互联网 发布:淘宝店主页装修 编辑:程序博客网 时间:2024/06/06 04:13
Servlet监听器用于监听一些重要事件的发生,监听器对象可以在事情发生前、发生后可以做一些必要的处理。下面将介绍几种常用的监听器,以及它们都适合运用于那些环境。
分类及介绍:
1. ServletContextListener:用于监听WEB 应用启动和销毁的事件,监听器类需要实现javax.servlet.ServletContextListener 接口。
2. ServletContextAttributeListener:用于监听WEB应用属性改变的事件,包括:增加属性、删除属性、修改属性,监听器类需要实现javax.servlet.ServletContextAttributeListener接口。
3. HttpSessionListener:用于监听Session对象的创建和销毁,监听器类需要实现javax.servlet.http.HttpSessionListener接口或者javax.servlet.http.HttpSessionActivationListener接口,或者两个都实现。
4. HttpSessionActivationListener:用于监听Session对象的钝化/活化事件,监听器类需要实现javax.servlet.http.HttpSessionListener接口或者javax.servlet.http.HttpSessionActivationListener接口,或者两个都实现。
5. HttpSessionAttributeListener:用于监听Session对象属性的改变事件,监听器类需要实现javax.servlet.http.HttpSessionAttributeListener接口。
部署:
监听器的部署在web.xml文件中配置,在配置文件中,它的位置应该在过滤器的后面Servlet的前面
web.xml配置文件:
黑色头发:http://heisetoufa.iteye.com/
分类及介绍:
1. ServletContextListener:用于监听WEB 应用启动和销毁的事件,监听器类需要实现javax.servlet.ServletContextListener 接口。
- public class QuartzListener implements ServletContextListener {
- private Logger logger = LoggerFactory.getLogger(QuartzListener.class);
- public void contextInitialized(ServletContextEvent sce) {
- }
- /**
- *在服务器停止运行的时候停止所有的定时任务
- */
- @SuppressWarnings("unchecked")
- public void contextDestroyed(ServletContextEvent arg0) {
- try {
- Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
- List<JobExecutionContext> jobList = scheduler.getCurrentlyExecutingJobs();
- for (JobExecutionContext jobContext : jobList) {
- Job job = jobContext.getJobInstance();
- if (job instanceof InterruptableJob) {
- ((InterruptableJob) job).interrupt();
- }
- }
- scheduler.shutdown();
- } catch (SchedulerException e) {
- logger.error("shut down scheduler happened error", e);
- }
- }
- }
2. ServletContextAttributeListener:用于监听WEB应用属性改变的事件,包括:增加属性、删除属性、修改属性,监听器类需要实现javax.servlet.ServletContextAttributeListener接口。
3. HttpSessionListener:用于监听Session对象的创建和销毁,监听器类需要实现javax.servlet.http.HttpSessionListener接口或者javax.servlet.http.HttpSessionActivationListener接口,或者两个都实现。
- /**
- *
- * 会话监听器
- * <p />
- *
- */
- public class SessionListener implements HttpSessionListener {
- @Override
- public void sessionCreated(HttpSessionEvent arg0) {
- }
- @Override
- public void sessionDestroyed(HttpSessionEvent event) {
- HttpSession session = event.getSession();
- User user = (UcmSession) session.getAttribute("currUser");
- if (user != null) {
- //TODO something
- }
- }
- }
4. HttpSessionActivationListener:用于监听Session对象的钝化/活化事件,监听器类需要实现javax.servlet.http.HttpSessionListener接口或者javax.servlet.http.HttpSessionActivationListener接口,或者两个都实现。
5. HttpSessionAttributeListener:用于监听Session对象属性的改变事件,监听器类需要实现javax.servlet.http.HttpSessionAttributeListener接口。
部署:
监听器的部署在web.xml文件中配置,在配置文件中,它的位置应该在过滤器的后面Servlet的前面
web.xml配置文件:
- <!-- Quartz监听器 -->
- <listener>
- <listener-class>
- com.flyer.lisenter.QuartzListener
- </listener-class>
- </listener>
黑色头发:http://heisetoufa.iteye.com/
- Servlet监听器
- servlet监听器
- Servlet监听器
- Servlet监听器
- servlet 监听器
- servlet监听器
- Servlet监听器
- servlet监听器
- Servlet监听器
- Servlet监听器
- Servlet监听器
- Servlet监听器
- Servlet监听器
- Servlet监听器
- servlet监听器
- servlet监听器
- servlet监听器
- servlet监听器
- 分享android开发过程中用到的一些开源框架
- Axis2 Web服务配置文件services.xml详解
- EXTJS中store的用法
- C# 中调用C++ DLL
- N/A
- servlet 监听器
- C语言的布尔类型
- extern "C" 的用意
- Swinghacks——带搜索功能的JTextArea
- 【PHPExcel】常用方法汇总
- Send Emails from PL/SQL
- android 自带sax解析
- 用VC++实现USB接口读写数据的程序
- 立体匹配算法介绍