WebSphere6+Struts2+Spring2+Hibernate3使用总结

项目在开发时使用JDK5+MyEclipse5.5+Tomcat6环境、Struts2+Spring2+Hibernate3框架以及DWR和E3 Tree技术。项目准备打包部署时客户说要部署在WebSphere6.0服务器上,那时我的头真大了,听说用WebSphere很麻烦,而且又是WebSphere6.0,WebSphere6.0只支持JDK1.4,我的项目用到了Struts2和JDK5的新特性啊,真是疯了,一直抱怨着客户无事找事折磨我们。

总结一点还是我经验不足,遇事不够冷静,没认真分析,害怕麻烦,导致我走了好多弯路,浪费了好多时间,现在与大家分享一下,以免大家再次犯此类错误。

首先,明确WebSphere的版本。确定WebSphere6.0对环境的要求,这一点很重要,我就栽在这点上。WebSphere6.0的环境是JDK1.4,Servelet2.4、JSP2.0,清楚了这点后再考虑其他的问题。

第二,WebSphere6.0只支持IBM自带的JDK1.4,我用JDK5开发的,那么关于JDK5的新特性必须改为JDK1.4的(其实新特性不改也行,只要用工具Retrotranslator将已经编译过的JDK5的CLASS转换为JDK1.4的CLASS,不过那样以后要是你修改项目的话,又要重新转换CLASS,那样会很麻烦,所以我还是修改了JDK5的新特性),再在MyEclipse中将项目的编译环境设置为JDK1.4的,安装的JDK版本不用改,可以继续用JDK5来开发。

第三,Struts2使用的开发环境是:JDK5、Servelet2.4、JSP2.0。这些都不冲突,关键是Struts2的架包是JDK5编译的,所以这是个问题,不过Struts2的开发者都为我们考虑到了,在struts2目录下的backport目录中提供了Retrotranslator转换工具,其中struts2-core-j4-2.0.11.1.jar和xwork-j4-2.0.4.jar已经转换好了,如果用到了Struts2的其他架包,你就要手工转换。架包的转换方法:在CMD中进入backport目录,再键入如:java -jar retrotranslator-transformer-1.2.2.jar -advanced -srcjar E:/GSLY/WebRoot/WEB-INF/lib/架包名 -destjar 新架包名。这样架包就可以转换为JDK1.4的了,再将backport目录中的backport-util-concurrent-3.0.jar、retrotranslator-runtime-1.2.2.jar和你转好的包扔到项目lib目录下,原来的删除即可。记住,只要你用到了Struts2的架包最好都要转换,以免出现其他麻烦。

第四,E3 Tree要求:Servelet2.4、JSP2.0。这个与WebSphere6.0不冲突。

第五,Web.xml里的配置要按照规范写,特别是元素的顺序问题,WebSphere对XML的要求很严,不像Tomcat,其余也没什么要求,我的项目现在都可以在WebSphere6。0上跑了,呵呵....

这方面网上的资料还是蛮多的,不明白的可以GOOGLE下,最重要的还是要搞清楚第一点,对症下药。虽然WebSphere的使用很麻烦,但客户喜欢,我们做开发的也没办法,只能依着他们,谁叫客户是上帝呢。嘿嘿,加油!

附注:

WebSphere5.1:JDK1.4,Servelet2.3、JSP1.2

WebSphere6.0:JDK1.4,Servelet2.4、JSP2.0

WebSphere6.1:JDK5.0,Servelet2.4、JSP2.0

Tomcat4.1:JDK1.4,Servelet2.3、JSP1.2

Tomcat5.5:JDK5.0,Servelet2.4、JSP2.0

Tomcat5.5:JDK5.0,Servelet2.4、JSP2.0

Tomcat6.0:JDK5.0,Servelet2.5、JSP2.1

Struts2:JDK5.0,Servelet2.4、JSP2.0

E3 Tree:Servelet2.4、JSP2.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值