Servlet(三)ServletContext的使用 三个作用:

ServletContext是一个接口,他的实现类是由tomcat创建的。

ServletContext:代表的是整个应用。一个应用只有一个ServletContext对象。是单实例。

域对象:

域对象:在一定范围内(当前应用),使多个Servlet共享数据

例子:

Servlet(三)ServletContext的使用
三个作用:

在一个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

Servlet(三)ServletContext的使用
三个作用:

getServletContext类是在ServletConfig类中的

Servlet(三)ServletContext的使用
三个作用:

一个应用中有多个servlet,Servlet1中设置属性,Servlet2中得到属性


获取全局配置信息  

新建一个Servlet,然后再web.xml中添加全局参数。因为在servlet里面写是局部的。所以需要在context-param里设置。比如说设置全局的编码格式

 Servlet(三)ServletContext的使用
三个作用:

通过下面这句话得到全局信息。

Servlet(三)ServletContext的使用
三个作用:

获取资源路径(获取任何文件都可以)

String  getRealPath(String path);//根据资源名称得到资源的绝对路径.

可以得到当前应用任何  位置的任何资源。

实现请求转发

Servlet(三)ServletContext的使用
三个作用:

浏览器只知道一个资源,只访问Servelt1,这个应用场景很重要,以后会经常用。

新建一个Servlet,

Servlet(三)ServletContext的使用
三个作用:

demo6指的是另一个Servlet,另一个Servlet中的doGet方法再去处理相应的逻辑。

总结:

Servlet(三)ServletContext的使用
三个作用:

他们的关系图:

Servlet(三)ServletContext的使用
三个作用:

 依赖是指通过参数传进来得到的对象。 

通过方法到的对象叫做关联

Servlet(三)ServletContext的使用
三个作用:

Servlet(三)ServletContext的使用
三个作用: