当前位置: 代码迷 >> Web前端 >> Weblogic10.3项目部署出错的一些常见有关问题分析
  详细解决方案

Weblogic10.3项目部署出错的一些常见有关问题分析

热度:786   发布时间:2012-09-04 14:19:30.0
Weblogic10.3项目部署出错的一些常见问题分析



????? 最近公司的项目需要上线,于是让我部署weblogic,我用的版本是weblogic10.3的,在部署的时候采用的是产品模式的部署方式。(在本机上测试的时候用的是开发模式的方式)部署完成之后,把此前在Tomcat 6.0上开发的项目移植到weblogic上的时候,出现了一些在开发环境上没有出现的问题,在这里记录一下在weblogic上部署项目的时候需要注意的问题。

?

?

?

1、在安装完成weblogic之后,我们需要把hibernate框架使用的一个jar包(antlr-2.7.6rc1.jar)放到weblogic的安装目录里。具体路径为D:\bea\wlserver_10.3\common\lib。

??? 如果我们还不能够解决冲突的话则要到工程所在的域文件夹D:\bea\user_projects\domains\base_domain\bin里,setDomainEnv.cmd的文件中修改服务的环境变量,把A步骤中的路径加上:右键 -> 编辑,打开文件,在set CLASSPATH之前加上:set PRE_CLASSPATH=D:\bea\wlserver_10.3\common\lib\antlr-2.7.6rc1.jar;在set CLASSPATH之后加上:
set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH%

2、Date和Calender的区别

?? 在tomcat 6.0上开发项目的时候,我使用了DateUtils下面的addWeeks(?,?)方法,但是,在weblogic下面,只要所有使用到这个方法或者类似这个方法的地方点击链接都会报struts找不到异常,但是就奇怪了,后来一句句跟代码,才发现只要执行到这一句都会报错。于是就换成了用Calendar的方式解决了问题。

?

部分代码如下:

???

                 Date startDate = new Date();
         //     Date endDate = DateUtils.addWeeks(startDate, 1);       //以前用的报错的东东
	Calendar c =new GregorianCalendar();
	c.setTime(startDate);		
	c.add(Calendar.DAY_OF_MONTH, 7);
	Date endDate = c.getTime();

?

后来在网上查了一些文章,还发现在在weblogic上部署的时候需要注意的一些问题及解决办法,一起贴出来和大家分享。

?
1.部署出错。

?????? 部署出错常见问题就是,web.xml不规范。web.xml不规范将直接导致部署不成功!weblogic对web.xml检查非常严格,大部分能在tomcat下调试成功的,在weblogic下不一定会成功。原因是,tomcat不能算是一个服务器所以检查相对不够严格。注意这里说的tomcat指的是5.5及以下。tomcat6在整个结构上有了一定的改变,部分tomcat5.5能通过的,在tomcat6下并不一定成功!所以出错后,应当根据提示检查下web.xml书写是否规范。

?????? 部署不成功的另一种问题,JRE版本不对应。换句话说就是服务器上的JDK低于你开发环境中的JDK,导致的版本出错。这个是比较郁闷的,通常情况下有两种建议:其一,最好的办法是将服务器上的JDK升级至官方最高版本。这样做的好处是,不用担心版本问题,另外新版本通常支持新的特性,对开发也有很大的帮助。其二,将本地的JDK和服务器上的JDK控制在同一个版本。这样就不用担心版本不对应。下面说下问题出现以后的解决方法,通过MyEclipse的项目属性->JRE设置->添加新的JRE->让项目的使用新添加的JRE。

?

2.乱码问题。

??????? 通常情况下在移植项目到Weblogic服务的时候,容易碰到HTML乱码问题。这个问题通常是因为页面中的Meta标签未生效,解决的办法是在web.xml中加入下面的代码:

XML/HTML代码

<mime-mapping>   
      <extension>html</extension>   
      <mime-type>text/html;charset=UTF-8</mime-type>   
</mime-mapping> 

??
3.ServletContext

?

?????? 今天发现在JSP页面中直接调用.getServletContext()会出错。解决方法:PageContext.getServletContext();

?????? 以上为本人在进行项目移植的时候遇到的问题,当然可能不够完整。希望大家在实际操作中能将新的问题反馈给我,好补充这篇文章。

4.JSP写的验证码

?????? 这个验证码比较简单在文件的一开始加入out.clear();即可解决问题!

?????? //8月10日更新? 事实上out.clear();治标不治本!图片确实能显示出来了,可是控制台却报IO异常。折腾了半天找到原因,weblogic同tomcat不太一样,详情看代码。

Java代码
/** Tomcat写法 */???
???

ImageIO.write(image, "JPEG", response.getOutputStream());    
out.clear();    
out=pageContext.pushBody(); 

????
??
/** Weblogic写法 */???
???

ImageIO.write(image, "JPEG", response.getOutputStream());

???
5.FCKeditor JS错误

?

?????? 这个问题更加BT,简直让人无法忍受!你用记事本把根目录所有的文件都打开然后CTRL+S保存就OK了!另外还有可能出现载入XML错误!同上面一样,在web.xml中加入这段话就OK了!

XML/HTML代码

<mime-mapping>   
        <extension>xml</extension>   
        <mime-type>application/xml</mime-type>   
</mime-mapping>

?

?

?