项目移植---从tomcat5.0 移到websphere5.0.1 记录

  最近给客户做了一个小应用, 本来是基于Tomcat5.0开发, 结果客户需要部署到websphere5.0.1上,折腾了大半天, 过程中遇到几个问题,特此记录一下:

 1.无法部署war包。

    将项目打成war包后,直接部署到websphere出现错误,提示 EAR文件可能是损坏的和/或不完整的

    原因: websphere5 对于web.xml文件的验证非常严格,哪怕错一个空格都可能导致部署失败,而且websphere5 遵循的是Servlet 2.3标准,所以在web.xml中有些元素是不能被识别的。

    解决办法: 参照servlet2.3 的web.xml文件标准格式(包括元素定义,已经元素出现的次序都不能弄错了)

 

2.无法找到webRoot下面的相关配置文件

    由于项目中用到相关的配置文件,所以在程序中有利用相对路径来获取文件,但websphere5获取路径的方法与tamcat有所不同:

    如:

  tomcat中:        getServletContext().getRealPath("/")+"Configura/Config.xml"

 

  websphere中:getServletContext().getRealPath("/")+"/Configura/Config.xml"

 

  需要多加一个/ ,以便区别目录 ,否则就如 D:\app\ar\AR.ear\AR.warConfigura/Config.xml

  会出现找不到文件的错误。

你可能感兴趣的:(tomcat,Web,xml,servlet,websphere)