문제

I am using JasperReport for generation reports in Java Web Application.

I have a following line to get report file.

JasperReport report = (JasperReport) JRLoader.loadObject(getServletConfig().getServletContext().getRealPath("\rpts\report1.jasper"));

But when I try using above line I am getting FileNotFoundException. But when I try using following line, program executes successfully.

JasperReport report = (JasperReport) JRLoader.loadObject(getServletConfig().getServletContext().getRealPath("//rpts//report1.jasper"));

So, I want to know what is the problem with first line?

Thanks in advance...

도움이 되었습니까?

해결책 2

The Path you give should be servlet path. Normally, servlets paths have forward slash /.

Please try this /rpts/report1.jasper".

다른 팁

Java language (and others) needs \\ (double backslash) in Strings in order to read a single \. Your first way should change to

JasperReport report = (JasperReport) JRLoader.loadObject(getServletConfig()
    .getServletContext().getRealPath("\\rpts\\report1.jasper"))

Still, it would be better to check paths using / or even better using File#separator as shown here: File.separator vs Slash in Paths

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top