这几天在用java写一个小的web应用,应用了YUICompressor的开源代码来压缩服务器上的js和css代码,然后返回给客户端。不过我的开发方式也很诡异:自己用两台机器,一个Windows Server 2003,上面有IIS 6、Apache 2和Tomcat 6,基本上开发的时候都用这台机器,另外还有一台机器,装了个英文版的Ubuntu,上面有Apache 2.2和Resin 3,后来装上的时候才知道Resin 3本来就支持PHP了,不过据说不是很好用。

第一次在Ubuntu上装的是jdk 1.6.0.0,我的window 2003上是jdk 1.6.0.7,windows上跑的很好的jsp,编译后放到ubuntu上死活都跑步起来,抛出的异常也是莫名奇妙。后来又在windows上用1.5编译了一遍,再放上去,还是跑不起来。找人帮忙看了一下,建议我装个jdk 1.5试试。于是重新在Ubuntu上装了个jdk 1.5.0.14,居然好了……

后来折腾了一下resin的urlrewrite,发现倒是很方便的。不过由于我把Apache和resin整合起来了,php的请求也会被转发给resin处理,于是Apache的url重写和resin的url重写就这么混了……不过后来想了个招:要是需要给resin的web目录的请求就直接全部重写给resin处理好了。

在我的两台机器上都调试好了,转到内网的一台测试机上再测。那台机器装的系统又不一样,是Debian,中文版的。继续装resin,装好了,也可以起来了,结果发现传上去的jsp却解析不出来了,抛出的异常看起来貌似是说的jsp文件编码格式有问题,但是确认是utf8无异。Google了一番,发现可能是环境变量LANG=zh_CN.UTF-8引起的,改成了en_US.UTF-8,重启resin,发现还是不行。又locale了一下我的Ubuntu上的设置,全是en_US.UTF-8,于是直接按照这个来了一个猛的:LC_ALL=en_US.UTF-8,重启resin,一切OK!

实在是太诡异了!

最后,这个过程中还有一些奇怪的关于linxu、resin或者java的问题,找了几个高人相助,在此,向你们表示感谢!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据