軟件環境
JDK
_
+Eclipse
+MS SQL SERVER
+SP
+JTDS
+Struts
+Hibernate
+Spring
由於剛開始學習這個Framework
所以很多東西也不是特別清楚
以前在JB環境下也沒怎麼遇到亂碼問題
這次試了很多方法都不行
於是決定加個Fileter了
web
xml部分內容如下
<filter>
<filter
name>SetCharacterEncoding</filter
name>
<filter
class>
org
springframework
web
filter
CharacterEncodingFilter</filter
class>
<init
param>
<param
name>encoding</param
name>
<param
value>GBK</param
value>
</init
param>
</filter>
<!
要過濾得類型
>
<filter
mapping>
<filter
name>SetCharacterEncoding</filter
name>
<url
pattern>*
jsp</url
pattern>
</filter
mapping>
通過在Action中加斷點調試
發現使用超連接的跳轉是可以使用Filter的
但是如果是以
do為後綴的請求就不行了
抱著試試看的心理
我修改了web
xml
<?xml version=
encoding=
UTF
?>
<web
app>
<!
Spring ApplicationContext
>
<servlet>
<servlet
name>context</servlet
name>
<servlet
class> org
sprntext
ContextLoaderServlet
</servlet
class>
<load
on
startup>
</load
on
startup>
</servlet>
<servlet>
<servlet
name>action</servlet
name>
<servlet
class>org
apache
struts
action
ActionServlet</servlet
class>
<init
param>
<param
name>config</param
name>
<param
value>/WEB
INF/struts
config
xml</param
value>
</init
param>
<init
param>
<param
name>debug</param
name>
<param
value>
</param
value>
</init
param>
<init
param>
<param
name>detail</param
name>
<param
value>
</param
value>
</init
param>
<load
on
startup>
</load
on
startup>
</servlet>
<servlet
mapping>
<servlet
name>action</servlet
name>
<url
pattern>*
do</url
pattern>
</servlet
mapping>
<filter>
<filter
name>SetCharacterEncoding</filter
name>
<filter
class>
org
springframework
web
filter
CharacterEncodingFilter</filter
class>
<init
param>
<param
name>encoding</param
name>
<param
value>GBK</param
value>
</init
param>
</filter>
<!
要過濾得類型
>
<filter
mapping>
<filter
name>SetCharacterEncoding</filter
name>
<url
pattern>*
jsp</url
pattern>
</filter
mapping>
<filter
mapping>
<filter
name>SetCharacterEncoding</filter
name>
<url
pattern>*
do</url
pattern>
</filter
mapping>
<welcome
file
list>
<welcome
file>main
jsp</welcome
file>
</welcome
file
list>
<taglib>
<taglib
uri>/WEB
INF/struts
bean
tld</taglib
uri>
<taglib
location>/WEB
INF/struts
bean
tld</taglib
location>
</taglib>
<taglib>
<taglib
uri>/WEB
INF/struts
html
tld</taglib
uri>
<taglib
location>/WEB
INF/struts
html
tld</taglib
location>
</taglib>
<taglib>
<taglib
uri>/WEB
INF/struts
logic
tld</taglib
uri>
<taglib
location>/WEB
INF/struts
logic
tld</taglib
location>
</taglib>
<taglib>
<taglib
uri>/WEB
INF/struts
template
tld</taglib
uri>
<taglib
location>/WEB
INF/struts
template
tld</taglib
location>
</taglib>
<taglib>
<taglib
uri>/WEB
INF/struts
tiles
tld</taglib
uri>
<taglib
location>/WEB
INF/struts
tiles
tld</taglib
location>
</taglib>
<taglib>
<taglib
uri>/WEB
INF/struts
nested
tld</taglib
uri>
<taglib
location>/WEB
INF/struts
nested
tld</taglib
location>
</taglib>
</web
app>
主要在這裡多加了一個過濾內容!其他的
為防止萬一
在頁面(jsp)上也加了些東西
<%@ page contentType=
text/html; charset=GBK
pageEncoding=
GBK
%>
<meta http
equiv=
content
type
content=
text/html; charset=GBK
>
呵呵
可以說是武裝到牙齒了
開始調試
這次在Debug的時候
顯示出從頁面中傳來的值終於不是亂碼了
保存在數據庫中後
也不是亂碼
這個問題目前是部分解決了
因為我還沒有測試在頁面上哪些是不用寫的
還有就是頁面回現漢字是是否會有問題
不過這裡先把自己的所得記錄下來
如果有高人就此事談論過
就算我孤陋寡聞吧
呵呵
另外給出我的Hibernate
cfg
xml的部分內容
<session
factory>
<property name=
nnection
url
>jdbc:jtds:sqlserver://
:
;DatabaseName=HomeConsume;charset=GBK</property>
<property name=
hibernate
cglib
use_reflection_optimizer
>true</property>
<property name=
nnection
password
>sju</property>
<property name=
nnection
username
>sa</property>
<property name=
nnection
driver_class
>net
sourceforge
jtds
jdbc
Driver</property>
<property name=
hibernate
dialect
>org
hibernate
dialect
SQLServerDialect</property>
<mapping resource=
net/magicyang/homeconsume/pojo/Test
hbm
xml
/>
<mapping resource=
net/magicyang/homeconsume/pojo/Consumeinfo
hbm
xml
/>
<mapping resource=
net/magicyang/homeconsume/pojo/Consumetype
hbm
xml
/>
</session
factory>
From:http://tw.wingwit.com/Article/program/Java/ky/201311/27891.html