润乾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 ...
随机推荐
- POJ 1050
#include <stdio.h> #include <string.h> #define mt 101 int main() { int a[mt][mt]; int st ...
- C#获取获取北京时间多种方法
#region 获取网络时间 ///<summary> /// 获取中国国家授时中心网络服务器时间发布的当前时间 ///</summary> ///<returns> ...
- centos 7 keepalived故障邮件通知实战(附Python邮件发送脚本)
centos 7 keepalived故障邮件通知实战(附Python邮件发送脚本) ##################### sendmail.py begin ######## ...
- HttpComponents组件探究 - HttpClient篇
在Java领域,谈到网络编程,可能大家脑海里第一反应就是MINA,NETTY,GRIZZLY等优秀的开源框架.没错,不过在深入探究这些框架之前,我们需要先从最original的技术探究开始(当然,需要 ...
- Linux 上安装 Couchbase服务
down: http://www.couchbase.com/downloads/ doc: http://docs.couchbase.com/archive-index/ forums: htt ...
- a标签发送邮件
<a href="Mailto:292808135@qq.com?CC=292808135@qq.com&Subject=反馈&Body=花式求喷~%0A您的不满就是我 ...
- Cocos2d-x游戏导出android工程,提取cocos的so文件
Cocos2d-x游戏导出android工程,提取cocos的so文件 原本cocos游戏的android工程编译时,需要将cocos的库文件进行编译,这些文件大部分是cpp文件, 使用ndk ...
- springboot-13-junitTest
junitTest, 提喜欢用的一个方法, 在测试代码时非常好用 1, 添加maven依赖 <!-- 加入spring-test依赖 --> <dependency> < ...
- [BJOI 2018]求和
Description 题库链接 给你一棵 \(n\) 个结点的有根树, \(m\) 次询问这棵树上一段路径上所有节点深度的 \(k\) 次方和. \(1\leq n\leq 300000,1\leq ...
- 哪个先执行:@PostConstruct和@Bean的initMethod?
结论: /** * step1:执行构造函数 * step2:执行使用@PostConstruct注解修饰的方法[如果有多个,则执行顺序不确定] * step3:执行@Bean注解中initMetho ...