ServletContext对象

烈酒焚心 提交于 2019-11-29 06:37:34

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项目的层次结构,以tomcat项目的web目录为基准

tomcat项目目录位于IDEA工作空间目录的\out\artifacts下
什么是MIME类型
MIME类型:在互联网通信过程中定义的一种文件数据类型
MIME类型的格式:大类型/小类型    例如:text/html、image/jpg
getMimeType方法获取MIME类型的原理
在web.xml配置文件中,tomcat定义了上千种MIME类型和文件后缀名的对应关系,而ServletContext又可以和服务器通信,所以ServletContext的getMimeType实际上是通过文件的后缀名来映射获取的文件的MIME类型。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!