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

📄 logexportservlet.java

📁 杰表服务器 部分源码 杰创网络报表(简称“杰表”)是一款国产的网络报表开发工具
💻 JAVA
字号:
package servlet;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.log4j.Logger;import com.jatools.core.ZDataProvider;import com.jatools.core.ZPrinterListener;import com.jatools.core.ZReportEvent;import com.jatools.core.ZReportJob;import com.jatools.core.ZReportServer;/** * @author java * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */public class LogExportServlet extends HttpServlet {    /**     * DOCUMENT ME!     *     * @param request DOCUMENT ME!     * @param response DOCUMENT ME!     *     * @throws ServletException DOCUMENT ME!     * @throws IOException DOCUMENT ME!     */    public void doGet(HttpServletRequest request, HttpServletResponse response)        throws ServletException, IOException {        String file = request.getParameter("file");        if (file == null) {            throw new ServletException("请指定报表模板文件.");        }        ZReportJob job = null;        try {            job = ZReportServer.createJob(new FileInputStream(file));            job.setParameter("file", file);        } catch (Exception ex) {            throw new ServletException(ex);        }            //挂接日志监听器        job.addPrinterListener(new LoggerListener());        String as = request.getParameter("as");        if ("pdf".equals(as)) {            job.setParameter("as", "pdf");            try {                ByteArrayOutputStream ba = new ByteArrayOutputStream();                job.printAsPDF(ba);                response.setContentType("application/pdf");                response.setContentLength(ba.size());                ServletOutputStream sos = response.getOutputStream();                ba.writeTo(sos);                sos.flush();            } catch (Exception ex) {                throw new ServletException(ex);            }        } else {            job.setParameter("as", "dhtml");            response.setContentType("text/html;charset=UTF-8");            PrintWriter out = response.getWriter();            try {                job.printAsDHTML(new TempDirHelper(request),out);            } catch (Exception ex) {                throw new ServletException(ex);            }        }    }}class LoggerListener implements ZPrinterListener {    private static Logger logger = Logger.getLogger("LoggerListener");    /**     * DOCUMENT ME!     *     * @param e DOCUMENT ME!     */    public void beginPrintReport(ZReportEvent e) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see com.jatools.core.ZPrinterListener#beginPrintPage(com.jatools.core.ZReportEvent)     */    public void beginPrintPage(ZReportEvent e) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see com.jatools.core.ZPrinterListener#endPrintPage(com.jatools.core.ZReportEvent)     */    public void endPrintPage(ZReportEvent e) {        // TODO Auto-generated method stub    }    /**     * DOCUMENT ME!     *     * @param e DOCUMENT ME!     */    public void endPrintReport(ZReportEvent e) {        ZDataProvider dataProvider = e.getDataProvider();        String msg = "表求格式 : " + dataProvider.getValue("as") + "\t";        msg += ("文件名   : " + dataProvider.getValue("file") + "\t");        msg += ("页数     : " + (e.getPageIndex()));        logger.error(msg);    }}

⌨️ 快捷键说明

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