gpt4 book ai didi

java - 在 Tomcat 中部署后来自 servlet 过滤器的 JSP 文件路径

转载 作者:行者123 更新时间:2023-11-28 22:49:32 25 4
gpt4 key购买 nike

在 Tomcat 中部署项目后,我试图在我的 webapp 文件夹中获取各种 JSP 文件的文件路径。这是我的目录结构:

-project 
|-top
||-java
|||-com
||||-...
|||-filter
||||-MyFilter.java
||-webapp
|||-jsp
||||-MyJSP.jsp

因此,当代码命中我的过滤器时,doFilter() 方法内的 MyJSP.jsp 的路径是什么?我正在尝试编辑文件的内容,因此我需要能够执行 readwrite 操作。

当我执行 request.getServletPath() 时,它显示路径:/jsp/MyJSP.jsp。但是,当我尝试使用以下代码阅读时:

String str = "";
BufferedReader br = new BufferedReader(new FileReader("/jsp/MyJSP.jsp"));

while ((str = br.readLine()) != null) {
System.out.println(str );
}

br.close();

我得到一个 FileNotFoundException。我究竟做错了什么?这不是jsp文件部署到Tomcat后的实际路径吗?

此外,我注意到其他一些问题说将文件放在 WEB-INF 文件夹中,但是,该文件夹中除了 web.xml 之外什么都没有,我我不允许在里面放任何东西。

如有任何帮助,我们将不胜感激!

最佳答案

您可能必须使用 request.getServletContext().getRealPath("/jsp/MyJSP.jsp")

BufferedReader br = new BufferedReader(new FileReader(request.getServletContext().getRealPath("/jsp/MyJSP.jsp")));

关于java - 在 Tomcat 中部署后来自 servlet 过滤器的 JSP 文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44892453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com