ServletContext是一个接口,他的实现类是由tomcat创建的。
ServletContext:代表的是整个应用。一个应用只有一个ServletContext对象。是单实例。
三个作用:
域对象:
域对象:在一定范围内(当前应用),使多个Servlet共享数据
例子:
在一个Servlet中设置属性。也可以通过getServletConfig先得到config,再去getServletContext();
ServletContext app=this.getServletContexet(); app.setAttribute("name","tom");
在另一个Servlet中get属性
String name=this.getServletContext().getAttribute("name");
ServletContext里面有个map集合
常用方法:
void setAttribute(String name,object value);//向ServletContext对象的map中添加数据 Object getAttribute(String name);//从ServletContext对象的map中取数据 void rmoveAttribute(String name);//根据name去移除数据
以下这两种方式都可以得到ServletContext
getServletContext类是在ServletConfig类中的
一个应用中有多个servlet,Servlet1中设置属性,Servlet2中得到属性
获取全局配置信息
新建一个Servlet,然后再web.xml中添加全局参数。因为在servlet里面写是局部的。所以需要在context-param里设置。比如说设置全局的编码格式
通过下面这句话得到全局信息。
获取资源路径(获取任何文件都可以)
String getRealPath(String path);//根据资源名称得到资源的绝对路径.
可以得到当前应用任何 位置的任何资源。
实现请求转发
浏览器只知道一个资源,只访问Servelt1,这个应用场景很重要,以后会经常用。
新建一个Servlet,
demo6指的是另一个Servlet,另一个Servlet中的doGet方法再去处理相应的逻辑。
总结:
他们的关系图:
依赖是指通过参数传进来得到的对象。
通过方法到的对象叫做关联。