jsp里面实现asp.net的Global文件内容。

Global.java文件:

复制代码
 1 import javax.servlet.ServletContext;
 2 import javax.servlet.ServletContextEvent;
 3 import javax.servlet.ServletContextListener;
 4 import javax.servlet.ServletRequest;
 5 import javax.servlet.ServletRequestEvent;
 6 import javax.servlet.ServletRequestListener;
 7 import javax.servlet.http.HttpServletRequest;
 8 import javax.servlet.http.HttpSession;
 9 import javax.servlet.http.HttpSessionEvent;
10 import javax.servlet.http.HttpSessionListener;
11 
12 public class Global implements ServletContextListener, HttpSessionListener,
13         ServletRequestListener {
14 
15     @Override
16     public void contextInitialized(ServletContextEvent sce) {
17         // TODO Auto-generated method stub
18         System.out.println("网站启动");
19         ServletContext application = sce.getServletContext();
20         application.setAttribute("count", 10);
21     }
22 
23     @Override
24     public void contextDestroyed(ServletContextEvent sce) {
25         // TODO Auto-generated method stub
26         ServletContext application = sce.getServletContext();
27         application.setAttribute("count", 0);
28         System.out.println("网站停止");
29     }
30 
31     @Override
32     public void requestInitialized(ServletRequestEvent arg0) {
33         // TODO Auto-generated method stub
34         System.out.println("服务器接收一个请求");
35         ServletRequest request = arg0.getServletRequest();
36         if (request instanceof HttpServletRequest) {
37             HttpServletRequest httpRequest = (HttpServletRequest) request;
38             String url = httpRequest.getRequestURI();
39             System.out.println(url);
40         }
41     }
42 
43     @Override
44     public void requestDestroyed(ServletRequestEvent arg0) {
45         // TODO Auto-generated method stub
46         System.out.println("服务器销毁一个请求");
47     }
48 
49     @Override
50     public void sessionCreated(HttpSessionEvent arg0) {
51         // TODO Auto-generated method stub
52         System.out.println("服务器创建一个会话");
53         HttpSession session = arg0.getSession();
54         session.setAttribute("count", 10);
55 
56         ServletContext application = session.getServletContext();
57         Object obj = application.getAttribute("count");
58         if (obj instanceof Integer) {
59             Integer appCount = (Integer) obj;
60             appCount += 1;
61             application.setAttribute("count", appCount);
62         }
63     }
64 
65     @Override
66     public void sessionDestroyed(HttpSessionEvent arg0) {
67         // TODO Auto-generated method stub
68         System.out.println("服务器销毁一个会话");
69         HttpSession session = arg0.getSession();
70         ServletContext application = session.getServletContext();
71         Object obj = application.getAttribute("count");
72         if (obj instanceof Integer) {
73             Integer appCount = (Integer) obj;
74             appCount -= 1;
75             application.setAttribute("count", appCount);
76         }
77     }
78 }
Global
复制代码

web.xml文件:

复制代码
1 <?xml version="1.0" encoding="UTF-8"?>
2 <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
3  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">
4  <listener>
5   <listener-class>Global</listener-class>
6  </listener>
7 </web-app>
web.xml
复制代码

 

posted @   —八戒—  阅读(274)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示