環境爲: 中文WindowsXP SP2, Tomcat5.5, Weblogic9.2, JDK1.5
★ 連接池配置問題
spring的datasource在tomcat裏配置爲:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/dsName</value>
</property>
</bean>
在weblogic裏需要配置爲
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>dsName</value>
</property>
</bean>
潤乾報表的reportDefine在tomcat下配置爲:
<config>
<name>JNDIPrefix</name>
<value>java:comp/env</value>
</config>
<config>
<name>dataSource</name>
<value>dsName,oracle</value>
</config>
在weblogic裏修改爲:
<config>
<name>JNDIPrefix</name>
<value></value>
</config>
則weblogic裏jndi連接池的jndi資源名稱應該配置爲:
dsName
並且必須指定target server , 如: exmple server
★ getServletContext()
改爲
getServletConfig().getServletContext()
★ NullPointerException in initSessionInfo()
似乎是weblogic9.2在IE裏的bug? 在FF裏沒有問題
設置Server, Protocols頁面裏的HTTP, 去掉Enable Keepalives的複選框
★ 圍繞字符集的問題彙總
web.xml
問題描述:
文件本身是UTF-8格式時, Tomcat能夠解析, Weblogic啓動失敗, 提示: VALIDATION PROBLEMS WERE FOUND
解決方法:
用window的記事本打開web.xml,另存爲ANSI格式( 由於當前是中文操作系統, 所以實際編碼爲GBK )
同時修改第一行字符集信息: <?xml version="1.0" encoding="UTF-8"?>
由UTF-8改爲GBK, 否則Weblogic還是解析失敗.
比較奇怪的是UltraEdit竟然也能識別encoding設置,如果文件是ANSI格式,而encoding設置爲UTF-8,則中文顯示爲亂碼! 設成GBK就好了
提示: Eclipse裏所有xml格式默認爲UTF-8, 並且不支持encoding設置, 所以打開GBK的web.xml還是亂碼
所以Weblogic不支持web.xml爲UTF-8格式是個缺陷?
這個問題也許與web.xml的version="2.4"有關? 可以把相關的配置改成Servlet2.3的格式試試(待測試)
總之用Weblogic有小麻煩
jsp, include, 與 pageEncoding
問題描述:
在main.jsp中include另外一個part.jsp頁面, 這些文件都是UTF-8格式的,
並且設置 <%@ page contentType="text/html;charset=UTF-8" %> ,則pageEncoding應該默認與contentType裏的charset相同, 爲UTF-8
如果被include的part.jsp的文件格式是UTF-8的, 則不管是哪種include方式, 都會導致最終輸出的頁面裏多出"FF FE"字節,
這些不能顯示的字符後面如果是<div> <table> 等html的塊元素, 會導致IE等瀏覽器先換行處理, 再顯示<div> <table>
最終的效果就是頁面多出一些奇怪的空行.
2個問題在Tomcat和Weblogic裏都有.
解決方法:
把被include的part.jsp文件改爲GBK格式的(用記事本打開,另存爲,指定ANSI即可)
但是這樣會引起中文亂碼的問題, 需要設置 part.jsp 的 pageEncoding="GBK" 才行!
設置pageEncoding又會引起下面的問題:
main.jsp和part.jsp在Weblogic裏, 有些情況(還不太明確)不能同時配置 pageEncoding
解決方法:
只在被include的part.jsp裏配置pageEncoding="GBK"
遺留問題:
在Weblogic裏, 只需要設置被include的jsp頁面爲ANSI, 並且設置 pageEncoding 即可解決問題.
但是Tomcat裏, 如果JSP都是UTF-8格式, 不用設置pageEncoding, 大部分頁面沒有問題, 只是某些頁面有問題.
但是這些有問題的頁面必須都設置爲GBK才能解決, 包括main.jsp, part.jsp, 如果用了struts tiles,則tiles相關的文件也要設置成GBK!
由於在Weblogic下不能同時配置pageEncoding, 所以看項目情況, 可以放棄Tomcat下的顯示效果.
轉自:JXC(http://blog.csdn.net/jxc/)