概念:代表整个web应用,可以和程序的容器(服务器)来通信
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
version="3.0">
<context-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost/dbName</param-value>
</context-param>
<context-param>
<param-name>username</param-name>
<param-value>root</param-value>
</context-param>
<context-param>
<param-name>password</param-name>
<param-value>123456</param-value>
</context-param>
</web-app>
(1)获取多个Servlet共享的初始化参数
//方式一
//ServletContext context = this.config.getServletContext();//通过config获取ServletContext
//方式二
ServletContext context = this.getServletContext();//通过servlet对象获取ServletContext
String url = context.getInitParameter("url");//通过context上下文对象获取上下文参数
(2)ServletContext读取web应用中的资源文件的方法
1)获取文件的真实(服务器)路径
String path = Context.getRealPath("/");//当前web应用的根目录
String b = context.getRealPath("/b.txt");//web目录下资源访问
System.out.println(b);
String c = context.getRealPath("/WEB-INF/c.txt");//WEB-INF目录下的资源访问
System.out.println(c);
String a = context.getRealPath("/WEB-INF/classes/a.txt");//src目录下的资源访问
System.out.println(a);
2)获取资源流
InputStream stream = context.getResourceAsStream("/WEB-INF/classes/jdbc.properties");
3)获取指定目录下的所有资源路径
Set<String> paths = context.getResourcePaths("/WEB-INF");
注意:获取到的web应用的根目录是指向web文件夹的。
(3)获取MIME类型:
MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的标准,用来表示文档、文件或字节流的性质和格式。
MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。
浏览器通常使用 MIME 类型(而不是文件扩展名)来确定如何处理URL,因此 We b服务器在响应头中添加正确的 MIME 类型非常重要。如果配置不正确,浏览器可能会无法解析文件内容,网站将无法正常工作,并且下载的文件也会被错误处理。
* MIME类型:在互联网通信过程中定义的一种文件数据类型
* 格式: 大类型/小类型 text/html image/jpeg
* 获取:String getMimeType(String file)
(4)域对象:
共享数据 -page/request/session/ServletContext
1. setAttribute(String name,Object value)
2. getAttribute(String name)
3. removeAttribute(String name)
ServletContext对象范围:所有用户所有请求的数据