您的当前位置:首页正文

基于uap2.04的sotower项目移植

来源:九壹网
基于的sotower项目移植

基于的sotower项目移植

一. 新建模块项目

创建SGUAP容器IAS及模块项目IAS。

(一)

新建IAS容器

A. 安装UAP 。 B. 启动sguap-service

单独使用一个tomcat将http端口设置为8888(其他端口不能与UAP默认tomcat冲突即可,这个看个人电脑环境自行配置),将在tomcat中启动。启动结果如下无异常:

C. 新建UAP项目

填写项目名称,直接下一步:

D. 增加数据库连接

E. 去除统一权限

在配置文件中,

F. 添加模块项目

打开:

设置path(模块项目存放的工作空间目录), 设置module(模块项目名称)

(该配置可以在新建模块项目后回来修改,或者直接先定好模块项目名再去创建)

G. 在UAP中引入sguap-server

设置Location: Reload加载包到UAP中,保存地址到IAS中:

H. Jar包引入

在IAS中添加如下3个包:

将包添加到Target Platform

(二) 新建IAS模块项目

A. 新建模块项目

填写模块项目名称:

默认直接完成:

B. 去除统一权限

将统一权限的两个引用包Remove掉:

C. 引入jar包

将之前添加进Target Platform的包引入,如下两个:

二. 将项目移植到模块项目

(一)

整体目录迁移

在上重新建立的模块项目,将原的目录原封不动拷贝进来就可以了,如果个别包报错,稍做调整.

(二) Flex前台移植

主要是修改上下文文件:

.flexProperties文件修改如下(只修改黄色部分):

重新编译flex文件,将编译后的文件拷贝到模块项目上的face下,移植完后如下:

三. 将sotower项目迁移到模块项目

(一)

整体目录迁移

 将sotower项目下src、javatest、javasrc、html-template直接复制到uap模块项目

根目录中。

 将sotower项目下WebContent中除WEB-INF外全部复制到uap模块项目下的face

中。

 将sotower项目下WEB-INF中的conf复制到uap模块项目下的config中。  将sotower项目下的所有的spring配置文件,复制到uap模块项目下的config下。  将sotower项目下libs里的swc文件复制到uap模块项目下的libs中。

 将sotower项目下WebContent\\WEB-INF\\lib里的jar包复制到uap模块项目下的libs

中。

 将sotower项目下WebContent\\WEB-INF中的flex目录复制到uap模块项目下的face

中。

sotower项目目录结构图与迁移后的uap模块项目目录结构图如下:

(二) 配置文件新增与修改

A. 修改项目的文件

修改之前sotower项目的文件,在模块项目的在config下新增,修改之前项目的Servlet、Listener,注意标签头,具体格式如下:

URLAccessReport xmlns:xsi=\"\" xmlns:module=\"\" xsi:schemaLocation=\" \"> MessageBrokerServlet /flex/ /URLAccessReport

FileExport

/

UiDesignerUploadServlet

/UiDesignerUploadServlet

ExcelUploadServlet

/ExcelUploadServlet

ExcelDownloadServlet

/ExcelDownloadServlet

exportImg

/exportImg

CommonIOServlet

