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

JavaWeb基础 ServletContext 服务器未关闭前,统计一个网页的浏览次数

Servlet基础之ServletContext应用

javaweb域对象-ServletContext

javaweb-servletContext域对象