Доброе утро всем, меня зовут Дэвид, и я новый в Jasper Reports (Urm..am также новый в стеке над потоком тоже). Я загрузил учебник по отчетам Jasper, который провел меня через процедуры создания моего первого отчета. Я успешно создал свой файл .jrxml , скомпилировал его в файл .jasper и заполнил его в файл .jprint , все с помощью кодов Java, я также успешно просмотрел отчет с Jasper Viewer с помощью целей Ant в моем файле build.xml . < /p>
Моя проблема сейчас заключается в том, как отобразить отчет в веб -браузере. Вот код: < /p>
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());
}
}
}
< /code>
Теперь моя проблема заключается в том, как я собираюсь развернуть приведенный выше код в контингсе сервлета. Таким образом, он отобразит мой отчет Jasper в формате PDF в моем веб -браузере. В учебном пособии говорилось, что сценарий муравья для автоматизации процесса может быть найден на их веб -сайте, но я искал и не нашел никакого .. < /p>
Так что, если кто -то из вас может дать мне инструкции о том, как развернуть вышеупомянутый код в контейнере Servlet, или дать мне ссылку, которая рассмотрит меня о том, как создать сценарий муравей, который автоматизирует процесс, я буду очень большой.
Подробнее здесь: https://stackoverflow.com/questions/214 ... eb-browser