在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>
关于皕杰报表的参数设置,请打开文件(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>