Java Web開發中,有許多共通的問題,是開發人員在開發過程中一定會遇到的,需要處理的問題:
1. 亂碼問題
為何會出現亂碼問題?既然有亂碼問題,肯定是由於編碼設定的不一致所導致的。在Web開發過程中,涉及以下一些編碼設置,客戶端參數的編碼設置,Web伺服器的編碼設置,伺服器端應用程式的編碼設置,資料庫的編碼設定等。只要這四處的編碼設定有不相同的,就可能會出現亂碼問題。開發人員在進行開發之前,不防先了解這四個編碼在哪裡設置,目前自己的專案設定是怎麼樣的,這樣就可以很好的避免編碼問題。
2. 權限控制
對於一個Java Web系統,並不是所有的頁面與功能都允許所有的使用者存取的,這樣就需要對使用者能存取哪些頁面進行控制了。一般的Java Web系統,都需要進行權限控制。進行權限控制的方法有很多,以前看到有不少專案直接在程式裡寫權限控制的程式碼,這樣的弊端是顯而易見的,太不利於擴充了,只要有任何的修改,都需要改動相當的程式碼,一是容易出錯,二是修改的代價大。一個比較好的想法是基於AOP的思想,使用攔截器來進行權限控制,當然前提是系統要配置一定的資料庫結構,例如使用者-角色-權限表這樣的表結構。當然,目前有不少的權限控制開源框架如acegi
3. 參數驗證
All Input Is Evil。對於輸入參數的驗證是少不了的。對於參數的驗證,有客戶端驗證與伺服器端驗證,一般來說,能夠在客戶端進行驗證的,優先考慮客戶端驗證以減少伺服器端壓力。現在有許多的Javascript框架可以很好的完成這項工作。如Jquery Validation插件。
4. 異常處理
應該說對於每個系統來說,異常處理都是很重要的。但在B/S結構的環境中,異常就顯得更為重要,一個設計良好的異常處理框架可以減少很多的程式碼編寫工作。
5. 參數傳遞
在B/S結構,基於HTTP來完成通信,每一次的客戶端與伺服器端的交互都是一次參數傳遞的過程。控制參數的傳遞過程就顯得很重要了。要清楚的知道每一次的B/S的交互,需要傳遞哪些參數,哪些參數是合法的,哪些參數是不合法的,是透過GET方式還是透過POST方式,還是透過URL連結的方式。
6. Ajax
現在的Java Web系統,不使用Ajax技術是不可能的了。 Ajax實在是一項不錯的技術,不刷新頁面而完成與伺服器端的通信,它使得基於B/S的結構功能更強大了,許多傳統的Web應用程式所無法完成的功能現在大都可以用B/S架構來實現。對於Ajax現在已經有很多成熟的Javascript框架可以使用。首推jQuery,其提供的Ajax功能簡單又實用。
7. 客戶端Javascript技術
客戶端技術很多,Javascript應該說是功能最強大、應用最廣的一個了。用好Javascript,在系統設計時多考慮客戶端的實作方式,可以很好的輔助進行伺服器端的功能設計。優秀的Javascript架構還是推薦jQuery,其功能簡單、實用且強大。