ServletContext
什么是ServletCotext?
在应用被服务器加载时就创建ServletContext对象的实例。每一个JavaWeb应用都有唯一的一个ServletContext对象
它就代表着当前的应用。
怎么得到ServletContext?
ServletConfig维护了ServletContext对象的应用.所有就可以通过ServletConfig获取ServletContext对象 getServletContext()
ServletContext的应用?
1、因为所有Servlet共享一个Servlet对象.因此Servlet可以通过ServletContext来实现通讯。所以ServletContext也称之为域对象(内部维护了一个 Map<String,Object>)
实现Servlet直接的数据共享
Object getAttribute(String name):根据名称获取绑定的对象
Enumeration getAttributeNames() :获取ServletContext域中的所有名称
void removeAttribute(String name):根据名称移除对象
void setAttribute(String name,Object value):添加或修改对象。
2、获取WEB应用的初始化参数。
在web.xml下面配置
<init-param>
<param-name></param-name>
<param-value></param-value>
</init-param>
通过ServletContext读取
3、实现转发
4、利用ServletContext读取资源文件
利用ServletContext.getRealPath():
特点:读取应用中任何文件。只能在Web环境下用
利用ResourceBundle读取配置文件
特点:可以用在非web环境下。但是只能读取类路径中的properties文件
利用类加载器读取配置文件(专业)
特点:可以用在非web环境下。可以读取类路径下的任何文件
TIPS:
http://www.cnblogs.com/legend-liu/p/3860559.html ServletConfig对象