SpringSide開(kāi)發(fā)實(shí)戰(zhàn)(二):修改數(shù)據(jù)庫(kù)、字符編碼和快速部署應(yīng)用程序
Posted on 2006-12-23 22:37 京山游俠 閱讀(5858) 評(píng)論(11) 編輯 收藏 所屬分類: SpringSide開(kāi)發(fā)實(shí)戰(zhàn)
?2

?3

?4

?5

?6

?7

?8

?9

10

11

其次是修改src\main\resources\config文件夾下的hibernate.properties文件,注釋掉第一行,解注釋第二行,如下:

2

3

4

5

6

這個(gè)過(guò)程是簡(jiǎn)單的,但是還有一件很重要的事情需要注意,那就是一定要記得把MySQL提供的JDBC驅(qū)動(dòng)mysql.jar拷貝到src\main\webapp\WEB-INF\lib文件夾下,否則,會(huì)遇到如下錯(cuò)誤:
SpringSide非常注重對(duì)i18n的支持,因此創(chuàng)建國(guó)際化的應(yīng)用程序非常方便,只需要在src\mian\resources\i18n文件夾下加入相應(yīng)的資源文件即可。SpringSide默認(rèn)使用UTF-8編碼,這從web.xml中注冊(cè)的encodingFilter就可以看出來(lái),當(dāng)然也可以選擇自己喜歡的字符編碼,比如GB2312。如果要修改字符編碼,一定要記住有四個(gè)地方要保持一致:
1、web.xml中的encodingFilter配置,如下:








2、數(shù)據(jù)庫(kù)中的默認(rèn)字符集,需要在創(chuàng)建數(shù)據(jù)表的時(shí)候指定,如下:






3、JDBC的連接設(shè)置,在src\main\resources\config\jdbc.properties中,如下:

4、JSP頁(yè)面中的頁(yè)面編碼,如下:





只要將這四個(gè)地方設(shè)置為一致,JSP頁(yè)面顯示出來(lái)就應(yīng)該不會(huì)是亂碼。歸根結(jié)底,是SpringSide在web.xml中注冊(cè)的encodingFilter幫了大忙。但是,當(dāng)需要從Struts的resource bundle中讀取message的時(shí)候,就不是那么方便了,因?yàn)樾枰獎(jiǎng)?chuàng)建如下的messages_zh_CN.properties文件:





























這種文件沒(méi)有可讀性,當(dāng)然就更加不好編輯了,要生成這樣的文件,需要使用J2SDK提供的命令行工具native2ascii.exe,為了加速開(kāi)發(fā)和調(diào)試,可以編寫(xiě)一個(gè)批處理文件make_resource.bat,如下:

然后,將該批處理文件注冊(cè)為Eclipse的外部工具,如下圖:
以后,需要修改messages的時(shí)候,先在temp.txt中修改,然后運(yùn)行該外部工具即可。快捷而方便。
沒(méi)有人能夠一氣呵成寫(xiě)完一個(gè)項(xiàng)目然后再運(yùn)行,所有的程序員都需要一邊修改代碼,一邊運(yùn)行程序以觀察修改的效果,如此反復(fù)進(jìn)行。但是SpringSide提供的quickstart.bat存在很多問(wèn)題,造成了程序員不能夠快速部署程序,原因有二,一是quickstart.bat每次運(yùn)行的時(shí)候都需要重新構(gòu)建項(xiàng)目,更新組件庫(kù),然后啟動(dòng)Tomcat服務(wù)器,太慢了;二是運(yùn)行quickstart.bat后,就算關(guān)閉控制臺(tái)窗口,Tomcat服務(wù)器依然會(huì)在后臺(tái)運(yùn)行,以至于下次運(yùn)行quickstart.bat會(huì)出錯(cuò),提示不能清理文件。
要解決這兩個(gè)問(wèn)題也不難,可以將springside根目錄下的misc\servers\tomcat-5.5.17\bin目錄下的startup.bat和shutdown.bat注冊(cè)為Eclispe的外部工具,以達(dá)到快速啟動(dòng)和快速關(guān)閉Tomcat服務(wù)器的目的,如下圖:
此外,很多時(shí)候不需要重新啟動(dòng)服務(wù)器,只需要把更改過(guò)的文件重新部署到服務(wù)器就可以了,在springside的根目錄目錄下面,misc\servers\tomcat-5.5.17\webapps文件夾中包含了所有的SpringSide項(xiàng)目。使用Windows自帶的命令行工具xcopy,可以將修改過(guò)的.class文件、配置文件、資源文件和.jsp文件部署到服務(wù)器中。創(chuàng)建一個(gè)批處理文件deploy.bat,如下:




其中/s選項(xiàng)為復(fù)制子目錄,/d選項(xiàng)為只復(fù)制更新過(guò)的文件,/y選項(xiàng)為不用詢問(wèn)是否覆蓋。
然后再將該deploy.bat注冊(cè)為Eclipse的外部工具。這里不截圖了,累贅。
當(dāng)修改了Struts的配置文件和Action類之后,由于Struts只在Tomcat啟動(dòng)時(shí)讀取一次配置文件并緩存起來(lái),而Action對(duì)象也只在第一次使用的時(shí)候創(chuàng)建一個(gè)實(shí)例,因此必須重新啟動(dòng)服務(wù)器才能看到效果,配合上面的deploy、stop_tomcat和start_tomcat外部工具使用,使得部署和調(diào)試SpringSide應(yīng)用程序更加快捷。