request.getSession()的替代方案.getServletContext()。getRealPath()

时间:2017-05-11 19:13:07

标签: java servlets tomcat8

我正在将Java Web应用程序从Tomcat 6迁移到Tomcat 8.在应用程序中,单击按钮,将首先在&Workspace.metadata.plugins \ org.eclipse.wst.server.core中创建pdf。 TMP1 \ wtpwebapps \项目'文件夹,如果它不存在,然后在新窗口中打开。

此功能在Tomcat 6和7中运行良好。 但是在Tomcat 8中,pdf被创建了但是它没有在第一次点击时打开(得到404错误)。在第二次或第三次点击时,它会显示出来。

下面的代码用于获取pdf位置的路径:

String path = request.getSession()。getServletContext()。getRealPath(" // MyPdf.pdf");

pdf路径的硬编码在Tomcat 8中也能正常工作。我无法理解问题所在,为上述代码提出了一些替代方案。

1 个答案:

答案 0 :(得分:0)

我可以在您的文件名前看到 2斜杠

String path = request.getSession().getServletContext().getRealPath("//MyPdf.pdf");

下面的代码应该可以使用。

String path = request.getSession().getServletContext().getRealPath("/MyPdf.pdf");