一.获取真实路径
还可以使用 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) ; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于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)