标签:
8.ServletContext
1).可以由ServletConfig获取, ServletContext context=arg0.getServletContext();
2).该对象代表当前WEB应用:可以认为ServletContext是当前Web应用的一个大管家,可以获取当前WEB应用的各方面信息
<!-- 配置当前WEB应用的初始化参数-->
<context-param>
<param-name>driver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</context-param>
<context-param>
<param-name>jdbcUrl</param-name>
<param-value>jdbc:mysql:///lee</param-value>
</context-param>
<servlet>
.......
</servlet>
<servlet>
.......
</servlet>
它是和servlet节点是并列的,是当前站点的全局信息。
它同样可以获取这些配置信息,不过它获取的是全局配置信息,而当前的ServletConfig是获取当前的Servlet的信息
Enumeration <String> names=context.getInitParameterNames();
换句话说,任何一个Servlet都可以获取这个全局信息。
3)获取站点目录下的资源的绝对路径
方法一
String path=context.getRealPath("/hello.jsp"); 将获得hello.jsp在服务器上发布之后的真正路径。 /hello.jsp是其在这个项目中的根目录下的路径
InputStream inputStream=context.getResourceAsStream("/WEN-INF/classes/test.txt");
String path=context.getRealPath("/WEN-INF/classes/test.txt");
路径只能写成/hello.jsp这种形式,\\不行
然而如果是src下的文件路径,假设src下有test.txt这样一个文件,如果想获得它的真正路径,写成 /WEB-INF/classes/test.txt,因为src下的文件都会被放到/WEN-INF/classes/test.txt的目录下,换言之,服务器加载完这个项目开始运行后,根本不存在src目录。
说明这个方法得到的都是服务器上的绝对路径,而不是部署前的路径
方法二
类加载器:
ClassLoader classLoader=this.getClass().getClassLoader();
InputStream inputStream=classLoader.getResourceAsStream("test.txt");
第三篇-->Servlet从细节开始(二)
标签:
原文地址:http://www.cnblogs.com/sailing-egg/p/4673868.html