ServletContext

 安装在一个服务器中的一个特定URL名字空间(比如,/myapplication)下的所有Servlet,JSP,JavaBean等Web部件的集合构成了一个Web的应用,每一个Web应用(同一JVM),容器都会有一个背景对象,而javax.servlet.ServletContext接口就提供了访问这个背景对象的途径。 Servlet实例的getServletContext方法:得到该Servlet运行其中的这个背景对象。从这个背景对象中你可以访问如下信息或资源:(注意该方法不是ServletContext的方法而是获取背景对象的方法由于HttpServlet继承Servlet的关系GenericServlet类和HttpServlet类同时具有该方法):初始化参数 ServletContext.getInitParameter(String name)。存储在背境中的对象 context.getAttribute(String name) 与本背景关联的资源 ServletContext.getResource(String path) 日志 ServletContext.log(String msg) 以上所示方法均为ServletContext所提供,值得一提的是对于存储在背境中的对象访问方法常用的还有: context.setAttribute(String name, Object object);将特定名字绑定的任意类型的对象上。将把object对象绑定到名字name,存放在Servlet背景中,可供同一背景中的其他Servlet共享。其他Servlet可以通过context.getAttribute(String name),得到一个背景中的对象,或通过context.removeAttribute(String name)在背景中移除一个对象。

 

ServletContext对象是由谁创建的?
由Servlet容器负责创建,对于每个JavaWeb应用,在启动时,Servlet容器都会创建一个ServletContext对象

 

一. WEB容器启动时候 它会为每个web应用程序创建一个ServletContext对象 它代表当前web应用。
二. servletContext对象的获取:
   1. ServletContext对象被包含在ServletConfig对象中 所以可以通过ServletConfig 对象调用ServletConfig.getServletContext()获得对ServletContext对象的引用。
   2.在继承了HttpServlet对象的类中 可以通过this.getServletContext来获取。

 

三:由于一个web应用中的所有servlet共享一个ServletContext对象 所以可以通过ServletContext对象来实现Servlet之间的通讯。

 

Java代码 复制代码  收藏代码
  1. public void doGet(HttpServletRequest request, HttpServletResponse response)   
  2.     throws ServletException, IOException {   
  3.    ServletContext context=this.getServletContext();   
  4.    context.setAttribute("data""hello jsp");   
  5.    RequestDispatcher rd=context.getRequestDispatcher("/index.jsp");   
  6.           
  7.    rd.forward(request, response);   
  8.      
  9. }  
public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
   ServletContext context=this.getServletContext();
   context.setAttribute("data", "hello jsp");
   RequestDispatcher rd=context.getRequestDispatcher("/index.jsp");
       
   rd.forward(request, response);
  
}
 
Java代码 复制代码  收藏代码
  1. <body>   
  2.        <%=application.getAttribute("data") %>   
  3. </body>  
<body>
       <%=application.getAttribute("data") %>
</body>

来源:http://hi.baidu.com/jlhaoran/blog/item/7c74d1128e7ba30c203f2e2b.html

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值