/common-io/*

exportXLS

/exportXLS

exportPDF

/exportPDF

reportPageServlet

/json/reportPage

FileDownLoadUds

/FileDownLoadUds

WordExportServlet

/

EhCacheServlet

/

uploadImg

/uploadImg

ImageServlet /ImageServlet zipServlet /ZipAction udsUploadServlet /udsUploadServlet A. 修改config下的xml文件

所有singleton=\"true\" 修改为:scope=\"singleton\" 所有singleton=\"false\" 修改为:scope=\"prototype\" B. 创建configs文件夹

部分文件发布后无法找到目录,所以需要创建这样一个目录

查找到所有classpath后的文件,修改路径, 将这些文件存放到新建的configs目录中

(三) 缓存的修改

Sotower使用的eache的缓存,我们要将项目移植到uap就必须使用uap的缓存,现在我们来修改缓存的引用了的java文件:

修改使用uap缓存文件,如下图

修改了uap的缓存,也要修改对应的java代码如下:

修改相应的缓存配置文件:

(四) 修改项目中应用sotower包的java代码

A. commandFactory的修改方式

B. 包引用的解决方法

将sotower这个包的源码拷贝出来放在项目中,后续修改

(五) 配置文件修改

基于sotower的项目,引用了较多sotower的东西,尤其要注意配置文件,以本项目为例子,要将, , ,的配置文件都注释掉.

(六) jar包调整

将lib中如下包删除(这些包与sguap-server中Reload到项目中的包冲突):

注:如果项目运行中有提示jar包冲突,查看是否libs中是否有包与sguap-server中Reload到项目中的包重复,如果重复就把libs中的删掉。或者有些包不兼容UAP,需要重新在UAP中引入。UAP平台集成的第三方jar包路径如下(uap的安装目

录)sguap-server\\WEB-INF\\repository\\platform\\程序启动前,需要将自带jar包(libs下的包)引入UAP中,如下操作:

(七) 配置.springBeans文件

使用Navigator视图,查看项目的.springBeans 文件:

将移植的配置文件配置进该文件,如下:

(八)

前端移植

将前端文件(如:jsp、html等)移植到UAP模块项目的face下,如下:

进行必要调错修改

四. 集成Flex

(一) Jar包添加

将BlazeDS所需要相关Jar包放置在模块项目的lib目录下:

(二) 配置模块依赖关系

在文件的Classpath部分,将这些Jar添加到模块的类路径中:

在文件的Required Plug-ins部分,添加对,模块的依赖。

(三) Spring配置文件

在config目录下增加一个Spring配置文件,如,通过模块化标签配置与BlazeDS相关的Servlet、Listener。注:该配置文件的内容与BlazeDS配置在传统Web应用中的内容相对应,如下示例:

MessageBrokerServlet /messagebroker/* /flex_xml/ 注:messageBrokerServlet中要配置加载文件,路径要正确。

(四) Flex配置文件

将BlazeDS配置文件放置在模块项目face目录下:

修改文件中channels标签体的内容,在endpoint的URL属性中加上模块上下文。 修改为:

注:黄色字体部分为当前应用的应用上下文路径和模块上下文路径。在BlazeDS远程调用时会访问该URL。

在文件中的配置属于全局配置,如果全局配置不生效,可以在swf源文件mxml程序的RemoteObject标签里配置endpoint属性(属于局部配置,局部配置的优先级高于全局配置),如下:

(五) Flex程序文件

首先将Flex项目文件导入到Eclipse里面,修改.actionScriptProperties以及.flexProperties文件.

 .actionScriptProperties主要是让Flex编译之后的文件在WebRoot下修改如下:

 .flexProperties文件修改上下文的路径serverContextRoot(这里的IAS-UAP是UAP容器,IAS_MODULE是模块化的项目),还有servroot的路径(这里是eclipse下的WebRoot路径),以及serverRootURL是发布的uap的路径,具体修改如下:

 重新编译Eclipse下的Flex项目,确保文件都编译到了WebROOT下

 最后将除了WEB-INF这个文件夹,其他的WebRoot下的文件全部拷贝到uap模块项

目的face目录下;

注意:如果项目还是出错起不来, 必须重写这个

到uap模块项目中,并在模块项目中添加如下配置文件:

SpringFactory.java文件,将这个文件导入

五. 项目移植总结

到这里项目已经基本移植完成了,还有些java代码报错的需要自己调整,本项目移植的过程中最主要还是得注意以下几点问题:

A. jar包的冲突,uap底层使用spring,hibernate在项目集成的时候,要注意是

否会冲突;

B. 在flex集成的时候,出现无法访问servler的方法,在这里要修改这个方法

获取bean的方式;

C. 原项目的一些项目级的servlet,listen配置文件必须按照uap的格式来改

造,具体见二(二)A的修改方式;

D. 集成flex的时候必须注意,flex的上下问路径必须重写修改(可根据需求来

修改),即重新编译flex项目,将对于的swf文件拷贝到模块项目的face目录下;

E. 最后的注意一些项目的配置文件的加载路径是否正确;

因篇幅问题不能全部显示,请点此查看更多更全内容

Top