2006-10-20
Re: 你的系统是跨平台的吗?
楼主总结得还不错。不过看上去似乎经验不足。(我说错了请原谅我)
我补充几点:
1.跨应用服务器。这个痛苦我比较有体会。(注意:但tomcat5到4之间的的跨越可能意义不大,因为支持的servlet ,jsp spec版本不同;倒过来是应该完全兼容的。)
1.1 EJB跨应用服务器。虽然有spec,但每家都有自己的扩展,有些特别要命特性比如,EJB spec2.0里居然对like 只支持常数,就是不能传入?。
然后EJB的配置文件都有各自的扩展,真是痛苦。好在Jbuilder可以自动转换Weblogic到Jboss,但也不是那么好,总有魔鬼的细节要你反复调试。
1.2无EJB的跨应用服务器。这个容易多了,但居然也不是很顺利的。我的war曾经在tomcat上调试好了,发布到websphere5上就失败。最后用二分法逐次删除app里的文件,发现引起问题的居然是...eclipse产生的.classpath文件!websphere对eclipse支持得太好了吧?删掉即可。
这就算好的了。我后来把在tomcat5上调试好的war发布到resion3上,更郁闷。我在网上查了resion内置了自己的xml parser,导致我的castor xml无法正确执行,要更换parser,需要N步...遂放弃...
2.跨浏览器。这个绝不是很容易的事情。Javascript就够你喝一壶的,各种细微差别,各种特殊的扩展...,这个到罢了,到CSS,更有玩意,特别是主要用CSS布局的,有得玩,这一点上如果采取老式的Table布局,兼容性倒是很不错。还来新玩意要慎用。
3.跨数据库。
这个有hibernate之类的封装,就好多了。不用它,问题也不会很大,可参考我以前的帖子。(当然如果你用了stored procedure或trigger之类,只能手动挨个重写了)
4.跨操作系统。
这个听上去是最容易的。但我还是碰到了几个问题。
4.1文件路径的分隔符。windows下似乎能兼容Unix的分隔符,但反之不可。不能随意的用/或\,最好是用Java里提供的File.seperator。
4.2字符编码问题。一般我们会是用中文版的windows,默认编码是GBK;Unix可能会有差别,所以在使用new String(byte[]),String.toBytes()等与编码相关的操作时,要注意,可以指定编码。最好还是全部使用UTF-8。
5.国际化问题
这里暂只说文字的国际化。
需要将文字资源外部化,并且全部用UTF-8编码,根据Local选择文字资源等等。不难也不简单。
我补充几点:
1.跨应用服务器。这个痛苦我比较有体会。(注意:但tomcat5到4之间的的跨越可能意义不大,因为支持的servlet ,jsp spec版本不同;倒过来是应该完全兼容的。)
1.1 EJB跨应用服务器。虽然有spec,但每家都有自己的扩展,有些特别要命特性比如,EJB spec2.0里居然对like 只支持常数,就是不能传入?。
然后EJB的配置文件都有各自的扩展,真是痛苦。好在Jbuilder可以自动转换Weblogic到Jboss,但也不是那么好,总有魔鬼的细节要你反复调试。
1.2无EJB的跨应用服务器。这个容易多了,但居然也不是很顺利的。我的war曾经在tomcat上调试好了,发布到websphere5上就失败。最后用二分法逐次删除app里的文件,发现引起问题的居然是...eclipse产生的.classpath文件!websphere对eclipse支持得太好了吧?删掉即可。
这就算好的了。我后来把在tomcat5上调试好的war发布到resion3上,更郁闷。我在网上查了resion内置了自己的xml parser,导致我的castor xml无法正确执行,要更换parser,需要N步...遂放弃...
2.跨浏览器。这个绝不是很容易的事情。Javascript就够你喝一壶的,各种细微差别,各种特殊的扩展...,这个到罢了,到CSS,更有玩意,特别是主要用CSS布局的,有得玩,这一点上如果采取老式的Table布局,兼容性倒是很不错。还来新玩意要慎用。
3.跨数据库。
这个有hibernate之类的封装,就好多了。不用它,问题也不会很大,可参考我以前的帖子。(当然如果你用了stored procedure或trigger之类,只能手动挨个重写了)
4.跨操作系统。
这个听上去是最容易的。但我还是碰到了几个问题。
4.1文件路径的分隔符。windows下似乎能兼容Unix的分隔符,但反之不可。不能随意的用/或\,最好是用Java里提供的File.seperator。
4.2字符编码问题。一般我们会是用中文版的windows,默认编码是GBK;Unix可能会有差别,所以在使用new String(byte[]),String.toBytes()等与编码相关的操作时,要注意,可以指定编码。最好还是全部使用UTF-8。
5.国际化问题
这里暂只说文字的国际化。
需要将文字资源外部化,并且全部用UTF-8编码,根据Local选择文字资源等等。不难也不简单。
发表评论
- 浏览: 123727 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
对于单例模式的一点想法
DCL成熟的
-- by lzy.je -
对于单例模式的一点想法
我觉得懒汉模式,即第一种足矣。
-- by okhaoba -
对于单例模式的一点想法
想不到javaeye上 不看清楚就乱回帖的人也这么多
-- by insiku -
对于单例模式的一点想法
还在讨论synchronized?第二页buaawhl 说的那个Initiali ...
-- by icewubin -
对于单例模式的一点想法
Lucas Lee 写道weiqingfei 写道private static ...
-- by xin_feng_08






评论排行榜