原理介绍,禁止再生

2019-09-19 06:36栏目:联系我们
TAG:

易升是微软推出的win10升级工具。用户可通过易升一键升级win10。

  因为有项目使用Nginx来做负载均衡,但是Nginx的Windows版本是不提供安装成服务的,所以服务器重启后Nginx并不会伴随启动和恢复。网上查了下,这里记录下解决方法,防止遗忘。

1. JasperReport介绍

    JasperReport 是一个开源的Java报表引擎,它不像其他的报表工具,例如Crystal报表是基于Java的,没有自己的表达式语法。Jasper Reports有提供丰富的内容到屏幕上,到打印机,或转换成PDF,HTML,XLS,RTF,ODT,CSV,TXT和XML文件的能力。Jasper Reports是一个Java类库,需要嵌入到Java应用程序中。Jasper Report的特点如下:

  • 具有灵活的报表布局;
  • 可以用文字或图形显示数据;
  • 开发人员可以通过多种方式提供数据;
  • 可以接受来自多个数据源的数据;
  • 可以生成水印(水印是这样的方式被放置在主图像的副图像);
  • 可以生成子报表;
  • 能够导出报表到多种格式的。

因为我的电脑已经是win10的系统,所以我也不需要升级。也不想升级,因为我从网上了解到升级后的系统反而没有升级前的好用。

  第一步:下载Winsw工具,下载地址:

2. 开发流程

    JasperReport完全由Java编写,可以用于在各种Java应用程序,包括J2EE,Web应用程序中生成动态内容。它主要目的是辅助生成面向页面的、准备打印的文档。下面的流程图描述了一个典型的报表开发的工作流程。

 图片 1

    如上图所示,JasperReport报表开发分为四个阶段:

(1)设计报表

    这个阶段是创建jrxml文件,该文件是包含报表布局定义的XML文档,可以使用JasperSoft Studio或iReport这两种可视化开源开发工具来创建。

(2)编译报表

    这一阶段是将源文件(*.jrxml)编译成二进制文件(*.jasper),该jasper文件可以随应用程序运行。

(3)执行报表

    该步骤是将应用程序中的数据填充在报表模板中,即jasper文件。这一阶段将会产生jasper打印文件(*.jrprint),该文件可以用来打印或导出报表。

(4)导出报表到所需要的格式中

    JasperReport提供了各种形式的导出格式,如:HTML,PDF,Excel等。该阶段可以导出需要的报表格式。

微软的初衷是好的,但是这个win10易升太流氓了,直接不经过你的允许强制安装和升级你的系统。而且升级系统总是失败,体验非常不好。下面详细说明禁止win10易升再次安装到你电脑上。

  图片 2

3. 实现原理

    JasperReport Library为报表开发提供了丰富的类库,其中生成报表并打印、导出全过程如下图所示。

 

图片 3

    开发流程如下:

(1)开发报表设计文件,也就是一个*.jrxml文件。

(2)使用JasperReports提供的JasperCompileManager工具编译*.jrxml文件,编译后生成一个*.jasper文件。

(3)使用JasperReports提供的JasperFillManager工具填充编译后的*.jasper文件,填充后生成一个*.jrprint文件。

(4)使用导出管理器JasperExportManager或者各种格式的文件导出器JRXxxExporter将*.jrprint文件导出成各种格式的报表文件。也可以使用JRViewer工具类来直接浏览报表。也可以使用打印管理器JasperPrintManager来打印报表。

1.已经装过win10易升的首先到控制面板---程序--卸载程序,搜索易升卸载掉。

  第二步:创建配置文件Winsw.xml

4. 相关实现类

    在JasperReport的开发流程中,主要涉及下面的这几个类:

(1)net.sf.jasperreports.engine.design.JasperDesign

    这个类可以在JasperReport类库内置的XML解析器对XML report design进行解析处理之后得到[2]。其对应与报表模板文件在内存中的形式,即*.jrxml文件。

