将应用从WebLogic 6.1移植到WebSphere 5 之 Web Application 篇.doc

将应用从WebLogic 6.1移植到WebSphere 5 之 Web Application 篇.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
将应用从WebLogic 6.1移植到WebSphere 5 之 Web Application 篇

将应用从WebLogic 6.1移植到WebSphere 5 之 Web Application 篇 简介 尽管WebSphere/WebLogic都是J2EE应用服务器,但是由于J2EE标准本身的原因,以及不同应用服务器提供不尽相同的特性,而程序员在开发应用的时候又没有考虑到应用要兼容不同应用服务器,这就出现了J2EE应用在不同应用服务器上的移植问题。 下面介绍我们在把J2EE Web应用从WebLogic移植WebSphere应用服务器过程中遇到的一些问题和解决办法。 至于更详细的系统环境准备,移植步骤等细节,请参考IBM红皮书,如Migrating WebLogic Applications to WebSphere V5, REDP0448。 一、Servlet/JSP移植问题 WebSphere 4/5和WebLogic 6.1应用服务器中的JSP编译器对于空对象(null String, null object等)的处理是不同的。 在Welbogic 6.1当中,如果字符串为null,或者对象为null,那么使用PrintWriter输出该对象的时候,输出的是长度为0的字符串;而在WebSphere 4/5、Tomcat 4.1以及WebLogic 7.0当中是输出了长度为4的字符串null。 下面servlet/jsp的例子在WebLogic 6.1/WebSphere中的运行结果是截然不同的。 servlet测试代码: java.io.PrintWriter out = response.getWriter(); out.println(null); jsp测试代码: % String s = null; % %=s% 或者 % Integer i = null; % %=i% 解决办法1: 所有要在Servlet/JSP输出的对象都有初始值,换言之就不会有输出空对象的情况。这样在servlet/jsp当中通过PrintWriter输出对象的时候就不会出现null字样。 解决办法2: 如果整个Web应用已经编写完毕,没有时间去修改包含业务逻辑的代码,那么可以使用如下的类(java class)处理servlet/jsp的输出。对于jsp页面通常可以通过手工替换%=为%=NullObject.get(,替换%为)%。 package utils; public class NullObject { public static String get(String o) { return (o == null) ? : o; } public static Integer get(Integer o) { return (o == null) ? new Integer(0) : o; } public static Long get(Long o) { return (o == null) ? new Long(0) : o; } public static Object get(Object o) { return (o == null) ? : o; } } 比如jsp代码片断%=s%可以修改为%=NullObject.get(s))% 注:在Java Language Specification [sec String Conversion]中写到 If the reference is null, it is converted to the string null (four ASCII characters n, u, l, l). Otherwise, the conversion is performed as if by an invocation of the toString method of the referenced object with no arguments; but if the result of invoking the toString method is null, then the string null is used instead. The toString method is defined by the primordial class Object; many classes override it, notably Boolean, Character, Integer, Long, Float, Double, and String. 二、JNDI移植问题 2.1 上下文工厂 J2EE程序在访问不同J2EE应用服务器名字空间的时候,需要指定相应服务器的名字空间上下文的工厂class名称,名字空间提供者的

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档