一.获取真实路径
还可以使用 ServletContext 对象来获取 Web 应用下的资源,例如在 hello 应用的根目录下创建 a.txt 文件,现在想在 Servet 中获取这个资源,就可以使用ServletContext 来获取。
获取路径:
A.txt: String realPath = this.getServletContext().getRealPath("/a.txt");
, realPath的值为a.txt
文件的绝对路径: F:\tomcat6\webapph\ello\a.txt;
b.txt: String realPath= this.getServletContext().getRealPath("/WEB-INF/o.txt");
二.获取资源流
不只可以获取资源的路径,还可以通过 ServletContext 获取资源流,即把资源以输入流的方式获取:
获取资源:
A.txt: InputStream in= this.getServletContext().getResourceAsStream"/a.txt");
B.txt: InputStreamin= this.getServletContext().getResourceAsStream("/WEB-INF/b.txt");
三.获取指定目录 下所有资源路径。
还可以使用 ServletContext .获取指定目录下所有资源路径,例如获取 /WEB-INF 下所有资源的路径:
package cn.itcast.servlet;
import java.io. IOException;
//使用servletContext获取资源路径*
publia class DServlet extends HttpServlet
public void doGet (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
//它得到的是有盘符的路径: P:xxx/xxx/xx
//F:\JavaEE20140508lapache- -tomcat-7.0.421webappslday09_ 2index.jsp
Set<String> paths = this.getServletContext().getResourcePaths("/WEB-INF") ;
System.out.println (paths) ;
}