Моя проблема заключается в том, как отобразить отчет в веб-браузере.
Все, что мне было дано в руководстве, это код Java-сервлета, который экспортирует отчет 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());
}
}
}
Итак, если кто-нибудь из вас может дать мне инструкцию о том, как развернуть приведенный выше код в контейнере сервлетов, или дайте мне ссылку, которая проинструктирует меня о том, как создать сценарий ant, автоматизирующий этот процесс, я буду очень признателен, потому что я потратил на эту проблему почти три дня.
Подробнее здесь: https://stackoverflow.com/questions/214 ... eb-browser
Мобильная версия