tomcat应用转到weblogic上时的问题
昨天将一个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上时的问题的更多相关文章
- struts2使用Convention Plugin在weblogic上以war包部署时,找不到Action的解决办法
环境: struts 2.3.16.3 + Convention Plugin 2.3.16.3 实现零配置 现象:以文件夹方式部署在weblogic(10.3.3)上时一切正常,换成war包部署,运 ...
- 【转】收集 jetty、tomcat、jboss、weblogic 的比较
jetty Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境.Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布.开 ...
- 在weblogic上部署遇到的问题总结
最近在weblogic上发布自己的项目,但是当调用程序服务时却报错了.于是查看了错误日志. 错误日志如下: Root cause of ServletException. java.lang.Link ...
- Nginx+Tomcat+Memcached 实现集群部署时Session共享
Nginx+Tomcat+Memcached 实现集群部署时Session共享 一.简介 我们系统经常要保存用户登录信息,有Cookie和Session机制,Cookie客户端保存用户信息,Sessi ...
- 使用idea创建springboot项目并打成war包发布到weblogic上
部署tomcat也是类似的,但是需要注意项目配置的路径,或者直接将项目放到webapp的ROOT目录下. 使用工具:intelliJ IDEA2016.3, jdk1.8 ,weblogic12 一 ...
- Webservice(CXF) 、 POI(excel)操作部署到weblogic上冲突解决
这几日把webservice和POI 操作部署到WebLogic上,问题重重,有各种冲突. 部署到tomcat上没有问题 版本: jdk:6 tomcat:6 weblogic:10.3.3 cxf: ...
- Tomcat 8.5版本文件上传后无权限访问的问题
之前在tomcat 7下文件上传后访问一直没问题,现在tomcat版本升到8.5,在测试文件http上传时,发现所传文件无法通过nginx访问了. (Tomcat具体版本为8.5.11) PS:tom ...
- spring + spring mvc + tomcat 面试题(史上最全)
文章很长,而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三 ...
- tomcat下部署两个工程时,只有一个可以访问,另一个出现404错误,该如何解决
tomcat下部署两个工程时,只有一个可以访问,另一个出现404错误,该如何解决 在开发新项目的时候,有时候为了省时,直接把曾经做过的项目工程A拷贝成改名为B工程,然后再在B工程上进行功能的开发, 此 ...
随机推荐
- iis 目录枚举文件枚举解决方案
1.关闭windows的8.3格式功能. 修改注册表键值: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem 修改NtfsD ...
- CXF 调用C#.net的WebService
原文链接:http://hi.baidu.com/pengfeiiw/blog/item/3203e29065aa3a8aa977a4d0.html 1.编写C#.net的WebService Ser ...
- Spark源码学习2
转自:http://www.cnblogs.com/hseagle/p/3673123.html 在源码阅读时,需要重点把握以下两大主线. 静态view 即 RDD, transformation a ...
- Hadoop 处理“Name node is in safe mode”问题(转)
运行hadoop程序时,有时候会报以下错误:org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Nam ...
- Excel VLOOKUP等使用记录
1.LEFT 函数:LEFT(G2,ROW(INDIRECT("76:"&LEN(G2)))) 截取G2单元格从开头,SIZE=76的部分字符串 2.RIGHT 函数:RI ...
- C# 中使用Newtonsoft.Json 处理JSON数据 绝对能用
当你搜到这篇文章是幸运的,因为之前我遇到这个问题 主要是 Newtonsoft.Json 版本不一 且网上各种文章 都是复制的 并不说明版本的问题 这里我就不说什么版本的问题了,总之必须使用我这个DL ...
- delphi R3下 跨进程获取DLL信息 NtQueryInformationProcess
unit APIUnit; { GetProcessModuleHandle API Unit Ring3调用NtQueryInformationProcess实现跨进程获取DLL句柄 } inter ...
- 解决Thinkpad E450 外接显示器后没有声音的问题
昨天把公司配的ThinkPad E450 带回来了,今天用的时候一切正常没什么问题. 因为要看边看视频边做点别的,我就外接一台显示器,说出来我的这台显示器,你们绝对想不到是什么 显示器.我的这台显示器 ...
- 黑马程序员-- C语言执行过程及注意点
通过对程序的逐步执行,了解C语言程序执行过程: 1.编写源文件即.c文件. #include <stdio.h> void play() { printf("hello worl ...
- 链表插入排序(insertion-sort-list)
自己写的代码有几个比较大的用例一直过不去,网上的代码大部分有问题,思路是先将链表置空表,再将链表中的元素循环插入到指定位置. 下面是一份正确的代码,但是是带头节点的链表: void Insertsor ...