修改相关配置

web.xml

在web.xml文件中要对报表系统中用到的servlet进行配置,请将报表系统提供的web.xml文件中的<web-app>节点下的所有内容复制到你的应用的web.xml文件中相应的位置。

<servlet>
      <servlet-name>reportServlet</servlet-name>
      <servlet-class>bios.report.engine.output.ReportEmitter</servlet-class>
      <init-param>
        <param-name>reportConf</param-name>
        <param-value>/WEB-INF/resources/report_config.xml</param-value>
      </init-param>
      <!--
      <init-param> 
        <!--设置自定义sevlet的访问路径 设置时,须在<url-pattern></url-pattern>里的原路径前加上
        “/”+<param-value></param-value>里的路径-->
        <param-name>reportPrefix</param-name>
        <param-value>mypath</param-value>
      </init-param>
      -->
      <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet>
      <servlet-name>accessorServlet</servlet-name>
      <servlet-class>bios.report.engine.output.ReportAccessor</servlet-class>
    </servlet>
    <servlet>
      <servlet-name>fillinServlet</servlet-name>
      <servlet-class>bios.report.engine.output.ReportFillin</servlet-class>
    </servlet>
    <!--设置sevlet的访问路径,servlet-name设置的访问名称,url-pattern设置的访问路径。
     ReportEmitter是获取数据的路径,ReportFeeder是填入数据的路径-->
    <servlet-mapping>
      <servlet-name>reportServlet</servlet-name>
      <url-pattern>/ReportEmitter</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
      <servlet-name>accessorServlet</servlet-name>
      <url-pattern>/ReportHelper</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
      <servlet-name>fillinServlet</servlet-name>
      <url-pattern>/ReportFeeder</url-pattern>
    </servlet-mapping>
  </web-app>

report_config.xml

关于皕杰报表的参数设置,请打开文件(WEB-INF/resources/report_config.xml)。这里需要提醒用户注意的是,如果用户使用UltraEdit或EditPlus等文本编辑工具打开report_config.xml文件的时候,会提示是否将文件转换成DOS格式,这时候,一定要选择“否”,否则部署会出现问题。建议用户使用“Visual Studio Code”工具打开report_config.xml文件。report_config .xml文件内容如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!-- 皕杰报表配置文件,报表系统启动时,会使用该文件进行系统设置和组件加载。
  该文件的名称和路径可在web.xml中,通过ReportEmitter这个servlet的初始化参数"reportConf"进行设置和修改。
  系统运行过程中,如果修改了该文件,则可参考下面的url来访问报表系统,即可不重启应用,热加载修改后的配置信息。   
  "http://localhost:8080/report/ReportEmitter?ReportConfigReload"-->
