- 概念:代表整个Web应用,可以和程序的容器(服务器)来通信
- 获取:
- 通过request对象来获取
request.getServletContext()
- 通过HttpServlet来获取
this.getServletContext()
- 通过request对象来获取
- 功能:
- 获取MIME类型:
- MIME类型:在互联网通信过程中定义的一种文件数据类型
- 格式:大类型/小类型 text/html image/jpeg
- 获取:
String getMimeType(String file)
- MIME类型:在互联网通信过程中定义的一种文件数据类型
- 域对象:共享数据
setAttribute(String name,Object value)
getAttribute(String name)
removeAttribute(String name)
- 域的范围:所有用户所有请求的数据
- 获取文件的真实(服务器)路径
String realPath = servletContext.getRealPath("/b.txt");//web目录下的资源访问
- 获取MIME类型:
源码:
共享数据:
写入
package Context;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/ContextDemo3")
public class ContextDemo3 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext servletContext = this.getServletContext();
//设置数据
servletContext.setAttribute("msg","haha");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}
读取
package Context;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/ContextDemo4")
public class ContextDemo4 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext servletContext = this.getServletContext();
Object msg = servletContext.getAttribute("msg");
System.out.println(msg);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}
获取文件真实路径:b.txt
package Context;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.nio.Buffer;
@WebServlet("/ContextDemo5")
public class ContextDemo5 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext servletContext = this.getServletContext();
//获取服务器路径
String realPath = servletContext.getRealPath("/b.txt");//web目录下的资源访问
System.out.println(realPath);
File file=new File(realPath);
InputStreamReader isr=new InputStreamReader(new FileInputStream(file),"UTF-8");
BufferedReader bufferedReader=new BufferedReader(isr);
String str;
while((str=bufferedReader.readLine())!=null){
System.out.println(str);
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}