在接触到的很多项目实际应用中,部署润乾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的最小化部署方式的更多相关文章

  1. Centos8最小化部署安装OpenStack Ussuri

    #!/bin/bash #Centos8最小化部署安装OpenStack Ussuri #共两台主机,分别是一台控制节点,一台计算节点 #.控制节点内存4096M.双网卡,分别为eth0:10.0.0 ...

  2. 润乾V4报表放入WEBINF保护目录下如何实现

     润乾报表放入WEBINF保护目录下如何实现 WEB-INF下面的文件都是受保护的,客户为了保护项目的文件不受到非法的访问,jsp页面都放在WEB-INF下,那润乾报表放入WEB-INF保护目录下 ...

  3. Excel催化剂开源第44波-窗体在Show模式下受Excel操作影响变为最小化解决方式

    在Excel催化剂的许多功能中,都会开发窗体用于给用户更友好的交互使用,但有一个问题,困扰许久,在窗体上运行某些代码后,中途弹出下MessageBox对话框给用户做一些简单的提示或交互时,发现程序运行 ...

  4. CentOS7进行OpenStack(queens)最小化部署实验出现的问题与解决过程

    注:此文为<OpenStack(queens)最小化搭建记录——控制与计算共两个节点>的补充 1.chrony时间同步服务搭建的时候,出现计算节点无法与控制节点同步.(controller ...

  5. ASP.NET Core在CentOS上的最小化部署实践

    引言        本文从Linux小白的视角, 在CentOS 7.x服务器上搭建一个Nginx-Powered AspNet Core Web准生产应用. 在开始之前,我们还是重温一下部署原理,正 ...

  6. Centos 7 最小化部署zabbix

    前言 文章内容是作者本人编写,之前一直放在word文档中,突然有闲情转移到博客上来了,欢迎后续观看者有问题找我探讨~~~ 废话不多说,先说下原理吧 概述 工作原理 通过c/s模式采集数据,基于b/s模 ...

  7. Centos 7 最小化部署jenkins

    前言 jenkins是devops与CI/CD的重要工具之一,下面通过jenkins与svn的结合完成自动部署功能 环境 软件 名称 版本 操作系统 Centos 7.4 开发环境 jdk 1.8 中 ...

  8. Centos 7最小化部署apollo

    https://github.com/nobodyiam/apollo-build-scripts

  9. 润乾V4报表批量打印

     背景说明 在应用中,经常遇到,批量打印的需求,批量打印,顾名思义,就是点击一次打印按钮,能打印多张报表. 下面,我们来介绍一下怎么样实现批量打印的 应用举例: Jsp代码 <% //rep ...

随机推荐

  1. 2d旋转(css3实现过度效果和动画效果)

    效果: 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  2. django框架--中间件系统

    目录 零.参考 一.中间件的基本理解 二.中间件的系统定位 三.中间件的配置 四.中间件的执行流程 五.中间件与装饰器之间的思考 六.中间件的应用场景 七.内置中间件 八.总结 零.参考 https: ...

  3. 程序使用suid应注意的策略

    安全要求程序应使用最小权限执行,然而有的程序由于特殊性,往往在执行某段代码的时候需要提高权限. 由于suid的容易使用特性,很多编程人员往往会直接使用它来实现提高权限的功能,而不是去做代码权限分离.这 ...

  4. 【链表】Insertion Sort List

    题目: Sort a linked list using insertion sort. 思路: 插入排序是一种O(n^2)复杂度的算法,基本想法相信大家都比较了解,就是每次循环找到一个元素在当前排好 ...

  5. 常用CSS实例

    为表格设置合并边框模型: border-collapse:collapse 规定单元格之间的空间: cellspacing:0 规定内侧边框的哪个部分是可见的: rules:all

  6. 笛卡尔积算法的sku

    1.笛卡尔积在形式上比较容易理解,但作为按钮操作DOM的时候,我的思路大体还可以,有些偏差.看到这种矩行方阵,首先联想到二维数组,事实上这种方法完全可以实现,但是在性能和编码速度上都有弊端. 2.以下 ...

  7. LDA理解

    LDA只是一个求解思路. 1.理解LDA首先要理解EM算法,EM不能叫做一个算法,只是一个思想:它要求解的其实是一个极大似然估计,就是我用已知量去求解导致这个已知量出现的最大概率,而在这里又恰恰有点偏 ...

  8. 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) ...

  9. Java接口调用工具类

    package com.qiyuan.util; import java.io.BufferedReader; import java.io.IOException; import java.io.I ...

  10. 使用C# 开始第一个QQ机器人

    本示例将会使用”嘤鹉学舌”这个小插件的实现来演示如何使用Newbe.Mahua实现第一个机器人插件. 插件功能 自动将发送者的消息回发给发送人,嘤鹉(Parrot,其实是说嘤嘤嘤怪)学舌. 开发环境要 ...