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 √");

 

posted @   Eric-Shen  阅读(106)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示