1、Java Web中没有像asp.net的全局启动事件,但是可以通过web.xml中的load-on-startup节点来控制Servlet的开机启动和启动次数。web.xml详细配置参考:http://www.cnblogs.com/EasonJim/p/6221952.html

灵感出自:

http://stackoverflow.com/questions/4122437/java-equivalent-to-asp-net-global-asax

http://stackoverflow.com/questions/16535998/session-start-event-handler-in-jsp

配置如下:

  <!-- 配置类似asp.net的Global.asax -->
<servlet>
<display-name>ProcessServlet</display-name>
<servlet-name>ProcessServlet</servlet-name>
<servlet-class>com.jsoft.jblog.servlet.ProcessServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>

Servlet:

package com.jsoft.jblog.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet; public class ProcessServlet extends HttpServlet { public void init() throws ServletException
{
System.out.println("[info] Global Start Up");
} public void destroy() {
System.out.println("[info] Global End");
}
}

上面已经实现了Global的启动和结束事件,那么Session的启动和结束实现应该如何去实现?

web.xml配置:

  <!-- 配置SessionStart -->
<listener>
<listener-class>com.jsoft.jblog.servlet.SessionListener</listener-class>
</listener>

Servlet:

package com.jsoft.jblog.servlet;

import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener; public class SessionListener implements HttpSessionListener { @Override
public void sessionCreated(HttpSessionEvent se) {
HttpSession session = se.getSession();
System.out.println("[info]SessionCreated");
} @Override
public void sessionDestroyed(HttpSessionEvent se) {
System.out.println("[info]SessionDestroyed");
}
}

Servlet实现asp.net中的Global.asax启动事件(Servlet和Listener使用)的更多相关文章

  1. asp.net中使用Global.asax文件中添加应用出错代码,写入系统日志文件或数据库

    void Application_Error(object sender, EventArgs e) { // 在出现未处理的错误时运行的代码 Exception objErr = Server.Ge ...

  2. (转)客户端触发Asp.net中服务端控件事件

    第一章. Asp.net中服务端控件事件是如何触发的 Asp.net 中在客户端触发服务端事件分为两种情况: 一. WebControls中的Button 和HtmlControls中的Type为su ...

  3. ASP.NET MVC中的Global.asax文件

    1.global.asax文件概述 global.asax这个文件包含全局应用程序事件的事件处理程序.它响应应用程序级别和会话级别事件的代码. 运行时, Global.asax 将被编译成一个动态生成 ...

  4. ASP.NET MVC中注册Global.asax的Application_Error事件处理全局异常

    在ASP.NET MVC中,通过应用程序生命周期中的Application_Error事件可以捕获到网站引发的所有未处理异常.本文作为学习笔记,记录了使用Global.asax文件的Applicati ...

  5. SharePoint中使用Global.asax

    Global.asax是ASP.Net应用程序的一个文件,用来处理Application级别的事情.可以添加自定义代码到这个文件,详细使用方式见 http://msdn.microsoft.com/e ...

  6. ASP.NET MVC5基础 - Global.asax详解

    简介 作用 Global.asax的处理事件 实例说明 总结 简介 Global.asax是一个文本文件,它提供全局可用代码.这些代码包括应用程序的事件处理程序以及会话事件.方法和静态变量.有时该文件 ...

  7. ASP.NET中定制自己的委托和事件参数类

    本文笔记选自<庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术>一书 一般在实际开发中,对于事件不需要传递数据信息时,像上面的KingTextBox控件的事件,在引发事件时传递的 ...

  8. asp.net中application,cookies,stateview,session的使用

    Cookie Cookie的用法也和ASP中差不多.比如我们建立一个名为aspcn,值为飞刀的cookie HttpCookie cookie = new HttpCookie["aspcn ...

  9. ASP.NET中Global.asax 文件是什么?

    Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法.你可以使用这个文件实现应用程序安全性以及其它一些任务.下面让我们详细看 ...

随机推荐

  1. Ubuntu1404安装gogs过程

    一.Gogs介绍 Gogs (Go Git Service) 是一款极易搭建的自助 Git 服务. Gogs 的目标是打造一个最简单.最快速和最轻松的方式搭建自助 Git 服务.使用 Go 语言开发使 ...

  2. 2、软件设计师要阅读的书籍 - IT软件人员书籍系列文章

    软件设计师在项目组中的地位比软件工程师相对要高一些.但是他们所要阅读的书籍差别还是比较大的.同样的,软件设计师也要阅读比较多的书籍,以能够完成项目的任务为目的,同时还要提高自身在项目组中的竞争地位,而 ...

  3. 开发者调试工具Chrome Workspace

    Workspace是个什么样的东西呢?他能够在开发者工具中调试修改js或者css同时自动保存文件,能够避免开发人员在工具中调试好,再到编辑器中修改一次代码的重复操作,能够提高一定的效率 配置Chrom ...

  4. Java调用solrj5.5.3接口,查询数据

    前期准备 搭建solr服务 参考上一篇,搭建solr搜索服务. 添加依赖 maven工程的话,添加如下依赖, <!-- https://mvnrepository.com/artifact/or ...

  5. Ubuntu如何选择更新源

    刚装上Ubuntu, 决定先更新一下源. 虽然网上搜索提供了很多更新源,结果替换上实际使用的时候,却发现总是有404无法连接的情况. 后来查查资料,发现Ubuntu自己就提供了很多的源管理. 具体更新 ...

  6. PS技巧:如何优雅的抠公章?

    搞设计的很苦逼,整天面对各种各样任务,除了修图.排版外,还时不时会有些另类需求.这时如果掌握一些小技巧就不用临时抱佛脚啦. 下面献上一计:教大家怎么用PS抠公章.有需要的拿去,PS:不要干坏事吆! 效 ...

  7. Linux查看关机时间

    在Linux系统中,如何查看系统什么时候执行了shutdown命令关闭服务器了呢? 方法1:使用 last -x|grep shutdown 查看shutdown的历史记录 [root@mylnx20 ...

  8. Ambari server:无法显示内存,CPU等使用率

    Ambari server安装完毕后,都能正确显示各种信息.运行了几天后,发现无法显示内存,CPU等信息. 查找日志发现有错误,日志路径:/var/log/ambari-server/ambari-s ...

  9. mysql while,loop,repeat循环,符合条件跳出循环

    1.while循环 DELIMITER $$ DROP PROCEDURE IF EXISTS `sp_test_while`$$ CREATE PROCEDURE `sp_test_while`( ...

  10. x01.Weiqi.8: 一点改进

    原来的代码全部删除,进行了深层次重构,得其意而忘其言.得意之处有二: 1.关于显示 以 StoneSize 属性为依托,在 set 中加了一句:Width = Height = m_StoneSize ...