昨天将一个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上时的问题的更多相关文章

  1. struts2使用Convention Plugin在weblogic上以war包部署时,找不到Action的解决办法

    环境: struts 2.3.16.3 + Convention Plugin 2.3.16.3 实现零配置 现象:以文件夹方式部署在weblogic(10.3.3)上时一切正常,换成war包部署,运 ...

  2. 【转】收集 jetty、tomcat、jboss、weblogic 的比较

    jetty Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境.Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布.开 ...

  3. 在weblogic上部署遇到的问题总结

    最近在weblogic上发布自己的项目,但是当调用程序服务时却报错了.于是查看了错误日志. 错误日志如下: Root cause of ServletException. java.lang.Link ...

  4. Nginx+Tomcat+Memcached 实现集群部署时Session共享

    Nginx+Tomcat+Memcached 实现集群部署时Session共享 一.简介 我们系统经常要保存用户登录信息,有Cookie和Session机制,Cookie客户端保存用户信息,Sessi ...

  5. 使用idea创建springboot项目并打成war包发布到weblogic上

    部署tomcat也是类似的,但是需要注意项目配置的路径,或者直接将项目放到webapp的ROOT目录下. 使用工具:intelliJ IDEA2016.3, jdk1.8 ,weblogic12 一 ...

  6. Webservice(CXF) 、 POI(excel)操作部署到weblogic上冲突解决

    这几日把webservice和POI 操作部署到WebLogic上,问题重重,有各种冲突. 部署到tomcat上没有问题 版本: jdk:6 tomcat:6 weblogic:10.3.3 cxf: ...

  7. Tomcat 8.5版本文件上传后无权限访问的问题

    之前在tomcat 7下文件上传后访问一直没问题,现在tomcat版本升到8.5,在测试文件http上传时,发现所传文件无法通过nginx访问了. (Tomcat具体版本为8.5.11) PS:tom ...

  8. spring + spring mvc + tomcat 面试题(史上最全)

    文章很长,而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三 ...

  9. tomcat下部署两个工程时,只有一个可以访问,另一个出现404错误,该如何解决

    tomcat下部署两个工程时,只有一个可以访问,另一个出现404错误,该如何解决 在开发新项目的时候,有时候为了省时,直接把曾经做过的项目工程A拷贝成改名为B工程,然后再在B工程上进行功能的开发, 此 ...

随机推荐

  1. asp.net 前台js和后台得到FormView中的控件,以TextBox为例

    一.前台js获取FormView中的控件 js得到前端控件的ID,比如TextBox(这里设置其ID为TextBox1),大家都知道,是document.getElementById("&l ...

  2. sql存储过程的简单使用

    存储过程(Stored Procedure)是数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它. 创建 ...

  3. JavaScript之向文档中添加元素和内容的方法

    一.非DOM方法添加 1.document.write() <html xmlns="http://www.w3.org/1999/xhtml"> <head&g ...

  4. C语言函数可变参数列表

    C语言允许使用可变参数列表,我们常用的printf函数即为可变参数函数,C标准库提供了stdarg.h为我们提供了这方面支持:该头文件提供了一些类型和宏来支持可变参数列表,包括类型va_list,宏v ...

  5. C++函数传值调用

    C++的函数的参数调用是传值方式. 想要改变传值调用,有引用和指针两种方式.其中,引用的实现机理也是通过一个指针,但是具体和指针传值的方式又不一样.具体见:C++中的指针与引用 对于指针传值,其实实际 ...

  6. (总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解

    PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不 ...

  7. 1)③爬取网易It方面部分新闻

    __author__ = 'minmin' #coding:utf-8 import re,urllib,sgmllib,os #根据当前的url获取html def getHtml(url): pa ...

  8. codeforces 540D 概率dp

    传送门 大概可以这样理解, 一开始有r个石头, p个布, s个剪刀, 每一天有其中的两个相遇, 如果两个是相同的种类, 什么都不会发生, 否则的话有一个会挂掉, 问最后每一种生存的概率. dp[i][ ...

  9. Q_D宏

    Qt 源码中有很多Q_Q和Q_D宏,使用这些宏的地方总会看到有q指针和d指针,查了查KDE文档,大体搞清了其中的机理,欧也!Qt的这些私有数据访问策略还是挺值得借鉴.下面就简单总结一下. 访问器 , ...

  10. finally块的问题(finally block does not complete normally) (转)

    当finall块中包含return语句时,Eclipse会给出警告“finally block does not complete normally”,原因分析如下: 1.不管try块.catch块中 ...