【发布时间】:2016-10-19 19:13:12
【问题描述】:
我的动态网络项目具有以下结构。
WebContent/WEB-INF/jsps/index.jsp。我正在尝试从我的 jsp 文件中访问 file.txt 并显示该文件中的内容。 file.txt 位于 WebContent/resources 文件夹中。
我正在使用,
String jspPath = session.getServletContext().getRealPath("/resources");
jspPath = jspPath.replace("\\", "/");
String fileName = "/file.txt";
String txtFilePath = jspPath + fileName;
打开文件后,代码显示内容。
它在本地主机上工作,但是当我在线上传它时,它没有在 jsp 页面上显示文本文件中的内容。
我不明白为什么它不起作用,我认为文件路径可能是一个问题,因为它抛出了 FileNotFoundException 但我通过进行一些更改来修复它。现在它不显示内容。有人可以帮忙吗?我正在为 .war 文件使用 openshift 部署平台。
【问题讨论】:
-
使用文件路径读取部署在服务器中的文件不是一个好主意。不同的机器使用不同的文件系统,一些应用服务器压缩部署的内容。为什么不使用更好的 getClass().getResource("/resources/file.txt") ?
-
我已经尝试过了,但它给出了这个错误:org.apache.jasper.JasperException: Unable to compile class for JSP。
-
您的代码似乎错误或您忘记了某些导入。如果您将文件作为流读取,请检查您是否包含 无论如何,您确定要将这个逻辑放入 jsp 中吗?用jsp写java代码已经过时了,有很简单的办法。