Java web 開發的幾個細節

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,其功能簡單、實用而強大。

 

 8.  安全認證 

    Web應用程序的安全機制有二種組件:認證和授權。基於J2EE的Web容器提供三種類型的認證機制:基本認證、基於表單的認證、相互認證。由於能夠對認證用戶界面進行定製,大多數的Web應用程序都使用基於表單的認證。Web容器使用在Web應用程序的部署描述符中定義的安全角色對應用程序的Web資源的訪問進行授權。

 

9.  系統日誌

     日誌,源於log,有航海日誌的意思。指記錄海員記錄每天的行程,生活及發生的事件。在軟件開發領域,用來監控代碼中變量變化,跟蹤代碼運行的軌跡,在開發環境中擔當調試器作用,向控制檯或文件輸出信息。從功能上講,這些可以分爲三類:

一是日誌工具類,它實現了日誌的記錄,格式化和級別的劃分,代表爲logback,simplelog。

二是日誌系統,提供了完整的框架功能並實現了日誌記錄。代表爲jul(jdk提供的日誌框架),log4j(apache開源項目)。

三是抽象整合類,它提供了一組接口,完成日誌功能,通過包裝其他日誌工具或系統來工作jcl(apache開源組件),slf4j。

 

10.  後臺數據庫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章