每个web工程都只有一个ServletContext对象。 说白了也就是不管在哪个servlet里面,获取到的这个类的对象都是同一个。
1、可以获取全局配置参数
web.xml
<context-param>
<param-name>address</param-name>
<param-value>成都</param-value>
</context-param>
ServletContext context=getServletContext();
System.out.println(context.getInitParameter("address"));
通过servletConfig来获取配置参数
web.xml
<init-param>
<param-name>aa</param-name>
<param-value>ee</param-value>
</init-param>
ServletConfig config=getServletConfig();
Enumeration<String> e= getInitParameterNames();
while(e.hasMoreElements()) {
String name=(String)e.nextElement();
String key=config.getInitParameter(name);
System.out.println("name:"+name+" key:"+key);
}
2. 获取web工程中的资源
在WebContent下新建文件夹,以便放资源文件
ServletContext context=getServletContext();
//System.out.println(context.getInitParameter("address"));
//System.out.println(config.getInitParameter("aa"));
//System.out.println(config.getServletName());
String path=context.getRealPath("config/jdbc.properties");
Properties properties=new Properties();
InputStream is=null;
//获取is的三种方式
is=new FileInputStream(path);//方式1
//is=context.getResourceAsStream("config/jdbc.properties");//方式2
//is=this.getClass().getClassLoader().getResourceAsStream("../../config/jdbc.properties");//方式3
properties.load(is);
String driverClass=properties.getProperty("driverClass");
System.out.println(driverClass);
3、使用servletContext存取数据
getAttribute()与setAttribute()