ServletContext介绍和用法总结
参考文章:https://blog.csdn.net/qq_36371449/article/details/80314024
学习总结
一、ServletContext 介绍
1. 概念
-
ServletContext 也叫做 Servlet 上下文,WEB容器在启动时,它会为每个 WEB 应用程序都创建一个对应的 ServletContext 对象,它代表当前web应用。这个对象全局唯一且被项目类所有 Servlet 共享,所有叫全局应用程序共享对象
-
ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写servlet时,可以通过ServletConfig.getServletContext方法获得ServletContext对象。
-
一个WEB应用中的所有Servlet共享同一个 ServletContext 对象,因此Servlet对象之间可以通过 ServletContext 对象来实现通讯。ServletContext对象通常也被称之为 context 域对象。
2. 作用
- 是一个域对象
- 可以读取全局配置参数
- 可以搜索当前工程目录下面的资源文件
- 可以获取当前工程名字
3. 获取
3.1 在实现类中获取
- 通过 GenericServlet 提供的 getServletContext() 获取
ServletContext servletContext = getServletContext();
- 通过 ServletConfig 提供的 getServletContext() 获取
ServletContext servletContext = getServletConfig().getServletContext();
- 通过HttpServletRequest获取
ServletContext servletContext1 = req.getServletContext();
- 通过HttpSession获取
ServletContext servletContext = req.getSession().getServletContext();