javaWeb基础之Servlet上下文(ServletContext)

一、什么是Servlet上下文?

Servlet上下文又叫做:ServletContext。
当WEB服务器启动时,会为每一个WEB应用程序(webapps下的每个目录就是一个应用程序)创建一块共享的存储区域
ServletContext也叫做“公共区域”,也就是同一个WEB应用程序中,所有的Servlet和JSP都可以共享同一个区域。
ServletContext在WEB服务器启动时创建,服务器关闭时销毁
容器在启动的时候,会为每一个web应用创建唯一的一个符合ServletContext接口的对象,该对象一般称之为"servlet上下文"。

 二、如何获得Servlet上下文

  • 方式一:GenericServlet提供了getServletContext()方法。
  • 方式二:ServletConfig提供了getServletContext()方法。
  • 方式三:HttpSession提供了getServletContext()方法。
  • 方式四:HttpServletRequest提供了getServletContext()方法。

三、Servlet上下文的特点

作用:
1、获取真实路径       获取当前项目的发布路径

  • request.getSelectContext().getRealPath("/");

2、获取容器的附加信息

  • System.out.println(request.getServletContext().getServerInfo());
  • System.out.println(request.getServletContext().getContextPath());

3、全局容器
//设置信息到全局容器中

  • request.getServletContext().setAttribute("msg", "共享信息");

//获取数据

  • System.out.println(request.getServletContext().getAttribute("msg"));

//移除数据

  • request.getServletContext().removeAttribute("msg");

特点:

唯一性  : 一个应用对应一个Servlet上下文

一直存在:只要容器不关闭或者应用不卸载,servlet上下文就一直存在(共享信息)

四、servlet的路径

绝对路径:就是你的主页上的文件或目录在硬盘上真正的路径(url和物理路径)

相对路径:相对某个基准的路径,包含web的相对路径。例如:在servlet中“/”代表web应用的根目录

猜你喜欢

转载自blog.csdn.net/weixin_42496678/article/details/82152586