一.获取真实路径

还可以使用 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) ;
}

关注我的公众号SpaceObj 领取idea系列激活码

posted on   张伯灵  阅读(25)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)



点击右上角即可分享
微信分享提示