(2)net.sf.jasperreports.engine.JasperReport

    这个类的实例包含了一个经过编译的report design对象。生成它的时机是对报表编译之后,但尚未对其填入数据的时候。编译过程中,JasperReport需要生成一个临时的类文件,用以保存report 表达式,如变量表达式、文本、图像表达式、组表达式等等。这个临时的Java Source File是被动态编译的,编译器使用的是JDK中用来执行应用程序的编译器类(compiler class)。如果 tools.jar不在classpath中,编译过程将采用javac.exe来进行后台编译。编译后所得的字节码保存在JasperReport类中,用来在执行期填充数据和给表达式赋值。对应二进制报表文件在内存中的形式,也就是对应的*.jasper文件。

(3)net.sf.jasper.engine.JasperPrint

    当一个报表已经装填好数据之后,这个文档就以JasperPrint类的实例出现。这个类可以直接用JasperReport内置的viewer进行查看,也可以序列化到硬盘以备后用,或者发送到网上去。这个类的实例是报表装填过程后的产物,它可以被JasperReport类库中的导出方法导出成各种流行的格式如PDF,HTML,XML等等。

(4)net.sf.jasperreports.engine.xml.JRLoader

    装载器用于报表生成的各个主要阶段如编译,填充等。用户和引擎都可以利用这个类来装载所需的序列化对象如file、URLs、intput stream等。这个类最令人感兴趣的函数当属loadOnjectFromLocation(String location)[3]。当用户使用这个类从指定地点装载对象的时候,该函数将首先将location解释为一个合法的URL,如果解析失败,函数将认为所提供的location是硬盘上的一个文件名,并将试图读取它。如果在指定地点没找到文件,它将通过classpath定位一个相应于该location的资源,所有努力失败之后,将抛出异常。

(5)net.sf.jasperreports.engine.JasperCompileManager

    这是一个与编译有关的类,利用它提供的一些编译方法,允许我们将一个报表设计文档(*.jrxml文件)编译成一个二进制文件(*.jasper文件)。此外,它也可以直接将net.sf.jasperreports.engine.design.JasperDesign(*.jrxml文件在内存中的形式)对象编译成net.sf.jasperreports.engine.JasperReport对象。

(6)Class net.sf.jasper.engine.JasperFillManager 

    这个类用来实现报表的数据填充。报表填充就是为报表的数据查询提供数据库连接,给报表的参数设置值等。填充之前是*.jasper文件,经过填充后就变成了*.jrprint文件--这是一个可显示或者可导出成报表的文件。这个类提供了很多方法来接受各种类型的report design,可以是一个对象、文件、或输入流。它的输出结果也是多样的:file、Object、output Stream。

(7)net.sf.jasperreports.engine.JasperPrintManager

    用于将一个*.jrprint文件完成打印。在JapserReports中,我们可以通过这个类来打印报表,它包含了所有的打印功能。它提供了打印整个文档或者部分文档、显不显示打印对话框的方法。使用这个类可以将JasperReports文档的一页作为一个java.awt.Image对象来显示。

(8)net.sf.jasperreports.engine.JasperExportManager

    这个管理类对不同来源和不同去处(文件、输入输出流等)的数据提供不同的方法。用于将可显示的报表导出成各种格式的报表文件,例如PDF、HTML、XML和其他的格式。

(9)net.sf.jasperreports.engine.export.JRXxxExporter

    这是一系列的文件导出器,它们用于将*.jrprint文件导出成对应格式的报表文件。例如XSL、PDF、HTML、XML、CSV、RTF、TXT和其他的格式。JRXlsExporter、JRPdfExporter、JRXmlExporter、JRCsvExporter、JRHtmlExporter、JRTextExporter、JRRtfExporter。

(10)net.sf.jasperreports.engine.JasperRunManager

    这个类可以直接将*.jasper文件导出成各种格式的报表文件,有时候在报表填充过程中我们不希望生成中间的net.sf.jasperreports.engine.JasperPrint对象,而直接生成我们所需要的文档格式,例如:PDF或HTML。

版权声明:本文由ag真人发布于联系我们,转载请注明出处:原理介绍,禁止再生