JavaWeb_ServletContext
ServletContext
- 1.ServletContext:
1)可以由 SerlvetConfig 获取:
ServletContext servletContext = servletConfig.getServletContext();
2)该对象代表当前 WEB 应用:可以认为 SerlvetContext 是当前 WEB 应用的一个大管家。可以从中获取到当前 WEB 应用的各个方面的信息。
①获取当前 WEB 应用的初始化参数。
设置初始化参数:可以为所有的 Servlet 所获取,而 Servlet 的初始化参数只用那个 Serlvet 可以获取。
<!-- 配置当前 WEB 应用的初始化参数 -->
<context-param>
<param-name>driver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</context-param>
/*
代码
*/
ServletContext servletContext = servletConfig.getServletContext();
String driver = servletContext.getInitParameter("driver");
System.out.println("driver:" + driver);
Enumeration<String> names2 = servletContext.getInitParameterNames();
while(names2.hasMoreElements()){
String name = names2.nextElement();
System.out.println("-->" + name);
}
其中的方法: getInitParameter 和 getInitParameterNames
②获取当前 WEB 应用的某一个文件在服务器上的绝对路径,而不是部署前的路径。
String realPath = servletContext.getRealPath("/note.txt");
System.out.println(realPath);
获取路径的方法:getRealPath(String path)
③获取当前 WEB 应用的名称:
String contextPath = servletContext.getContextPath();
System.out.println(contextPath);
获取应用名称的方法:getContextPath()
④获取当前 WEB 应用的某一个文件对应的输入流。
InputStream is2 = servletContext.getResourceAsStream("/WEB-INF/classes/jdbc.properties");
获取当前 WEB 应用的某一个文件对应的输入流的方法:getResourceAsStream(String path):path 的 / 为当前 WEB 应用的根目录.
⑤和 attribute 相关的几个方法。