在接触到的很多项目实际应用中,部署润乾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. Jvm内存工具

    1,JConsole  位于 [JDK] bin 下, 2,代码查看当前进程堆内存 long maxMemory = Runtime.getRuntime().maxMemory();long tot ...

  2. CPM(Cluster Percolation method)派系过滤算法

    一.概念 (1)完全子图/全耦合网络/k-派系:所有节点全部两两相连 图1 这些全耦合网络也成为派系,k-派系表示该全耦合网络的节点数目为k 1)k-派系相邻:两个不同的k-派系共享k-1个节点,认为 ...

  3. Ubuntu 连接手机 不识别设备 -- 解决办法

    1.usb线连接手机,输入命令 $ lsusb Bus 004 Device 002: ID 8087:8000 Intel Corp. Bus 004 Device 001: ID 1d6b:000 ...

  4. Anaconda 入门详解

    Anaconda Anaconda简介 Anaconda是一个免费开源的Python和R语言的发行版本,用于计算科学(数据科学.机器学习.大数据处理和预测分析),Anaconda致力于简化包管理和部署 ...

  5. 使用Properties类和ResourceBundle类读取properties文件

    一.介绍: 项目中经常把一些常用的用户名和密码都填写到一个对应的配置文件中,这样每次修改密码或者用户名的时候就可以直接修改这个配置文件了,不用动源码. 这里讲两种方式读取properties文件的方法 ...

  6. Zookeeper--0100--简介说明

    1.1-Zookeeper简介 什么是Zookeeper? Zookeeper是一个高效的分布式协调服务,它暴露了一些公共服务,比如命名/配置/管理/同步控制/群组服务等.我们可以使用ZK来实现比如达 ...

  7. 命令行创建Android应用,命令行生成签名文件,命令行查看签名信息,对APK包签名并编译运行

    一.命令行创建Android应用 android create project -n HelloWorld -t android-22 -p HelloWorld1 -k org.crazyit.he ...

  8. Java虚拟机(二):JVM内存模型

    所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢?其实如果你经常解决服务器性能问题,那么这些问 ...

  9. 使用httpClient处理get请求或post请求

    另外一个版本: http://www.cnblogs.com/wenbronk/p/6671928.html 在java代码中调用http请求, 并将返回的参数进行处理 get请求: public s ...

  10. Linux-(ps,grep)

    grep命令 1.命令格式: grep [option] pattern file 2.命令功能: 用于过滤/搜索的特定字符.可使用正则表达式能多种命令配合使用,使用上十分灵活. Linux系统中gr ...