Global.java文件:

 import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletRequest;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener; public class Global implements ServletContextListener, HttpSessionListener,
ServletRequestListener { @Override
public void contextInitialized(ServletContextEvent sce) {
// TODO Auto-generated method stub
System.out.println("网站启动");
ServletContext application = sce.getServletContext();
application.setAttribute("count", 10);
} @Override
public void contextDestroyed(ServletContextEvent sce) {
// TODO Auto-generated method stub
ServletContext application = sce.getServletContext();
application.setAttribute("count", 0);
System.out.println("网站停止");
} @Override
public void requestInitialized(ServletRequestEvent arg0) {
// TODO Auto-generated method stub
System.out.println("服务器接收一个请求");
ServletRequest request = arg0.getServletRequest();
if (request instanceof HttpServletRequest) {
HttpServletRequest httpRequest = (HttpServletRequest) request;
String url = httpRequest.getRequestURI();
System.out.println(url);
}
} @Override
public void requestDestroyed(ServletRequestEvent arg0) {
// TODO Auto-generated method stub
System.out.println("服务器销毁一个请求");
} @Override
public void sessionCreated(HttpSessionEvent arg0) {
// TODO Auto-generated method stub
System.out.println("服务器创建一个会话");
HttpSession session = arg0.getSession();
session.setAttribute("count", 10); ServletContext application = session.getServletContext();
Object obj = application.getAttribute("count");
if (obj instanceof Integer) {
Integer appCount = (Integer) obj;
appCount += 1;
application.setAttribute("count", appCount);
}
} @Override
public void sessionDestroyed(HttpSessionEvent arg0) {
// TODO Auto-generated method stub
System.out.println("服务器销毁一个会话");
HttpSession session = arg0.getSession();
ServletContext application = session.getServletContext();
Object obj = application.getAttribute("count");
if (obj instanceof Integer) {
Integer appCount = (Integer) obj;
appCount -= 1;
application.setAttribute("count", appCount);
}
}
}

Global

web.xml文件:

 <?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<listener>
<listener-class>Global</listener-class>
</listener>
</web-app>

web.xml

最新文章

  1. MySQL 数据库常用命令
  2. 一次完整的HTTP事务分析
  3. Expected MultipartHttpServletRequest: is a MultipartResolver configured?
  4. mysql常用数据类型的选择
  5. 基于S7-200的PLC对里程轮(增量式码盘)解码的应用
  6. 《Mysql 公司职员学习篇》 第二章 小A的惊喜
  7. vimdiff: 使用Vim中强大的文件diff功能[转]
  8. RandomAccessFile类初次使用
  9. doT模板
  10. WebService文件上传相关配置(404.13、超出限制、超时)
  11. JavaScript前端和Java后端的AES加密和解密
  12. Compile C++ code in Matlab with OpenCV support
  13. Centos服务器上NFS灾备环境及KVM的搭建及使用
  14. 《重构-改善既有代码的设计》学习笔记----Extract Method(提炼函数)
  15. 在 Activity 中实现 getContentView 操作
  16. Java多线程编程模式实战指南一:Active Object模式(上)
  17. oracle 11G rac 11.2.0.1 打补丁9413827
  18. requestAnimationFrame 提高动画性能的原因
  19. Tensorflow從源碼編譯
  20. block中self关键字的使用-防止self 被retain一次

热门文章

  1. HBase入门基础教程之单机模式与伪分布式模式安装(转)
  2. html调用servlet(JDBC在Servlet中的使用)(1)
  3. 第十七章 springboot + devtools(热部署)
  4. Qt学习之对话框与主窗口的创建
  5. App优化 StrictMode 严格模式
  6. Math Number 数值类 包装类 数学计算 MD
  7. Android -- Camera源码简析,启动流程
  8. ORA-01843: 无效的月份,执行sql语句更改为美国语言后仍然失败的解决办法
  9. BZOJ 3172 Tjoi2013 单词 后缀数组
  10. codeforces Epic Game 题解