Servlet—08—ServletContext; Servlet Config;
Servlet Context:
1.问题:
request解决了一次请求内的数据共享问题, session解决了相同用户不同请求的数据共享问题, 那么不同的用户的数据共享问题怎么办呢?
request:一次请求的数据共享
session:相同浏览器相同请求、不同请求的数据共享问题
ServletContext:不同浏览器相同请求、不同请求的数据共享问题
2.解决:
使用ServletContext技术; 可实现不同用户共享数据;
3.特点:
- 1)ServletContext是由服务器创建的;
- 2)每一个项目只能有一个ServletContext对象;
- 3)ServletContext生命周期:从服务器创建到服务器关闭;
4.代码实现:
5.小项目:
1)目标:做一个项目,要求运用到Servlet Context技术, 用ServletContext统计浏览器被访问次数, 并且Tomacat服务器关闭重启后, 访问次数仍然从上次的次数开始计数 :
2)思路:
在服务器启动的时候将计数文件中的数据存储到ServletContext 中init()。
在服务器关闭的时候将ServletContext 中的计数器数据存储到计数文件中destroy()。
ServletConfig:
在Servlet的配置文件web.xml中,可以使用一个或多个<init-param √>标签为servlet配置一些初始化参数。
当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig √对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,我们通过ServletConfig对象就可以得到当前servlet的初始化参数信息。
获取ServletConfig对象
ServletConfig sg = this.getServletConfig();
获取web.xml中的信息
String flag = sg.getInitParameter("param-name √");
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!