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 @ 2019-09-11 16:13  Eric-Shen  阅读(104)  评论(0编辑  收藏  举报