今天在Websphare 6.1.0.2环境下开发Struts2应用程序,结果碰到传说中的404错误,查看资料,解决之。留个tag,呵呵。
问题描述:
在websphere 6.1.0.2的版本上发布struts2的程序,跑画面的时候总是会出现FileNotFoundException的404错误(找不到静态资源,比如struts2里面集成的js文件),导致无法进行客户端验证以及实现ajax技术。
控制台也总是会出现下面两个警告:
WARNING: Cannot set status. Response already committed.
WARNING: Cannot set header. Response already committed.
解决方法:
1,这个是websphare的一个bug,代号 PK33090
2,升级websphare 到6.1.0.9或以后版本,或者下载6.1.0.2的问题解决补丁。
3,由于我在在开发环境下,所以我打算升级was server 的Runtime。
1).安装UpdateInstaller到runtime的目录下。../base_v61/UpdateInstaller
2).将webshare的fetch packer文件6.1.0-WS-WAS-WinX32-FP0000009.pak放在maintenance目录下。
3).启动UpdateInstalle默认就会指向升级文件。
4).安装
4,设置com.ibm.ws.webcontainer.invokefilterscompatibility 参数为true.
参考:
http://www-01.ibm.com/support/docview.wss?uid=swg24014758
http://www-01.ibm.com/support/docview.wss?rss=180&uid=swg21284395
http://www-01.ibm.com/support/docview.wss?rs=2044&context=SSCM72&dc=DB560&dc=DB520&uid=swg21199423&loc=en_US&cs=UTF-8&lang=en&rss=ct2044rational