windwos下Websphere6.1部署的相关问题及解决方法
如果你已经找到这篇文章,建议你先看最后一段话。
前几天,要把一个应用部署到Websphere6.1上,详细版本号:6.0.0以前项目部署在tomcat、weblogic8.1下均无任何问题,这次部署还是出了不少问题,将遇见的问题记录如下,也许大家也会碰见类似的问题。
说明一下,我用的是Websphere6.1企业版,跟试用版有些地方不一样。菜单功能向更多些。
异常1:服务器 server1 的 Node Agent 不活动,所以不能启动服务器
在企业版里你需要首先启动节点(默认是node1) ,在你的webshpere安装目录下WebSphere\AppServer\bin找到startNode.bat,双击运行,就能启动NodeAgent。然后再服务器/应用程序服务器(默认server1),选中,启动。最后再启动应用程序/企业应用程序,选择你的应用,启动。如果没有事先启动nodeAgent到话,就会报上述异常。
异常2:启动应用,没报任何异常,但是访问应用,没有任何反应。在我的运用下的web.xml里有如下一段代码:
<mime-mapping>
<extension>zip</extension>
<mime-type>application/zip</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rar</extension>
<mime-type>application/rar</mime-type>
</mime-mapping>
<mime-mapping>
<extension>iso</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>doc</extension>
<mime-type>application/doc</mime-type>
</mime-mapping>
在weblogic8.1下必须加上这几个配置项,否则无法识别对于的文件。但在Websphere6.1里就不需要了,把上面那段代码干掉。OK。
异常3:org.springframework.web.filter.CharacterEncodingFilter NOt Found.websphere6.1用的jdk是1.5,需要将你的应用用1.5编译后才行(以前是用1.4编译的),将compile Level改成5.0重新编译即解决。
异常4:Error 404: SRVE0190E: File not found
这个问题找了我好久,症状是:点任何一个action,页面能正常出来,但是会在页面下部加上上面这句话。翻遍帖子,最后说是websphere6.1本身的bug,需要打补丁。我下了一个最新的补丁包(6.0.17)(补丁地址:http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg24014825),下6.1.0-WS-WAS-WinX32-FP0000017.pak(487.165KB)和download.updii.61017.windows.ia32.zip(89510KB),打上,在 服务器-server1-Web 容器设置-Web 容器-定制属性,点击新增,加上一个属性,名称:com.ibm.ws.webcontainer.invokefilterscompatibility 值:true,配置好后,重启你的websphere。好了,一切恢复正常了。
后面我又验证了一下,发现打了补丁和增加上述一个属性后,上述异常都无法重现了。这件事情告诉我们:打补丁是多么重要,所以建议你先打上最新补丁再说(我打的补丁是6.0.17)