畅享博客 > 闲庭信步 > WebSphere 6.0陷阱
2007-6-21 20:25:00

WebSphere 6.0陷阱

      我们在基于WebShere Application Server (WAS) 进行J2EE或者Web应用开发时,通常会遇到以下几种情况
1、将已经发布的应用从WAS中导出来,并重新发布,但这些应用的许多文件已经被更新过;
2、新开发的应用对象诸如Servlet或者需要新增加数据源等需要加入到原部属应用中

      在WAS的应用控制台中提供了对已经发布的应用的导出功能,但是这个功能千万不能用。我们来分析一下WAS的部分目录结构,看一下WAS是怎样存储已经部署的应用文件的。


以下假设应用名称为xxxx,ear包为xxxx.ear。
WAS安装路径为c:\WebSphere\AppServer\profiles\AppSrv01 (WAS_INSTALL_PATH)

则存储已经发布的war包的路径为:
    path1:WAS_INSTALL_PATH\config\cells\Node01Cell\applications\xxxx.ear\xxxx.ear
应用发布后的目录为:
    path2:WAS_INSTALL_PATH\installedApps\Node01Cell\xxxx.ear
    通常,我们会在应用发布后对一些文件进行修改,这些目录就位于path2下。但是WAS的导出功能只会将path1下的war包导出。这样,如果当前的最新版本是10.0,发布的第一个版本是1.0,那么使用导出功能,你只能得到1.0版本的文件,那样的话只能用一句话来形容,那就是辛辛苦苦几十年,一夜回到解放前 :)

    在解决第二个问题是我们一定是要修改应用的部署描述符文件web.xml的。但是如果我们仅仅修改path2目录下的web-inf目录下的web.xml文件的话,一点作用都没有(如果要使修改该文件起作用,只有重新发布应用),这一点不像tomcat或者Weblogic之类的Application Server那么方便。因为正真被WAS使用的web.xml文件在以下目录下:
  path3:WAS_INSTALL_PATH\config\cells\Node01Cell\applications\xxxx.ear\deployments\xxxx\web-inf\web.xml
只有修改这个文件中的内容才能正真起作用。无论是新增Servlet还是增加Filter,Datasource之类的对象都需要修改这个文件,并重启WAS。

以上为WAS应用中需要注意的一些小问题,但如果不注意就会成为应用中的陷阱了 :)


推荐到鲜果:

评论

您正在以 匿名用户 的身份发表评论  快速登录
(不得超过 50 个汉字)
       看不清,换一个
提示消息
(输入完内容可以直接按Ctrl+Enter提交)