今天在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