1.ServletContext概述
1.1ServletContext即servlet上下文,代表整个web应用的对象,这个对象全局唯一,而且工程内部的所有servlet都共享这个对象。所以叫全局应用程序共享对象。
1.2ServletContext的生命周期,当服务器启动,web应用加载时,会创建一个ServletContext对象,唯一代表该web应用,此后该对象一直存活,直到web应用销毁时,ServletContext对象随之销毁。
1.3获取ServletContext对象:在任意Servlet中,通过:this.getServletContext() 方法获取。
2.常见的方法
2.1获取数据的MIME类型
MIME类型:是文件的数据类型
大的类型/小的类型
image/png
image/jpeg
imgae/gif
text/html
String getMimeType(String file):获取指定文件的MIME类型
2.2实现数据的共享
ServletContext对象是一个域对象,范围是整个项目的范围,当服务器被启动的时候,域空间产生,当项目被卸载或者服务器关闭的时候,域空间就消失了
setAttribute(String key, Object value):添加,修改
getAttribute(String key):获取
removeAttribute(String key):删除
2.3获取项目下的资源的真实路径
2.3.1
String getRealPath(String path)
2.3.2加载配置文件
方式一:使用类加载器
相对于当前的classpath路径下
方式二:使用ServletContext对象
getRealPath():相对于当前的项目下
注意:如果加载的资源在classpath路径下,推荐使用类加载器的方式
如果加载的资源在项目下,在classpath目录外,推荐使用ServletContext的 getRealPath的方式
2.4获取web.xml核心配置文件的参数
web.xml:
<context-param>
<param-name>name</param-name>
<param-value>tom</param-value>
</context-param>
//获取ServletContext对象
ServletContext servletContext = request.getServletContext();
//获取配置文件中的全局参数
String value = servletContext.getInitParameter("name");
System.out.println(value);//tom