去年開始接觸java web項(xiàng)目開發(fā),在項(xiàng)目開發(fā)過程中難免會(huì)遇到前臺(tái)jsp頁面獲得的數(shù)據(jù)傳到后臺(tái)controller層去處理,對(duì)于常用的三種方式進(jìn)行了以下總結(jié):
1.Form表單提交
jsp頁面中可以嵌入form表單,主要有兩個(gè)屬性,action和method。action的內(nèi)容是表單要提交到后臺(tái)controller的某個(gè)請(qǐng)求。method是表單提交方式:主要有g(shù)et和post兩種提交方式,一般的表單提交數(shù)據(jù)會(huì)用到post方式,考慮到數(shù)據(jù)安全性問題。下面是我做的一個(gè)小例子,有用戶名和密碼兩個(gè)字段
jsp頁面form表單
后臺(tái)處理請(qǐng)求代碼:
后臺(tái)請(qǐng)求方法
2.Ajax = Asynchronous JavaScript and XML
通過在后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,AJAX 可以使網(wǎng)頁實(shí)現(xiàn)異步更新。這意味著可以在不重新加載整個(gè)網(wǎng)頁的情況下,對(duì)網(wǎng)頁的某部分進(jìn)行刷新。很常見的例子在某些網(wǎng)站注冊(cè)過程中要求用戶名不能重復(fù),所以在避免數(shù)據(jù)已經(jīng)提交到后臺(tái)去數(shù)據(jù)庫校驗(yàn)該用戶是否存的的情況下,ajax可以實(shí)現(xiàn)異步刷新,在文本框失去焦點(diǎn)后就去訪問后臺(tái)數(shù)據(jù)庫判斷該用戶是否已經(jīng)存在。
jquery中的ajax
下面簡單介紹下ajax請(qǐng)求里面的主要幾個(gè)參數(shù):
-
url:一般為String類型的參數(shù),發(fā)送請(qǐng)求的地址。
-
type:一般String類型的參數(shù),請(qǐng)求方式主要用(post或get)默認(rèn)為get。
-
data:一般為Object或String類型的參數(shù),發(fā)送到服務(wù)器的數(shù)據(jù)。如果已經(jīng)不是字符串,將自動(dòng)轉(zhuǎn)換為字符串格式
-
dataType:預(yù)期服務(wù)器返回的數(shù)據(jù)類型
-
success:要求為Function類型的參數(shù),請(qǐng)求成功后調(diào)用的回調(diào)函數(shù),一般有兩個(gè)參數(shù)。
(1)由服務(wù)器返回,并根據(jù)dataType參數(shù)進(jìn)行處理后的數(shù)據(jù)。
(2)描述狀態(tài)的字符串。
function(data, textStatus){
//data可能是xmlDoc、jsonObj、html、text等等
}
-
error:請(qǐng)求失敗時(shí)被調(diào)用的函數(shù)
3. a標(biāo)簽中href 屬性
常用的a便簽中的href屬性也可以發(fā)送請(qǐng)求到后臺(tái),后臺(tái)有相應(yīng)的處理方法即可。
a便簽
后臺(tái)處理方法
以上三種方式是我總結(jié)的工作中比較常用的幾種方法,尤其是form表單提交數(shù)據(jù)。