JavaWeb基础: ServletContext
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb基础: ServletContext相关的知识,希望对你有一定的参考价值。
基本概念
- Web容器在启动时,会为每个Web应用程序都创建一个对应的ServletContext对象,它代表当前Web应用。
- ServletContext(javax.servlet.http.ServletContext )存储了整个Web应用运行的上下文信息,即Web应用的全局信息,并且这些信息可以被不同的Servlet共享。
- ServletConfig对象中维护了对ServletContext对象的引用,Tomcat创建Servlet对象后,在init方法中将ServletContext通过ServletConfig传递给当前的Servlet。
- 多个Servlet共享同一个ServletContext,ServletContext对象一直存活到整个Web应用停止。
- Servlet可以通过this.getServletContext() 来获取当前Web应用的ServletContext。通过ServletContext可以实现如下功能:
- 数据共享:
- 获取Web应用初始化参数:set/get params(不同Servlet之间共享全局变量,比如数据库连接信息,字符配置...)
- 实现Servlet转发:getNameDispatch("/XX/XX") 实现信息的转发,从A Servlet跳转到B Servlet
- 读取资源文件 :getContextPath 实现资源的查找。路径有相对路径和绝对路径,Web应用是部署在容器中,路径的识别和普通的JavaProject有差别,必须要考虑
- 除了上述常用功能,Servlet还能实现对Listner/Filter/Session/Cookie的信息获取和配置,getMimeType,getResourcesPaths,getResource
ServletContext(Context域对象) 实现数据共享
ServletContext 读取资源文件
以上是关于JavaWeb基础: ServletContext的主要内容,如果未能解决你的问题,请参考以下文章
JavaWeb基础 ServletContext get/setAttribute 保存与读取数据
JavaWeb基础 ServletContext getAttribute 读取不存在的数据时返回null