ServletContext对象
1. 概念: 代表整个web应用, 可以和程序的容器(服务器)来通信
2. 获取:
1. 通过request对象获取
request.getServletContext();
2. 通过HttpServlet获取
this.getServletContext();
3. 功能:
1. 获取MIME类型:
* MIME类型: 在互联网通信过程中定义的一种文件数据类型
* 格式: 大类型/小类型 text/html image/jpeg
* 获取MIME类型: String getMimeType(String file)
* 代码:
/*
ServletContext对象功能:
1. 获取MIME类型:
* MIME类型: 在互联网通信过程中定义的一种文件数据类型
* 格式: 大类型/小类型 text/html image/jpeg
* 获取MIME类型: String getMimeType(String file)
*/
// 1. 通过HttpServlet获取
ServletContext servletContext = this.getServletContext();
// 2. 定义文件名称
String fileName = "a.jpg";
// 3. 获取MIME类型, getMimeType传递你要获取的MIME类型文件的名称
String mimeType = servletContext.getMimeType(fileName);
System.out.println(mimeType); // image/jpeg
2. 域对象: 共享数据
1. setAttribute(String name, Object value)
2. getAttribute(String name)
3. removeAttribute(String name)
* ServletContext对象范围: 所有用户所有请求的数据
* 代码:
* ServletContextDemo3:
/*
ServletContext对象功能:
1. 域对象: 共享数据
1. setAttribute(String name, Object value)
2. getAttribute(String name)
3. removeAttribute(String name)
* ServletContext对象范围: 所有用户所有请求的数据
*/
// 1. 通过HttpServlet获取
ServletContext servletContext = this.getServletContext();
// 设置数据到域中
servletContext.setAttribute("username", "zhangsan");
* ServletContextDemo4:
/*
ServletContext对象功能:
1. 域对象: 共享数据
1. setAttribute(String name, Object value)
2. getAttribute(String name)
3. removeAttribute(String name)
* ServletContext对象范围: 所有用户所有请求的数据
*/
// 1. 通过HttpServlet获取
ServletContext servletContext = this.getServletContext();
// 获取域中数据
String username = (String)servletContext.getAttribute("username");
System.out.println(username); // zhangsan
3. 获取文件的真实(服务器)路径
1. 方法: String getRealPath(String path)
2. 代码:
/*
ServletContext对象功能:
1. 获取文件的真实(服务器)路径
1. 方法: String getRealPath(String path)
*/
// 通过HttpServlet获取
ServletContext servletContext = this.getServletContext();
// 获取文件的服务器路径
// 获取配置文件b的路径, web下的资源访问
String realPath = servletContext.getRealPath("/b.txt"); // web目录下资源访问
System.out.println(realPath);
// 获取配置文件c的路径, WEB-INF下的资源访问
String realPath2 = servletContext.getRealPath("/WEB-INF/c.txt"); // web目录下资源访问
System.out.println(realPath2);
// 获取配置文件a的路径, src目录下的资源访问
String realPath3 = servletContext.getRealPath("/WEB-INF/classes/a.txt"); // web目录下资源访问
System.out.println(realPath3);