3 回答

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個贊
第一:你的servlet如果是繼承自HttpServlet,就必須重寫它里面的兩 個虛方法doGet和doPost,也就是說,先不管別的servlet或jsp會去調(diào)用哪個方法,這兩個方法都應(yīng)該有。
第二:至于它調(diào)用哪個方法,就看提交方式
<form action="myServlet" method="get" >
method屬性的值是get,它就去調(diào)用對應(yīng)servlet的doGet方法。
同理,method屬性的值是get,它就去調(diào)用對應(yīng)servlet的doPost方法。
一般來說,不管采用那種提交方式,在servlet里要做的事情是一樣的。所以,我們很多情況下,在一個方法里面調(diào)用另一個方法,這樣隨你那種方式提交的,都可以轉(zhuǎn)去做一種處理。
eg:
public void doPost(HttpRequest request,HttpResponse response)throw ServletException,IOException {
doGet(request,response);
......
}
?如果請求是冪等的就可以使用GET
?所謂冪等是指多個請求返回相同的結(jié)果
?當(dāng)改變服務(wù)器狀態(tài)時應(yīng)當(dāng)使用POST方法
?GET請求的例子:
http://localhost/yourApp?firstName=Adam&middleName=Christopher
?采用POST方法向服務(wù)器發(fā)送命名參數(shù)時,與采用GET方法幾乎一樣的。
?區(qū)別:POST方法將參數(shù)串放在請求體中發(fā)送,而GET方法是將參數(shù)追加到URL中發(fā)送。
?如果數(shù)據(jù)處理不改變數(shù)據(jù)模型的狀態(tài),HTML使用規(guī)約理論上推薦采用GET方法,從這
可以看出,獲取數(shù)據(jù)時應(yīng)當(dāng)使用GET方法。
?如果因?yàn)榇鎯?、更新?shù)據(jù),或者發(fā)送電子郵件,操作改變了數(shù)據(jù)模型的狀態(tài),這時建議使 用POST方法。

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個贊
如果走的是serlvet,而servlet里又沒有顯示的調(diào)用父類方法,這就必定是走子
類重載的doGet() doPost() 了,這兩個方法沒什么區(qū)別,要看你提交過來的方
式是什么方式,<form action="myServlet" method="get" > Form表單里的
method屬性是get還是post,用get方法提交有字符限制,只能是255個字符,并
且在地址欄里不隱藏鏈接,也就是說你用get方式提交用戶名密碼的話在URL地址
欄里是可以完全的看到的,post提交沒有提交大小限制,并且隱藏地址欄信息,
相對安全。
一般來說都會在doGet()方法里調(diào)用doPost()方法,參數(shù)是一樣的參數(shù),處理的結(jié)果也是一樣的:
eg:
public void doPost(HttpRequest request,HttpResponse response)throw ServletException,IOException {
doGet(request,response);
......
}
添加回答
舉報