<Config>
  <!-- 报表文件存放目录,节点值为相对web应用根目录的路径。当节点值以*打头时表示该路径为绝对路径 。-->
  <reportHome>/WEB-INF/reports</reportHome>

  <!-- 报表引用图片的存放目录,缺省时使用reportHome作为imageHome。路径设置规则与reportHome相同。-->
  <!-- <imageHome>/WEB-INF/reports</imageHome> -->

  <!-- 应用资源的存放路径,节点值为相对应用根目录的路径。
   应用资源包括自定义函数文件、自定义图表配色方案文件等。-->
  <appResource>/WEB-INF/resources</appResource>

  <!-- 客户端资源存放路径,节点值为相对应用根目录的路径。
  客户端资源包括报表内置的js脚本、css样式表、图片以及Appletc程序包和客户端jre安装程序等。
  请注意,该路径不可位于WEB-INF目录下。-->
  <webResource>/report_res</webResource>
    
  <!--web编码方式,要与web页面的编码方式一致,如果使用filter过滤器,则要与filter的编码方式一致--> 
  <characterEncode>UTF-8</characterEncode>

  <!--dsConf节点用来配置报表的数据源,<dsConf>与</dsConf>之间可以配置多个数据源,
    也就是说可以有多对<dataSource>与</dataSource>,但是是数据源名称不可以重复。 --> 
  <dsConf>
    <!-- dataSource节点用于配置数据源的具体属性,每对<dataSource>与</dataSource>为一个数据源,此数据源为关系数据库类型的数据源示例-->
    <dataSource>
           
      <!-- 数据源名称,与设计器中一致 -->
      <Name>BIOS_DS</Name> 
           
      <!-- JNDI查找前缀,应用服务器不同,JNDI前缀有所区别 --> 
      <JNDIPrefix>java:comp/env/</JNDIPrefix> 
           
      <!-- 数据源的JNDI资源名称,与服务器端的数据源名称一致 -->
      <JNDIName>BIOS_DS</JNDIName>    
           
      <!-- 数据库类型,可选值:ORACLE,DB2,SQLSERVER,SYBASE,INFORMIX,MYSQL,FIREBIRD,POSTGRESQL,
      KINGBASE,DM,TERADATA,NETEZZA,HSQL,H2,OTHER等,并且类型名称需大写 -->
      <DBType>HSQL</DBType>    
           
      <!-- 数据库编码方式 -->
      <DBEncode>gb2312</DBEncode> 
      <!-- 是否进行Sql语句转码 --> 
      <SQLDecode>false</SQLDecode> 
      <!-- 是否为默认数据源 -->
      <Default>true</Default>
      <!-- 是否支持多版本并发控制;可以去掉这个节点,系统默认为true;目前所知仅有gbase8a不支持MVCC -->
      <SupportMVCC>true</SupportMVCC>  
        
    </dataSource>     
    <!--
    <dataSource>
      <Name>test</Name>
      <JNDIPrefix>java:comp/env/</JNDIPrefix>
      <JNDIName>devdb</JNDIName>
      <DBType>oracle</DBType>
      <DBEncode>GBK</DBEncode>
      <SQLDecode>false</SQLDecode>
      <Default>false</Default>
    </dataSource>
    -->      
    <!--
    <!-- 此数据源为XML数据源示例-->
    <dataSource  type="xml">
 
      <!-- XML数据源名称,要与设计器中一致--> 
      <Name>XML</Name> 
           
      <!-- 配置XML文件定义,同一个XML数据源可以配置多个XML文件定义,
        其中,“name”为XML文件定义名称,与设计器中一致;“xml”为xml数据文件的路径-->
      <Def name="表1" xml="D:\DATASOURCE_XML\表1.xml"  encode=""/> 
      <Def name="表2" xml="D:\DATASOURCE_XML\表2.xml"  encode=""/> 
    </dataSource>
    -->
    <--
    <!-- 此数据源为webservice数据源示例-->
    <dataSource type="webservice">
      <!-- webservice数据源名称,要与设计器中一致-->
      <Name>WS</Name>
      <!—Web服务说明WSDL的URL--> 
      <WSDL>http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl</WSDL>
    </dataSource>
    -->
  </dsConf>

  <!-- 语义层文件存放目录,用来存放语义层文件路径。  -->
  <!-- <bizModelHome>/WEB-INF/bizmodel</bizModelHome> -->
    
  <!-- 系统运行模式,允许设置的值: develop | product
    develop: 开发模式,不启用报表缓存功能,实时刷新数据和报表模板,方便开发调试。
     product: 生产模式,开启报表缓存功能,提高性能。-->
  <runMode>product </runMode> 

  <!--cache 用于缓存设置-->
  <!--在皕杰报表里,在使用缓存的时候,有两种缓存模式:一种是java缓存框架EhCache、还有一种是皕杰报表自己开发的缓存框架。
	因为EhCache是第三方的缓存框架,在使用的时候可能产生架包冲突。在<cache>标签里加上eh='false'
	作用是在缓存过程中是使用皕杰报表自己开发的缓存框架--> 
  <cache>
    <!--缓存中最大允许创建的对象数-->
    <maxElements>150</maxElements>
       
    <!--缓存数据的生存时间(设置对象在它过期之前的生存时间)-->
    <liveTime>1800</liveTime> 
    
    <!--缓存数据的钝化时间(设置对象在它过期之前的空闲时间) --> 
    <timeout>600</timeout>
    
    <!--内存不足时,是否启用磁盘缓存--> 
    <useDisk>true</useDisk> 
        
    <!--用于配置硬盘缓存设置--> 
    <!--
    <diskStorekCfg>
      <!--配置硬盘缓存的路径-->
      <path>d:/temp</path>
      <!--硬盘缓存中的最大对象数-->
      <maxElements>100000</maxElements>
      <!--硬盘缓冲区大小(M)--> 
      <bufferSize>8</bufferSize>    
    </diskStorekCfg>
    -->
        
    <!--集群缓存配置:
    	listener:当前缓存节点的 IP及端口,如果各个缓存节点的IP各不相同,则无需配置该节点(保持为空或注释掉该节点)
    	provider:全部缓存节点的 IP及端口,用逗号隔开
    <cluster>
    	<listener>192.168.1.10:40000</listener>
    	<provider>192.168.1.10:40000,192.168.1.15:40000</provider>
    </cluster>
    -->

  <!--缓存组配置,可配置多个缓存组,每个缓存组设置不同的缓存时间  --> 
  <!-- <group  name="cache2" maxElements="150" liveTime="1800" timeout="600"/>
    <group name="cache3"  maxElements="50" liveTime="36000" timeout="18000">rpts/*.brt</group> --> 
  </cache>

  <!--html  节点用与设置web输出是的外观显示设置  -->
  <html>
    <!--报表在web上的输出尺寸,支持固定数值,也支持百分比-->
    <width>750</width>
    <height>500</height>

    <!--水平对齐选项(左侧、居中、拉伸),left | center | fitwidth--> 
    <hlayout>left</hlayout>

    <!-- toolbar节点用于页面工具条配置-->
    <toolbar>
     <toolbardisplay>below</toolbardisplay><!--工具条显示信息(表格底部、下方、上方、不显示),bottom | below | top | none-->
      <xlsbtn>true</xlsbtn> <!--是否显示整页导出excel按钮--> 
      <xlsbtn1>true</xlsbtn1> <!--是否显示分页导出excel按钮-->
      <pdfbtn>true</pdfbtn> <!--是否显示导出PDF按钮--> 
      <printbtn>true</printbtn> <!--是否显示打印按钮--> 
      <docbtn>true</docbtn> <!--是否显示导出WORD按钮--> 
    </toolbar> 

    <!--填报表页面的输出配置-->
    <fillin>
        <forwardurl></forwardurl> <!--提交填报表单后,转向的位置,默认停留在本页-->
        <errorforward></errorforward> <!--提交填报表单失败时,转向的位置,默认停留在本页-->
        <offlinebtn>true</offlinebtn> <!--是否显示离线填报功能按钮-->
        <validatebtn>true</validatebtn> <!--是否显示数据校验按钮-->
        <deleteprompt>true</deleteprompt> <!--删除数据时,是否弹出确认操作提示-->
        <saveprompt>true</saveprompt> <!--保存数据前,是否弹出确认操作提示-->
        <succeedprompt>true</succeedprompt> <!--数据成功保存后,是否弹出提示信息-->
        <formmode>2</formmode> <!-- 表单模式(0-表示只读模式,1-表示可填报模式,控件显式显示,2-表示可填报模式,控件隐式显示) -->
    </fillin>

    <!-- 报表页面html代码是否符合w3c标准 -->
    <w3c>true</w3c>

  </html>
  
  <!-- 报表导出配置 -->
  <export>
    <excelVersion>xlsx</excelVersion>  <!-- 导出的excel文件版本,xlsx表示2007格式,xls表示2003格式 -->
    <wordVersion>docx</wordVersion>  <!-- 导出的word文件版本,docx表示2007格式,doc表示2003格式 -->
  </export>

   <!-- 用户自定义接口配置,包括工厂、事件等 -->
  <userDef>
    <!-- <reportFactory></reportFactory> -->  <!-- 报表工厂,用于自定义报表加载和计算等 -->
    <!-- <dataSourceFactory></dataSourceFactory> -->  <!-- 自定义数据源工厂,用于通过自定义的方式获取报表数据源 -->
    <!-- <toolbarFactory></toolbarFactory> -->  <!-- 工具条工厂,用于自定义html工具条  -->
    <!-- <toolbarButtonFactory></toolbarButtonFactory> -->  <!-- 工具条按钮工厂,用于替换html工具条上的一些按钮  -->
    <!-- <printEventListener></printEventListener> -->  <!-- 打印事件监听器 -->
    <!-- <fillinEventListener></fillinEventListener> -->  <!-- 填报事件监听器 -->
    <!-- <exportEventListener></exportEventListener> -->  <!-- 报表导出事件监听器 -->
    <!-- <reportLogHandler></reportLogHandler> -->  <!-- 自定义报表日志输出处理器,在报表系统日志的基础上,增加其他日志记录方式 -->
  </userDef>

  <!--客户端applet打印的java环境配置-->
  <jreplugin>
    <!-- 客户端浏览器没有jre环境时,将会下载该安装程序进行自动安装。
        需要放在webResource节点指定的目录下名为applet的文件夹下。-->   
    <jreName>jre-6u45-windows-i586.exe</jreName>
    <jreVersion>1.6</jreVersion>
  </jreplugin>

  <!--日志配置-->
  <log>
    <!-- 日志输出级别,允许设置的值: debug | warning | error | off 
      debug:输出所有日志信息
        warning:输出警告信息和错误信息
        error:仅输出错误信息
        off:关闭日志输出-->
    <level>off</level>
    <!-- 日志文件名称,节点值为相对应用根目录的文件路径 -->
    <fileName>/logs/bios_report.log</fileName>
    <!--文件大小为5M,日志文件个数 -->
    <fileCount>2</fileCount>
  </log>
  
  <!--URL前缀,通过域名地址访问报表,或报表服务器地址存在跳转、分发时,请设置该参数--> 
  <appUrlPrefix></appUrlPrefix>
</Config>