struts2+jasperreport开发报表程序关键代码

    问题2:就是生成html页面的时候,红**的问题,因为struts2默认的会有拦截,px,以至得不到图片,所以我把px文件名称改成了     px.px ,在引用的时候写px.   

    这样在附上下面这句代码,就解决了图片**问题:  
    exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "/test/images/px.");  
      
      
      
      
    下面附上3种方式生成报表,都为struts2中execute方法代码,代码为部分核心:  
    ------------------------------------------------------------------------------------------------------------pdf-----------------------------------------------------------------------------------------------------------------:  
      
    sSQL = String.format(sSQL, sWhere);  
            Connection con = null;  
            String strMessage="";  
            ResultSet rs=null;  
            //String path1=request.getContextPath();  
            //String path2="E://workspace//IreportDemo//WebRoot//report//SecondDemo.jasper";  
            String path= request.getRealPath("/reports/jb7.jasper");  
            System.out.println(path);  
            File reportFile = new File(path);  
            byte[] bytes=new byte[200];  
                        try {  
                            con = DBConnection.currentConnection();  
                            Statement stat = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,  
                                    ResultSet.CONCUR_READ_ONLY);  
    //                      ResultSet rs=DBConnection.getConnection();  
                             rs=stat.executeQuery(sSQL);  
                        } catch (SQLException e2) {  
                            // TODO Auto-generated catch block  
                            e2.printStackTrace();  
                        }  
                        JRResultSetDataSource ds = new JRResultSetDataSource(rs);  
                          
                        System.out.println("-------------------------------------------------------------");  
                        try {  
                            System.out.println(ds.next());  
                        } catch (JRException e1) {  
                            // TODO Auto-generated catch block  
                            e1.printStackTrace();  
                        }  
                        System.out.println("-------------------------------------------------------------");  
                        try {  
                            //生成pdf文件  
                            bytes = JasperRunManager.runReportToPdf(reportFile.getPath(),null, ds);  
                        } catch (JRException e) {  
                            // TODO Auto-generated catch block  
                            e.printStackTrace();  
                        }  
                        //pdf设置  
                        response.setContentType("application/pdf");  
                         response.setContentLength(bytes.length);  
                        ServletOutputStream ouputStream;  
                        try {  
                            ouputStream = response.getOutputStream();  
                            ouputStream.write(bytes, 0, bytes.length);  
                            ouputStream.write(0);  
                            ouputStream.flush();  
                            ouputStream.close();  
                        } catch (IOException e) {  
                            // TODO Auto-generated catch block  
                            e.printStackTrace();  
                        }  
            return null;      
      
      
      
      
      
    ------------------------------------------------------------------------------------------------------------html-----------------------------------------------------------------------------------------------------------------:  
      
      
    sSQL = String.format(sSQL, sWhere);  
                Connection con = null;  
                String strMessage="";  
                ResultSet rs=null;  
                response.setCharacterEncoding("UTF-8");  
                File reportFile = new File(request.getRealPath("/reports/jb7.jasper"));  
                if (!reportFile.exists())  
                    throw new JRRuntimeException("File WebappReport.jasper not found. The report design must be compiled first.");  
      
                JasperReport jasperReport = null;  
                try {  
                    jasperReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());  
                     
                } catch (JRException e1) {  
                    // TODO Auto-generated catch block  
                    e1.printStackTrace();  
                }  
                  
                Map parameters = new HashMap();  
                parameters.put("ReportTitle", "Address Report");  
                parameters.put("BaseDir", reportFile.getParentFile());  
                    try  
                    {  
                          
                        con = DBConnection.currentConnection();  
                        Statement stat = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,  
                            ResultSet.CONCUR_READ_ONLY);  
                        rs=stat.executeQuery(sSQL);  
                        System.out.println(rs.next());  
                        JRResultSetDataSource jrds = new JRResultSetDataSource(rs);  
                    System.out.println("--------------------------------------------------");  
                    System.out.println(jrds.next());  
                  
                    JasperPrint jasperPrint =   
                    JasperFillManager.fillReport(  
                        jasperReport,   
                        parameters,   
                        jrds  
                        );        
                response.setContentType("text/html");   
                JRHtmlExporter exporter = new JRHtmlExporter();  
                PrintWriter out=response.getWriter();  
                request.setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);  
                exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);  
                exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);  
                exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "/test/images/px.");  
                exporter.exportReport();  
                    } catch (Exception e) {  
                        // TODO Auto-generated catch block  
                        e.printStackTrace();  
                    }  
                  
                  
              
      
            return null;  
      
      
      
    ------------------------------------------------------------------------------------------------------------excel-----------------------------------------------------------------------------------------------------------------:  
    sSQL = String.format(sSQL, sWhere);  
                     path= request.getRealPath("/reports/jb7.jasper");  
                    System.out.println(path);  
                     reportFile = new File(path);  
                    try {  
                        con = DBConnection.currentConnection();  
                        Statement stat = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,  
                            ResultSet.CONCUR_READ_ONLY);  
                        rs=stat.executeQuery(sSQL);  
                    } catch (SQLException e1) {  
                     
                }  
                    JRDataSource dataSource=new JRResultSetDataSource(rs);  
                    //生成EXCEL  
                    try {  
                        //这里注意参数传递,dataSource为数据源  
                         jasperPrint = JasperFillManager.fillReport(reportFile.getPath(),null,dataSource);  
                        JRXlsExporter exporter = new JRXlsExporter();   
                        ByteArrayOutputStream   baos   =   new   ByteArrayOutputStream();     
                        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);  
                        exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE); // 删除记录最下面的空行  
                        exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,Boolean.FALSE);// 删除多余的ColumnHeader  
                        exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,Boolean.FALSE);// 显示边框     
                        exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,baos);  
                        exporter.exportReport();   
                        //这里需要设置,数据没有填充进去,,待续........................  
                        response.setContentType("application/vnd.ms-excel;charset=GB2312");  
                          
                        bytes   =   baos.toByteArray();   
                        if   (bytes   !=   null   &&   bytes.length   >   0){     
                              response.setCharacterEncoding("utf-8");  
                              response.setContentLength(bytes.length);     
                                 ouputStream   =   response.getOutputStream();     
                              ouputStream.write(bytes,   0,   bytes.length);     
                              ouputStream.flush();     
                              ouputStream.close();     
                             }  
                    } catch (Exception e) {  
                    }  
        return null;

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值