Tomcat ServletContext 和 web应用的关系

Servlet容器在启动时会加载web应用,并未每个web应用创建唯一的ServletContext对象。可以把ServletContext看成是一个web应用的服务器端组件的,在ServletContext中可以存放共享数据,它提供4个读取和设置共享数据的方法。

一个例子说明:

 

package mypack;

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

import java.util.*;

 

public class CounterServlet extends HttpServlet {

 

  private static final String CONTENT_TYPE = "text/html";

 

  public void init(ServletConfig config) throws ServletException {

  super.init(config);

}

 

  public void doGet(HttpServletRequest request,

    HttpServletResponse response)

    throws ServletException, IOException {

    doPost(request, response);

  }

 

  public void doPost(HttpServletRequest request,

    HttpServletResponse response)

    throws ServletException, IOException {

 

    //获得ServletContext的引用

    ServletContext context = getServletContext();

    // 从ServletContext读取count属性

    Integer count = (Integer)context.getAttribute("count");

 

    // 如果count属性还没有设置, 那么创建count属性,初始值为0

    // one and add it to the ServletContext

    if ( count == null ) {

      count = new Integer(0);

      context.setAttribute("count", new Integer(0));

    }

 

    response.setContentType(CONTENT_TYPE);

    PrintWriter out = response.getWriter();

    out.println("<html>");

    out.println("<head><title>WebCounter</title></head>");

    out.println("<body>");

    // 输出当前的count属性值

    out.println("<p>The current COUNT is : " + count + ".</p>");

    out.println("</body></html>");

 

    // 创建新的count对象,其值增1

    count = new Integer(count.intValue() + 1);

    // 将新的count属性存储到ServletContext中

    context.setAttribute("count", count);

  }

  public void destroy() {

  }

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值