概念
代表整个web应用(项目),可以和程序的容器(服务器软件)来通信
获取ServletContext对象
//ServletContext对象的获取
//方式1:通过request对象获取
ServletContext servletContext1 = req.getServletContext();
//方式2:通过HttpServlet获取
ServletContext servletContext2 = getServletContext();
System.out.println(servletContext1 == servletContext2);//true
ServletContext的功能
1.获取MIME类型
2.域对象:共享数据
3.获取文件的真实路径(服务器路径)
1.获取MIME类型
方法:String 个体Mime Type(String file)
此方法是根据文件的扩展名来获取MIME类型的
ServletContext servletContext1 = req.getServletContext();
String filename = "a.jpg";
String mimeType = servletContext1.getMimeType(filename);
System.out.println(mimeType);
2.域对象
方法:
setAttribute(String name,Object value)
getAttribute(String name)
removeAttribute(String name)
ServletContext对象范围:所有用户所有请求的数据
生命周期:服务器启动到服务器关闭
因此此对象中尽量不要存太多数据,占内存!
在Servlet1中设置的,可以在Servlet2中获取
3.获取文件的真实路径
方法:
String getRealPath(String path);
ServletContext servletContext1 = req.getServletContext();
System.out.println(servletContext1.getRealPath("/b.txt"));
System.out.println(servletContext1.getRealPath("/WEB-INF/classes/a.txt"));
System.out.println(servletContext1.getRealPath("/WEB-INF/c.txt"));
只要知道web目录对应根目录
src中的java源文件会变成\WEB-INF\classes下的文件即可