大家早上好,我的名字是大衛,並且在碧玉報告中也是新的(urm.am也是新的流量疊加)。我下載了一份關於碧玉報告的教程,指導我完成創建第一份報告的過程。我已經成功創建了我的.jrxml
文件,將它編譯爲.jasper
文件,並將其填充到.jprint
文件中,所有這些文件都藉助於java代碼,我還使用jasper查看器在我的build.xml
文件中藉助螞蟻目標成功預覽了報告。如何在網頁瀏覽器中顯示碧玉報告
我現在的問題是如何在Web瀏覽器上顯示報告。
本教程中給出的所有內容都是一個java servlet代碼,它將jasper報告導出爲pdf格式,然後將其顯示在瀏覽器中。這裏是代碼:
package net.ensode.jasperbook;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.HashMap;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperRunManager;
public class FirstReportSendToBrowserServlet extends. HttpServlet{
@SuppressWarnings("unchecked")
protected void doGet(HttpServletRequest. request, HttpServletResponse response)
throws ServletException, IOException{
ServletOutputStream servletOutputStream = response.getOutputStream();
InputStream reportStream = getServletConfig().getServletContext().getResourceAsStream("/reports/FirstReport.jasper");
try{
JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, new HashMap(), new JREmptyDataSource());
response.setContentType("application/pdf");
servletOutputStream.flush();
servletOutputStream.close();
}
catch(JRException e){
//display stack trace in the browser
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter);
e.printStackTrace(printWriter);
response.setContentType("text/plain");
response.getOutputStream().print(stringWriter.toString());
}
}
}
現在我的問題是如何將上述代碼部署在servlet continer中。所以它會在我的網頁瀏覽器上以pdf格式顯示我的碧玉報告。本教程說可以在他們的網站找到一個螞蟻腳本來自動化的過程,但我搜索,但沒有找到任何..
所以如果你們任何人都可以給我指示如何部署上述代碼在一個servlet容器,或者給我一個鏈接,告訴我如何創建自動化進程的ant腳本,我會非常非常高興,因爲我已經花了差不多三天時間解決這個問題。
先生。請它仍然不工作。而是試圖下載它,而不是僅僅在瀏覽器上顯示它。即使在那,如果我允許它下載,它會彈出一條消息,說「無法下載此文件詳細信息:HTTP/1.1 500內部服務器錯誤」 – David
這裏是我的web.xml文件ooks: – David
這裏是我的目錄看起來像:webapps | + --- firstJasperReport | + --- WEB-INF | + --- web.xml | + ---類 | + --- FirstReportSendToBrowserServlet.class | + ---報告| + --- FirstReport.jasper – David