公司OA系統開發完成了一個階段,現就一些技朮問題整理成檔,愿與同行交流!
一、框架選擇
因考慮到開始僅做一個類似檔案管理的系統(雖然名字叫做KM ),所以沒有采用Struts、Tapestry、Spring mvc等這樣的Web框架,而是參考MVNFORUM壇論的架構,按照MVC模式自建(順便提的是,我以前的個人網站論壇用的就是MVNFORUM,很不錯)。當然現在這個系統包含了KM、5S、教育訓練,預計還要加入會議管理等其它內容而形成了一個所謂的OA了。隨著需求的增加,會考慮采用Spring+Hibernate的架構。
二、中文亂碼問題(UTF-8是兼容所有語言的編碼方式)
1. 編寫和編譯源碼時設定字符集為UTF-8。IDE工具默認的大多是根據OS而定的,須改成UTF-8。
2. 若使用過濾器接收來自瀏覽器的請求,必須指定字符集為UTF-8。
3. JSP文件編碼設置為UTF-8。
4. 與數據庫交互時,JDBC連接串URL后加上編碼設置為UTF-8或是打開Unicode。
5. 與外部文件接口時的編碼,以及要注意程序內部的轉碼,不確定最好做個測試。
做好上面几條基本上是沒有什么問題了。提供一個很有價值的參考:蔡學鏞的《Java 繁体中文处理完全攻略 1 2》
三、分頁處理
分頁處理的技朮很多,關鍵是根據項目情況選擇合適的。在這個項目中,我采用的是“每一頁都向數據庫作一次查詢,只取需要的,也就是一頁的內容”。如比較好的方法還有“預存前几頁的內容在內存,后續記錄根據需求向數據庫查詢獲取”,還有“Cache機制”等等。 Cache的應用可以參考Jive Forum實現。
四、Properties文件的使用
將數據庫驅動與url、數據庫用戶名及密碼、數據庫連接池(可采用應用服務器自帶的,或是自行設計的)等這些配置信息放在這里面,增強系統的擴展性,便于維護(更改數據庫和它的密碼什么的都挺方便,當然要注意的就是這個文件的安全了)。
2005-7-29