⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 docprintservlet.java

📁 tomcat最新安装程序
💻 JAVA
字号:
package servlets;

import datasource.*;
import dori.jasper.engine.*;
import dori.jasper.engine.util.*;

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

/**
 * @author: xuyongqiang
 * Created on 2003-10-28
 */
public class DocPrintServlet extends HttpServlet {

	/**
	 *
	 */
	public void service(
		HttpServletRequest request,
		HttpServletResponse response)
		throws IOException, ServletException {
		ServletContext context= this.getServletConfig().getServletContext();

		HttpSession session= request.getSession();
		String path= (String)session.getAttribute("reportUrl");
		File reportFile= new File(context.getRealPath(path));
		Map parameters= new HashMap();
		parameters= (HashMap)session.getAttribute("parameters");
		parameters.put("BaseDir", reportFile.getParentFile());
		Object[][] data= (Object[][])session.getAttribute("data");
		ArrayList nameList= (ArrayList)session.getAttribute("nameList");
		session.removeAttribute("parameters");
		session.removeAttribute("reportUrl");
		session.removeAttribute("data");
		session.removeAttribute("nameList");
		WebappDataSource webappDataSource= new WebappDataSource();
		webappDataSource.setNameList(nameList);
		webappDataSource.setData(data);

		JasperPrint jasperPrint= null;

		try {
			JasperReport jasperReport=
				(JasperReport)JRLoader.loadObject(reportFile.getPath());

			jasperPrint=
				JasperFillManager.fillReport(
					jasperReport,
					parameters,
					webappDataSource);
		} catch (JRException e) {
			response.setContentType("text/html");
			PrintWriter out= response.getWriter();
			out.println("<html>");
			out.println("<head>");
			out.println(
				"<title>JasperReports - Web Application Sample</title>");
			out.println(
				"<link rel=\"stylesheet\" type=\"text/css\" href=\"../stylesheet.css\" title=\"Style\">");
			out.println("</head>");

			out.println("<body bgcolor=\"white\">");

			out.println(
				"<span class=\"bnew\">JasperReports encountered this error :</span>");
			out.println("<pre>");

			e.printStackTrace(out);

			out.println("</pre>");

			out.println("</body>");
			out.println("</html>");

			return;
		}

		if (jasperPrint != null) {
			response.setContentType("application/octet-stream");
			ServletOutputStream ouputStream= response.getOutputStream();

			ObjectOutputStream oos= new ObjectOutputStream(ouputStream);
			oos.writeObject(jasperPrint);
			oos.flush();
			oos.close();

			ouputStream.flush();
			ouputStream.close();
		} else {
			response.setContentType("text/html");
			PrintWriter out= response.getWriter();
			out.println("<html>");
			out.println("<head>");
			out.println(
				"<title>JasperReports - Web Application Sample</title>");
			out.println(
				"<link rel=\"stylesheet\" type=\"text/css\" href=\"../stylesheet.css\" title=\"Style\">");
			out.println("</head>");

			out.println("<body bgcolor=\"white\">");

			out.println("<span class=\"bold\">Empty response.</span>");

			out.println("</body>");
			out.println("</html>");
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -