ServletContext对象
什么是ServletContext?
ServletContext对象代表整个Web应用的对象
在服务器启动, Web应用被加载之后. 服务器会立即创建出代表当前Web应用的ServletContext对象, 创建之后该对象会一直驻留在服务器的内存中, 唯一的代表当前Web应用. 直到服务器关闭, 或者Web应用被移出容器, 随着Web应用的销毁, ServletContext对象也会跟着销毁!
获取ServletContext对象
ServletContext context = this.getServletContext();
ServletContext context2 = this.getServletConfig().getServletContext();
作为域对象使用
提供的操作域属性的方法:
setAttribute(String name, Object value) -- 添加域属性
getAttribute(String name) -- 获取域属性
removeAttribute(String name) -- 删除域属性
三大特征:
(1)生命周期: Web应用被加载之后, 立即创建ServletContext对象当服务器关闭或者Web应用被移出容器, 立即销毁ServletContext对象.
(2)作用范围: 整个Web应用
(3)主要功能: 在整个Web应用范围内实现数据的共享.
案例: 统计在线访问人数
//1.获取ServletContext对象
ServletContext context = this.getServletContext();
int count;
//2.获取访问次数
if( context.getAttribute("count") == null ){
count = 1;
context.setAttribute("count", count);
}else{
count = ((Integer) context.getAttribute("count"))
+ 1;
context.setAttribute("count", count);
}
//3.做出响应
response.setContentType("text/html;charset=utf-8");
response.getWriter().write("<h1 style='color:red;text-align:center;'>");
response.getWriter().write("您是第"+count+"个访问本网站的用户!");
response.getWriter().write("</h1>");