ServletContext:
-1)可以由ServletConfig获取
-2)该对象代表当前WEB应用:可以认为ServletContext是当前WEB应用的大管家,可以从中获取到当前WEB应用各个方面的信息。
-2.1获取当前WEB应用的初始化参数
-2.1.1初始化配置:
<context-param>
<param-name>driver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</context-param>
与ServerConfig的配置区别在于,此处的配置属于全局,而ServerConfig为局部的。
-2.1.2获取配置:
getInitParameter(String name)获取指定参数名的初始化参数
getInitParameterNames() 获取参数名组成的Enumeration对象(枚举)
getRealPath(java.lang.String path)获取文件所在的目录的路径
getResourceAsStream(java.lang.String path)获取 输入流
与 ClassLoader 的区别在于classloader的path参数jdbc.properties
而ServletContext 的path为/WEB-INF/classes/jdbc.properties
ServletContext ServletContext=arg0.getServletContext();
String driver=ServletContext.getInitParameter("driver");
System.out.println("driver:"+driver);
String path=ServletContext.getRealPath("/hello.jsp");
System.out.println("path:"+path);
Enumeration<String> driverValues=ServletContext.getInitParameterNames();
while(driverValues.hasMoreElements()){
String drivername=driverValues.nextElement();
String drivervalue=ServletContext.getInitParameter(drivername);
System.out.println(drivername+":"+drivervalue);
}
try{
ClassLoader classloader=getClass().getClassLoader();
InputStream is=classloader.getResourceAsStream("jdbc.properties");
System.out.println("1."+is);
InputStream is2=ServletContext.getResourceAsStream("/WEB-INF/classes/jdbc.properties");
System.out.println("2."+is2);
}catch(Exception e){
e.printStackTrace();