websphere4 配置過程中遇到的問題
1.admin.config 中配置oracle driver 的classpath
-Dws.ext.dirs=
連接不上oracle數據庫,報java.sql.SQLException: ORA-01453: SET TRANSACTION 必須是事務處理的第一個語句錯誤
[08.06.06 15:50:48:622 CST] 7a4489 EJBEngine X WSVR0062E:未能啟動 EJB,admin#repository.jar#Node:org.omg.CORBA.portable.UnknownException: minor code: 0 completed: Maybe
[08.06.06 15:50:50:554 CST] 7a4489 EJBEngine I WSVR0037I:正在啟動 EJB jar:Tasks
[08.06.06 15:50:51:329 CST] 7a4489 Helpers W NMSV0610I: NamingException 從javax.naming.Context 實現中拋出。詳細信息請參照:
上下文實現:com.ibm.ejs.ns.jndi.CNContextImpl
上下文方法:lookup
上下文名:domainRoots/UnspecifiedDomainName/legacyRoot
目標名:ejsadmin/homes/NodeHome
其它數據:
異常堆棧跟蹤:javax.naming.NamingException: Error during resolve. Root exception is org.omg.CORBA.portable.UnknownException: minor code: 0 completed: Maybe
使用合適的oracle driver,比如4.0需要用oracle8的class12.jar才行
2.websphere能夠啟動后,通過/bin/adminclient.sh配置應用和datasource
1)資源配置jdbc 供應商
2)企業應用程序-》右鍵安裝企業應用=》選擇一個空的ear文件
webspherejvm設置
adminclient->節點->avgg1->應用服務器->Default Server
-Xms256m -Xmx512m -Dfile.encoding=UTF-8 -Dclient.encoding.override=UTF-8 -Duser.language=zh -Duser.region=CN
3.解析get/post參數時報錯:
[08.06.11 14:32:38:143 CST] 24ed99 SRTServletRes W Failed to create a writer with encoding: GB2312. The default encoding will be used.
[08.06.11 14:32:44:328 CST] 24ed99 WebGroup X Servlet Error: : java.lang.IllegalArgumentException
at com.ibm.servlet.engine.webapp.RequestUtils.parseQueryString(RequestUtils.java:256)
通過反編譯websphere源代碼找到問題原因,代碼在WS_HOME/lib/webcontainer.jar中
com.ibm.servlet.engine.srt.STRRequestUtils 裝在converter.properties文件
負責獲取編碼
public static String getJvmConverter(String s)
{
String s1 = _jvmProps.getProperty(s);
if(s1 != null)
return s1;
else
return s;
}
STRServletRequest#
public String getReaderEncoding()
{
String s = getCharacterEncoding();
if(s == null)
s = SRTRequestUtils.getEncodingFromLocale(getLocale());
if(s == null)
s = System.getProperty("default.client.encoding");
if(s == null)
s = "ISO-8859-1";
return SRTRequestUtils.getJvmConverter(s);
}
需要配置/properties/converter.properties
GB2312=Cp1386 改為GB2312=Gb2312