Weblogic10.3项目部署出错的一些常见问题
2013-01-14 17:13
309 查看
部署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的方式解决了问题。
部分代码如下:
Java代码
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代码
Java代码
<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代码
Java代码 ImageIO.write(image, "JPEG", response.getOutputStream());
out.clear();
out=pageContext.pushBody();
Java代码
ImageIO.write(image, "JPEG", response.getOutputStream());
5.FCKeditor JS错误
这个问题更加BT,简直让人无法忍受!你用记事本把根目录所有的文件都打开然后CTRL+S保存就OK了!另外还有可能出现载入XML错误!同上面一样,在web.xml中加入这段话就OK了!
XML/HTML代码
Java代码
<mime-mapping>
<extension>xml</extension>
<mime-type>application/xml</m
4000
ime-type>
</mime-mapping>
------------------------------
就我个人成功部署的经历说说我的部署心得。
1.web.xml里的contextConfigLocation,引入的资源中间不允许存在注释和空行;<display-name>DWR Servlet</display-name>不能与description存在重复,即2选1;
这里引入的资源文件特别要注意不要存在注释及空行,在weblogic下都会报错,说找不到资源。
display-name与description只需要2选1就可以了,不然会报莫名的错误。
这个视个人应用不同自行配置。
7.关于图片输出的,在weblogic下我的测试结果是不需要out.clear();。可以直接删除。这个一般在jsp页面里有使用,干掉吧。
8.关于数据源的。weblogic10.3提供了很好的jndi数据源配置功能,命名上要规范统一,如果是部署时报数据库错误,先检查是否已经
设置了数据源了,并把数据源的“目标”指向服务器。如果OK,检查应用里使用的jndi命名是否与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的方式解决了问题。
部分代码如下:
Java代码
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();
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代码
Java代码
<mime-mapping>
<extension>html</extension>
<mime-type>text/html;charset=UTF-8</mime-type>
</mime-mapping>
<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代码
Java代码 ImageIO.write(image, "JPEG", response.getOutputStream());
out.clear();
out=pageContext.pushBody();
ImageIO.write(image, "JPEG", response.getOutputStream()); out.clear(); out=pageContext.pushBody();
Java代码
ImageIO.write(image, "JPEG", response.getOutputStream());
5.FCKeditor JS错误
这个问题更加BT,简直让人无法忍受!你用记事本把根目录所有的文件都打开然后CTRL+S保存就OK了!另外还有可能出现载入XML错误!同上面一样,在web.xml中加入这段话就OK了!
XML/HTML代码
Java代码
<mime-mapping>
<extension>xml</extension>
<mime-type>application/xml</m
4000
ime-type>
</mime-mapping>
<mime-mapping> <extension>xml</extension> <mime-type>application/xml</mime-type> </mime-mapping>
------------------------------
就我个人成功部署的经历说说我的部署心得。
1.web.xml里的contextConfigLocation,引入的资源中间不允许存在注释和空行;<display-name>DWR Servlet</display-name>不能与description存在重复,即2选1;
这里引入的资源文件特别要注意不要存在注释及空行,在weblogic下都会报错,说找不到资源。
display-name与description只需要2选1就可以了,不然会报莫名的错误。
这个视个人应用不同自行配置。
7.关于图片输出的,在weblogic下我的测试结果是不需要out.clear();。可以直接删除。这个一般在jsp页面里有使用,干掉吧。
8.关于数据源的。weblogic10.3提供了很好的jndi数据源配置功能,命名上要规范统一,如果是部署时报数据库错误,先检查是否已经
设置了数据源了,并把数据源的“目标”指向服务器。如果OK,检查应用里使用的jndi命名是否与weblogic里配置的数据源名称一致。
相关文章推荐
- Spring+Hibernate项目在weblogic中部署的一些问题
- weblogic部署项目出现的一些问题(持续补充中……)
- weblogic部署javaweb项目遇到的一些问题
- Weblogic部署项目过程中的一些问题
- 项目部署时一些常见linux命令和遇到的问题
- weblogic部署javaweb项目遇到的一些问题
- maven+idea 自动部署项目到linux服务器及遇到的一些问题
- myeclispe 使用weblogic部署项目出现的问题
- Weblogic中已部署好的项目,突然部署失败问题
- maven自动部署项目以及常见问题解决
- WebLogic10.3.X下部署J2EE项目:ClassNotFoundException org.hibernate.hql.ast.HqlToken
- 部署Silverlight 4项目遇到的一些问题
- springboot项目打成war包部署到tomcat遇到的一些问题
- 带tiles2和spring-security(2.0.5)的SSH项目部署到Weblogic10gR3下出现的问题
- IDEA中web项目部署到Tomcat的一些小问题
- ssh项目部署到weblogic中问题总结
- 如何在云服务器上部署你的web项目和一些遇到的问题
- WebLogic使用总结(五)——Web项目使用Sigar在WebLogic服务器部署遇到的问题
- web项目部署到服务器遇到的一些问题
- 总结了一些指针易出错的常见问题(二)