概念:
代表整个web应用,可以和程序的容器(服务器)来通信
获取:
@WebServlet("/servletContextDemo1")
public class servletContextDemo1 extends HttpServlet {
/*
ServletContext对象的获取
*/
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//1.通过request对象获取
ServletContext context1 = req.getServletContext();
//2.通过HttpServlet获取
ServletContext context2 = this.getServletContext();
System.out.println(context1);
System.out.println(context2);
System.out.println(context1 == context2);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
}
org.apache.catalina.core.ApplicationContextFacade@c9bca9
org.apache.catalina.core.ApplicationContextFacade@c9bca9
true
功能:
/*
ServletContext功能
1.获取MIME类型
MIME类型:在互联网通信过程中定义的一种文件数据类型
格式:大类型/小类型 text/html image/jpeg
获取:String getMimeType(String file)
2.域对象:共享数据
1.setAttribute(String name,Object value)
2.getAttribute(String name)
3.removeAttribute(String name)
ServletContext对象范围:所有用户所有请求的数据
3.获取文件的真实(服务器)路径
1.方法:String getRealPath(String path)
*/
@WebServlet("/servletContextDemo2")
public class servletContextDemo2 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取MIME类型
//通过HttpServlet获取
ServletContext context = this.getServletContext();
//定义文件名称
String filename = "a.jpg";
//获取MIME类型
String mimeType = context.getMimeType(filename);
System.out.println(mimeType);
//设置域对象:共享数据
context.setAttribute("msg","Hello");
//获取文件的真实(服务器)路径
String realPath = context.getRealPath("/b.txt");
File file = new File(realPath);
System.out.println(realPath);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}