httpServletResponse.setCharacterEncoding 方法jdk5以java1.4级别编译,bug

httpServletResponse.setCharacterEncoding("GBK");


servlet中的这样一句话,照成一天没有正常工作。

说明:
本机环境:
开发环境: jdk 1.5.0_15
服务器:  tomcat 5.5
开发工具: myeclipse6.0 (jdk编译级别设为1.4)

服务器运行环境:
操作系统: solaris 9
运行环境:  jre  1.4.2
服务器:   sun one 7

其他功能都正常,但是就是这个功能一直报 servlet exception
但是没说明具体错误。
很是不理解,最后只能求救我们老大。
老大看了,说应该是编译器的问题。
果然 ,去掉了这行果然能正常运行了。

老大说是 jdk5 及以上版本编译为1.4.2的时候会有这个问题。
他说他遇到了 setCharacterEncoding 这个方法和 bigdecimal这个类会有这个问题。

唉!要不然,我还在这痛苦的不知道为什么呢。

看样子权威也有出错的时候啊 ,java这么通用的程序也有这样的bug。

但是具体到时 不同操作系统的生成的class 不兼容,还是就像老大说的不同版本之间的不兼容造成的,没有深究。

希望对这方面有研究的多多提醒。


补充:
 
    一次要导出execl使用到了poi类库,当时特意下了版本适合1.4.2的poi3.2版本,本地上试的好好的,但是上传到服务器中老是有问题,而且没有什么特殊的异常。还以为又是自己写的java的那部分代码有问题,又特意把自己的jdk换成了java1.4.2版本,能与服务器中相对吻合。最后还是无用,之后经过代码的多次上传终于发现定位到了 poi3.2在测试库中不能正常使用的问题。最后换成了更老的poi1.2.5,修改了一些代码,才最后成功能用。

    看来兼容问题,还是老多的。


你可能感兴趣的:(jdk,tomcat,servlet,Solaris,sun)