润乾V4的最小化部署方式
在接触到的很多项目实际应用中,部署润乾V4都是使用润乾V4设计器自带的WEB发布向导,直接生成webRoot目录,然后将该目录下的所有文件COPY到项目目录下,然后修改web.xml文件和reportconfig.xml文件。
在最新版本的V4.5.2中,使用纯WEB发布方式发布的WebRoot中,包括的文件少了很多,包括默认的showReport.jsp,web.xml,reportconfig.xml文件,都没有在其中。
这个webroot包是不能直接放入J2EE服务器下部署的,同时根据客户的实际情况,有一些文件可以无需保留,一些配置可以再加以修改,从而达到集成部署的最小化和最优化的效果
首先我们来看下4.5.2中纯WEB发布包的结构,WEBROOT下包括1个WEB-INF文件夹,两个JAR包,一个可执行的JRE环境文件。
如果用户没有用到集算器功能,则无需使用dmGraphApplet.jar文件,该文件可以删除。
runqianReport4Applet.jar和j2re-1_4_1-windows-i586-i.exe是润乾的客户端打印必须使用的APPLET程序和JRE环境,建议保留。
再来看WEB-INF目录。其结构为CLASSES目录,LIB目录,runqianDm.tld,runqianDMLog.properties,runqianReport4.tld和runqianReportLog.properties文件。
如果没有用到集算器功能,则可删除runqianDm.tld和runqianDMLog.properties,这两个文件分别是集算器的自定义标签和集算器的日志文件配置。
runqianReportLog.properties文件中,找到log4j.logger.runqianReportLogger=DEBUG,LOG1,LOG2该行,根据部署的测试环境和正式环境区别,可修改日志等级,一般情况下,在正式环境上部署,其日志级别最低至少应该为WARN级别,建议为ERROR级别,这样就可以避免大量正常运行信息的生成,便于故障排查和日子维护。
在LIB文件夹中,可看到dm.jar和dmgraph.jar两个文件,一个是集算器用到的JAR包,一个是集算器统计图用到的JAR包,如果用户没有用到集算器功能,则可删除这两个JAR包。
在CLASSES目录中包括CONFIG目录和授权,在CONFIG中的color.properties文件建议保留,如果用户在设计器内修改了统计图的配色方案,则需要将设计器内的配色方案COPY到该目录下,使之保持一致。
如果没有用到自定义函数,则customFunctions.properties文件无需保留。
这个WEB包目前还是不能运行的,还缺少WEB.xml reportconfig.xml 一个展示报表的JSP页面,一个放置报表模板的目录和其下的模板文件。
Reportconfig.xml中的节点配置文档中有,我不在赘述,WEB.xml中的配置如下:
<servlet>
<servlet-name>reportServlet</servlet-name>
<servlet-class>com.runqian.util.webutil.SetContextServlet</servlet-class>
<init-param>
<param-name>configFile</param-name>
<param-value>/WEB-INF/reportConfig.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>DMServlet</servlet-name>
<servlet-class>com.raq.web.view.DMServlet</servlet-class>
<init-param>
<param-name>configFile</param-name>
<param-value>/WEB-INF/dmConfig.xml</param-value>
</init-param>
<load-on-startup>10</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>reportServlet</servlet-name>
<url-pattern>/reportServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DMServlet</servlet-name>
<url-pattern>/DMServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DMServlet</servlet-name>
<url-pattern>/DMServletAjax</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>/WEB-INF/runqianReport4.tld</taglib-uri>
<taglib-location>/WEB-INF/runqianReport4.tld</taglib-location>
</taglib>
其中红色的部分为集算器的配置,如果项目中未使用集算器,则红色部分可以删除。
展现报表的页面设计为index.jsp,在showReport.jsp的基础上可以做如下修改:
1、 去除嵌入的工具条JSP。
2、 在报表标签部分,删除ERRORPAGE的处理,在appletJarName属性中,去掉计算器打印的JAR包,其结果如下:
<report:html name=”report1″ reportFileName=”<%=report%>”
funcBarLocation=”top”
needPageMark=”yes”
generateParamForm=”no”
params=”<%=param.toString()%>”
appletJarName=”runqianReport4Applet.jar”
needPrint=”yes”
最后,如果客户需要FLASH统计图,需要将设计器下DEMO目录中的flashGraph目录COPY到WEBROOT目录下。
经过上述步骤获得的发布包,应该就是最精简的润乾V4发布WEBROOT了。
润乾V4的最小化部署方式的更多相关文章
- Centos8最小化部署安装OpenStack Ussuri
#!/bin/bash #Centos8最小化部署安装OpenStack Ussuri #共两台主机,分别是一台控制节点,一台计算节点 #.控制节点内存4096M.双网卡,分别为eth0:10.0.0 ...
- 润乾V4报表放入WEBINF保护目录下如何实现
润乾报表放入WEBINF保护目录下如何实现 WEB-INF下面的文件都是受保护的,客户为了保护项目的文件不受到非法的访问,jsp页面都放在WEB-INF下,那润乾报表放入WEB-INF保护目录下 ...
- Excel催化剂开源第44波-窗体在Show模式下受Excel操作影响变为最小化解决方式
在Excel催化剂的许多功能中,都会开发窗体用于给用户更友好的交互使用,但有一个问题,困扰许久,在窗体上运行某些代码后,中途弹出下MessageBox对话框给用户做一些简单的提示或交互时,发现程序运行 ...
- CentOS7进行OpenStack(queens)最小化部署实验出现的问题与解决过程
注:此文为<OpenStack(queens)最小化搭建记录——控制与计算共两个节点>的补充 1.chrony时间同步服务搭建的时候,出现计算节点无法与控制节点同步.(controller ...
- ASP.NET Core在CentOS上的最小化部署实践
引言 本文从Linux小白的视角, 在CentOS 7.x服务器上搭建一个Nginx-Powered AspNet Core Web准生产应用. 在开始之前,我们还是重温一下部署原理,正 ...
- Centos 7 最小化部署zabbix
前言 文章内容是作者本人编写,之前一直放在word文档中,突然有闲情转移到博客上来了,欢迎后续观看者有问题找我探讨~~~ 废话不多说,先说下原理吧 概述 工作原理 通过c/s模式采集数据,基于b/s模 ...
- Centos 7 最小化部署jenkins
前言 jenkins是devops与CI/CD的重要工具之一,下面通过jenkins与svn的结合完成自动部署功能 环境 软件 名称 版本 操作系统 Centos 7.4 开发环境 jdk 1.8 中 ...
- Centos 7最小化部署apollo
https://github.com/nobodyiam/apollo-build-scripts
- 润乾V4报表批量打印
背景说明 在应用中,经常遇到,批量打印的需求,批量打印,顾名思义,就是点击一次打印按钮,能打印多张报表. 下面,我们来介绍一下怎么样实现批量打印的 应用举例: Jsp代码 <% //rep ...
随机推荐
- 2d旋转(css3实现过度效果和动画效果)
效果: 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- django框架--中间件系统
目录 零.参考 一.中间件的基本理解 二.中间件的系统定位 三.中间件的配置 四.中间件的执行流程 五.中间件与装饰器之间的思考 六.中间件的应用场景 七.内置中间件 八.总结 零.参考 https: ...
- 程序使用suid应注意的策略
安全要求程序应使用最小权限执行,然而有的程序由于特殊性,往往在执行某段代码的时候需要提高权限. 由于suid的容易使用特性,很多编程人员往往会直接使用它来实现提高权限的功能,而不是去做代码权限分离.这 ...
- 【链表】Insertion Sort List
题目: Sort a linked list using insertion sort. 思路: 插入排序是一种O(n^2)复杂度的算法,基本想法相信大家都比较了解,就是每次循环找到一个元素在当前排好 ...
- 常用CSS实例
为表格设置合并边框模型: border-collapse:collapse 规定单元格之间的空间: cellspacing:0 规定内侧边框的哪个部分是可见的: rules:all
- 笛卡尔积算法的sku
1.笛卡尔积在形式上比较容易理解,但作为按钮操作DOM的时候,我的思路大体还可以,有些偏差.看到这种矩行方阵,首先联想到二维数组,事实上这种方法完全可以实现,但是在性能和编码速度上都有弊端. 2.以下 ...
- LDA理解
LDA只是一个求解思路. 1.理解LDA首先要理解EM算法,EM不能叫做一个算法,只是一个思想:它要求解的其实是一个极大似然估计,就是我用已知量去求解导致这个已知量出现的最大概率,而在这里又恰恰有点偏 ...
- Jav实现F(n)=F(n-1)+F(n-2)+.....+F(1)+1
private static int func(int count) { // TODO Auto-generated method stub int cou = 0; if(count==1) ...
- Java接口调用工具类
package com.qiyuan.util; import java.io.BufferedReader; import java.io.IOException; import java.io.I ...
- 使用C# 开始第一个QQ机器人
本示例将会使用”嘤鹉学舌”这个小插件的实现来演示如何使用Newbe.Mahua实现第一个机器人插件. 插件功能 自动将发送者的消息回发给发送人,嘤鹉(Parrot,其实是说嘤嘤嘤怪)学舌. 开发环境要 ...