Servlet从入门到精通七——ServletContext

ServletContext对象使用

Web容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前Web应用。

ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写servlet时,可以通过ServletConfig.getServletContext方法获得ServletContext对象。

由于一个Web应用中的所有Servlet共享同一个ServletContext对象,所以多个Servlet通过ServletContext对象实现数据共享。

ServeltContext对象通常也被称之为context域对象。

ServeltContext作用

1、获取(整个)Web应用的初始化参数。

2、实现Servlet转发。

3、利用ServletContext对象读取资源文件

    (得到文件路径/读取资源文件的三种方式/.properties文件)。

转发:你找我,我帮你找它。

重定向:你找我,我要你自己去找它。

ServletContext对象什么时候产生的?什么时候销毁的?

服务器启动时,会针对每个web工程产生一个ServletContext对象,即webapps里有几个web工程,服务器就产生几个ServletContext对象。

当停止服务器或者把web工程从服务器中移除时就销毁ServletContext对象。

ServletContext context =this.getServletConfig().getServletContext();

或者

ServletContext context = this.getServletContext();

1  通过ServletContext域实现ServletDemo7ServletDemo8的数据共享。

新建两个servlet,分别为ServletDemo7 ServletDemo8

ServletDemo7 为:

package cn.itcast;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class ServletDemo7 extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String data ="Aaa";

this.getServletContext().setAttribute("data",data);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

}

ServletDemo8为:

package cn.itcast;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class ServletDemo8 extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String value=(String) this.getServletContext().getAttribute("data");

response.getOutputStream().write(value.getBytes());

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

}

浏览器中先输入:http://localhost:8088/JavaWebChuan/servlet/ServletDemo7

再输入:http://localhost:8088/JavaWebChuan/servlet/ServletDemo8

浏览器中显示 Aaa

应用:网络聊天室,一个说话,被存到servlet中,另一个人可以通过ServletContext中的方法得到说话的内容。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值