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

?3

?4

?5

?6

?7

?8

?9

10

11

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

2

3

4

5

6

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








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






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

4、JSP頁面中的頁面編碼,如下:





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





























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

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




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