1.对于一些复杂的jstl,weblogic无法解析,必须三元表达式,必须得每一个部分加上括号来制定运算的优先级;
${(btnet.upper_net_code==null)?((param.currentNetCode==null)?"":(param.currentNetCode)):(btnet.upper_net_code)}
2.优先加载应用程序的jar包
\WEB-INF\weblogic.xml
<weblogic-web-app> <container-descriptor> <prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor> </weblogic-web-app>
3.include的时候,编码的问题:
BudgetProcessSelectItem.jsp是utf-8格式的编码,
直接在一个空的jsp文件夹下面写这样的代码是可运行的,不会产生乱码:
<%@ include file="/budget/interfaces/BudgetProcessSelectItem.jsp" %>
但是在weblogic下面就会出现乱码,必须在引用的页面指定编码才能解决这个问题:
<%@ page contentType="text/html; charset=UTF-8"%> <%@ include file="/budget/interfaces/BudgetProcessSelectItem.jsp" %>
4.jar包的冲突问题:
xml包的冲突,由于在weblogic下面一句有相关的类:
需要在v10.1下面删除的jar包有:
dom.jar
sax.jar
xml-apis.jar
需要添加的jar包有:
xercesImpl.jar
xalan.jar
serializer.jar
5.在配置hibernate的时候,不要指定这个属性:hibernate.query.factory_class
6.获取文件的路径问题:
// String bytter_keyPath=config.getServletContext().getRealPath("/")+"WEB-INF/classes/license.lic";
//上面这种方式在aix下面是存在问题的,找不到路径的。在aix下面,上面的方法获取得到的路径是:/v10cpWEB-INFO/classes....实际路径应该是/v10cp/WEB-INFO/classes....,少了一个斜杠,导致程序找不到指定的文件,通过下面的方式即可找到。
String bytter_keyPath=Thread.currentThread().getContextClassLoader().getResource("license.lic").getFile();
7.由于项目原来的web.xml采用的是j2ee2.3,2.3对jstl的支持不是很好,改成2.4之后就可以了。
8.weblogic对web.xml的格式要求比较严格,web.xml中的属性、节点,必须按照规定的顺序,tomcat就相对宽容,只要web.xml的一个符合xml规范就可解析。