Java 使用getServletConfig获取文件名时出错
我正在使用Java 使用getServletConfig获取文件名时出错,java,file,servlets,jasper-reports,servletconfig,Java,File,Servlets,Jasper Reports,Servletconfig,我正在使用JasperReport在javaweb应用程序中生成报告 我有一行代码来获取报告文件 JasperReport report = (JasperReport) JRLoader.loadObject(getServletConfig().getServletContext().getRealPath("\rpts\report1.jasper")); 但当我尝试使用上述行时,我得到了FileNotFoundException。但当我尝试使用下面这行代码时,程序成功地执行了 Jasp
JasperReport
在javaweb应用程序中生成报告
我有一行代码来获取报告文件
JasperReport report = (JasperReport) JRLoader.loadObject(getServletConfig().getServletContext().getRealPath("\rpts\report1.jasper"));
但当我尝试使用上述行时,我得到了FileNotFoundException
。但当我尝试使用下面这行代码时,程序成功地执行了
JasperReport report = (JasperReport) JRLoader.loadObject(getServletConfig().getServletContext().getRealPath("//rpts//report1.jasper"));
那么,我想知道第一线有什么问题
提前感谢…您给出的路径应该是servlet路径。通常,servlet路径具有正斜杠
/
请尝试此
/rpts/report1.jasper“
您给出的路径应该是servlet路径。通常,servlet路径具有正斜杠/
请尝试此/rpts/report1。jasper“
Java语言(和其他语言)需要\
字符串中的\
(双反斜杠)才能读取单个\
。你的第一条路应该改成
JasperReport report = (JasperReport) JRLoader.loadObject(getServletConfig()
.getServletContext().getRealPath("\\rpts\\report1.jasper"))
不过,最好使用/
检查路径,或者更好地使用如下所示:Java语言(和其他语言)需要\
字符串中的\
(双反斜杠)才能读取单个\
。你的第一条路应该改成
JasperReport report = (JasperReport) JRLoader.loadObject(getServletConfig()
.getServletContext().getRealPath("\\rpts\\report1.jasper"))
不过,最好使用/
检查路径,或者更好地使用如下所示: