ServletContext类

1、ServletContext 是一个接口,它表示 Servlet 上下文对象

2、一个 web 工程,只有一个 ServletContext 对象实例。

3、ServletContext 对象是一个域对象。

4、ServletContext 是在 web 工程部署启动的时候创建。在 web 工程停止的时候销毁。

什么是域对象?

域对象,是可以像 Map 一样存取数据的对象,叫域对象。这里的域指的是存取数据的操作范围,整个 web 工程。

存数据

取数据

删除 数据

Map

put()

get()

remove()

域对象

setAttribute()

getAttribute()

removeAttribute();

ServletContext 类的四个作用

1、获取 web.xml 中配置的上下文参数 context-param

2、获取当前的工程路径,格式: /工程路径

 @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        ServletContext servletContext = this.getServletContext();

        String contextPath = servletContext.getContextPath();
        System.out.println("contextPath 当前工程路径= " + contextPath);
    }

3、获取工程部署后在服务器硬盘上的绝对路径

 @Override
   protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       ServletContext servletContext = this.getServletContext();
        /*
                3、获取工程部署后在服务器硬盘上的绝对路径
                / 斜杠被服务器解析地址为:http://ip:port/工程名/ 映射到IDEA代码的web目录
         */
       System.out.println(" 工 程 部 署 的 路 径 是 :" + servletContext.getRealPath("/"));
       System.out.println("工程下 css 目录的绝对路径是:" + servletContext.getRealPath("/css"));
       System.out.println("工程下 imgs 目录 1.jpg 的绝对路径是:" + servletContext.getRealPath("/imgs/1.jpg"));
   }

4、像 Map 一样存取数据

protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    ServletContext context = getServletContext();
    System.out.println("Context 中获取username的值 "+ context.getAttribute("username"));
    context.setAttribute("username" , "liufen");
    System.out.println("Context 中获取username的值 "+ context.getAttribute("username"));
}

ServletContext对象中保存了username属性liufen后在其他的Servlet类中再去ServletContext对象中的属性username也能获取值liufen

ServletContext类它是一个全局作用域,只要它里面保存了数据,可以在任何地方去获取它保存的数据,除非你主动除掉保存的数据否则这些数据一直存在。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值