昨天将一个tomcat环境下调试通过的报表demo应用发布到weblogic上做测试,结果发现好多问题。总结了一下,主要有这么几点:
1、使用log4j的问题。
tomcat应用直接发布到weblogic上出现错误:Cannot
set web app root system property when WAR file is not
expanded。WebLogic自身也包含对Log4j的支持,在打包部署(.war)的时候,会和Spring的org.springframework.web.util.Log4jConfigListener有冲突。解决方法之一就是把log4j的配置直接放到classpath下,log4j在web.xml下的相关配置,由于系统需要webAppRootKey这个参数,所以web.xml中需要加入:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webapp.root</param-value>
</context-param>
2、struts、ibatis等开源软件的配置文件中的相对路径问题。
比如ibatis中的配置:
<sqlMap
resource="../../WEB-INF/config/ibatis/ibatis-common.xml"/>
类似于这样的相对路径写法在tomcat下是没有任何问题的,但是weblogic是不认的,会报找不到文件。简单的解决办法就是配置文件放到classpath下。
3、页面默认编码问题。
我们都知道在页面上写类似于下面这样的代码来设置浏览器编码:
<meta
http-equiv="Content-Type" content="text/html; charset=UTF-8">
在tomcat下,浏览器读取该页面时会自动编码设置为unicode,但是weblogic不行,必须在web.xml中设置:
<mime-mapping>
<extension>html</extension>
<mime-type>text/html;charset=UTF-8</mime-type>
</mime-mapping>
4、读取当前应用的资源文件问题。
另外,在应用中使用IO来读取本应用中的文件时,tomcat下是没有任何问题的,但是在weblogic下会有些问题,要尽量使用ServletContext.getResourceAsStream来读取文件。
tomcat应用转到weblogic上时的问题
原创
©著作权归作者所有:来自51CTO博客作者hackermi的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
MQTT服务器连接不上的问题
解决客户端连不上MQTT服务器的问题
Ubuntu 22.04.3 LTS 阿里云 mosquitto MQTT 1883 -
解决跨应用服务器WEBLOGIC、TOMCAT编码问题
一、 描述项目编码一向做为系统设计级别难题,servlet2.4还未实现跨应用服务器编码
java web.xml 应用服务器 生产环境 -
tomcat jboss weblogic 的区别
一、tomcat Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,它是Apacat 5 支...
数据库 web.xml 运维 tomcat apache -
Springmvc Get请求Tomcat、WebLogic中文乱码问题
Springmvc Get请求Tomcat、WebLogic中文乱码问题
linux linux教程 tomcat -
[Web]-- weblogic和tomcat的区别
区别如下比较weblogic tomcat是否开源 否 是是
weblogic tomcat html 标准规范