ServletContext对象,代表了整个web应用,可以和程序的容器(服务器)来通信
获取方式
- 通过request对象获取:request.getServletContext()
- 通过HttpServlet获取:this.getServletContext();
ServletContext对象的功能
- 获取MIME类型(文后将什么是MIME类型):String getMimeType(String file)
获取到数据的类型后,可以用于设置响应头content-type的值
获取方法:String getMimeType(String file); - 域对象:共享数据,前面说到,ServletContext代表了整个web应用,因此ServletContext对象中存放的数据整个web应用的资源都可以访问和修改
方法和request域对象的三个方法一样,只是两者的作用范围不同 获取文件的真实(服务器)路径
- 方法:String getRealPath(String path)
- 文件直接位于web目录下时:context.getRealPath("/+文件名称");
- 文件位于web目录下下的目录a中时:context.getRealPath("/a/+文件名称");
- 文件直接位于src目录下时:context.getRealPath("/WEB-INF/classes+文件名称");
tomcat项目目录位于IDEA工作空间目录的\out\artifacts下
什么是MIME类型
MIME类型:在互联网通信过程中定义的一种文件数据类型MIME类型的格式:大类型/小类型 例如:text/html、image/jpg
getMimeType方法获取MIME类型的原理
在web.xml配置文件中,tomcat定义了上千种MIME类型和文件后缀名的对应关系,而ServletContext又可以和服务器通信,所以ServletContext的getMimeType实际上是通过文件的后缀名来映射获取的文件的MIME类型。来源:https://blog.csdn.net/weixin_42387411/article/details/100539299