天天看點

使用Struts 2的輸入校驗

輸入校驗也是所有Web應用必須處理的問題,因為Web應用的開放性,網絡上所有的浏覽者都可以自由使用該應用,是以該應用通過輸入頁面收集的資料是非常複雜的,不僅會包含正常使用者的誤輸入,還可能包含惡意使用者的惡意輸入。一個健壯的應用系統必須将這些非法輸入阻止在應用之外,防止這些非法輸入進入系統,這樣才可以保證系統不受影響。

異常的輸入,輕則導緻系統非正常中斷,重則導緻系統崩潰。應用程式必須能正常處理表現層接收的各種資料,通常的做法是遇到異常輸入時應用程式直接傳回,提示浏覽者必須重新輸入,也就是将那些異常輸入過濾掉。對異常輸入的過濾,就是輸入校驗,也稱為資料校驗。

輸入校驗分為用戶端校驗和伺服器端校驗,用戶端校驗主要是過濾正常使用者的誤操作,主要通過JavaScript代碼完成;伺服器端校驗是整個應用阻止非法資料的最後防線,主要通過在應用中程式設計實作。

用戶端校驗的主要作用是防止正常浏覽者的誤輸入,僅能對輸入進行初步過濾;對于惡意使用者的惡意行為,用戶端校驗将無能為力。是以,用戶端校驗絕不可代替伺服器端校驗。當然,用戶端校驗也絕不可少,因為Web應用大部分浏覽者都是正常的浏覽者,他們的輸入可能包含了大量的誤輸入,用戶端校驗把這些誤輸入阻止在用戶端,進而降低了伺服器的負載。

Struts 2架構提供了強大的類型轉換機制,也提供了強大的輸入校驗功能,Struts 2的輸入校驗既包括伺服器端校驗,也包括用戶端校驗。