servlet之ServletContext的应用

概念

ServletContext是servlet的三大域对象的应用之一(servlet的三大域对象应用为:request、session、application(ServletContext))

Cookie对象存于用户的客户端,Session对象每个客户端有一个存于服务器端,ServletContext对象存于服务器端,可被所有客户端共享。所以当涉及多个用户共享信息,而信息量又不大不想存到数据库的时候,可以考虑使用ServletContext对象

常见应用

1、网页计数器

2、显示多少人同时在线

3、简单的聊天室功能

ServletContext的特点

1、Web应用服务器会为在其中的每一个Web应用生成一个ServletContext对象,该ServletContext对象代表该Web应用,并且为该Web应用的所有客户端所共享。获得ServletContext对象的引用的常见方法有二,一是

ServletContext context=getServletContext();

二是

ServletContext context=getServletConfig().getServletContext()

2、一个Web应用的所有Servlet对象共用一个ServletContext对象,因此Servlet对象可以通过ServletContext对象进行通信。ServletContext对象又叫做context域对象,简单的公共聊天室经常用到它。

3、在web应用关闭或reload或者Tomcat关闭时ServletContext会销毁

举例说明ServletContext对象的使用

作用:统计网站的访问量

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		PrintWriter out=response.getWriter();
		response.setContentType("text/html");//响应正文的MIME类型
		response.setCharacterEncoding("UTF-8");//响应的编码格式
		ServletContext context=this.getServletConfig().getServletContext();//获得ServletContext对象
		Integer count=(Integer)context.getAttribute("counter");//从ServletContext对象中获得计数器对象
		if(count==null) {//如果为空,就在ServletContext对象中设置一个计数器的属性
			count=1;
			context.setAttribute("counter", count);
		}else {
			context.setAttribute("counter", count+1);//如果不为空就在该计数器的属性上加一
		}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值