3704对象关闭时_Servletcontext 对象

31f969a3eb3b09a7f27019f18acc61dc.png

ServletContext是一个全局的储存信息的空间,服务器开始就存在,服务器关闭才释放。为了方便大家理解,我们将ServletContext和Cookie、Session做一个简单对比,如下图:

106fef72c6bf611d025c3f9cbc9c7f4e.png

我们可以把ServletContext当成一个公用的空间,可以被所有的客户访问,如上图,A、B、C三个客户端都可以访问。

WEB容器在启动时,它会为每个Web应用程序都创建一个对应的ServletContext,它代表当前Web应用,并且它被所有客户端共享。

由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯。ServletContext对象通常也被称之为context域对象。公共聊天室就会用到它。

当web应用关闭、Tomcat关闭或者Web应用reload的时候,ServletContext对象会被销毁

ServletContext使用方法

1、ServletContext对象如何得到

this.getServletContext(); this.getServletConfig().getServletContext();

2、你可以把它想象成一张表,这个和Session非常相似:每一行就是一个属性,如下:

名字(String)值(Object)

添加属性:setAttribute(String name, Object obj);

得到值:getAttribute(String name),这个方法返回Object

删除属性:removeAttribute(String name)

3、生命周期

ServletContext中的属性的生命周期从创建开始,到服务器关闭结束。

一个快速入门的案例:

我们创建Servlet1和Servlet2,分别用于在ServletContext中创建和读取属性:

Servlet1的doGet方法为:

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); // 获取ServletContext对象的引用 // 第一种方法 ServletContext servletContext = this.getServletContext(); // 第二种方法 // ServletContext servletContext2 = this.getServletConfig().getServletContext(); servletContext.setAttribute("name
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值