使用 ServletContext
你可以把它想象成一个公用的空间,可以被所有的客户访问,也就是说A客户端可以访问D,B客户端可以访问D,C客户端也可以访问D。
WEB容器在启动时,它会为每个Web应用程序都创建一个对应的ServletContext,它代表当前Web应用。并且它被所有客户端共享。
ServletContext对象可以通过ServletConfig.getServletContext()方法获得对ServletContext对象的引用,也可以通过this.getServletContext()方法获得其对象的引用。
由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯。ServletContext对象通常也被称之为context域对象。公共聊天室就会用到它。
当web应用关闭、Tomcat关闭或者Web应用reload的时候,ServletContext对象会被销毁
作者:KLeonard
来源:CSDN
原文:https://blog.csdn.net/gavin_john/article/details/51399425
版权声明:本文为博主原创文章,转载请附上博文链接!
当整个Web应用程序加载Web容器后,容器会生成一个ServletContext
对象作为整个应用程序的代表,可以通过ServletConfig
的getServletContext()
方法就可以取得ServletContext
对象.
ServletContext
接口定义了运行Servlet的应用环境的一些行为,可以使用该接口的实现对象来取得所请求资源的URL,设置和存储属性,应用程序初始参数等.
getRequestDispatcher()
用来取得
RequestDispatcher()
实例,路径必须是绝对路径,即以"/"开头(代表应用程序根目录).HttpServletRequest.getRequestDispatcher(String)
既可以使用相对路径也可以使用绝对路径,但是实际上在实现时,如果是环境相对路径则直接委托给ServletContext
的getServletContext()
,如果是请求相对路径则转换为环境相对路径后,再委托.