⑴ jsp與servlet怎麼讓a標記調用doPost方法
倆個解決方案
一.在客戶端解決:在頁面用javascript技術.上邊的都有.
二.在伺服器端解決:在doGet()方法里調用doPost()方法
doGet(HttpRequest request,HttpResponse response){
doPost(request,response);
}
doPost(HttpRequest request,HttpResponse response){
}
...額...你小子都看看書就知道了嘛..
post方式提交,我所會客戶端方法只有倆個:
1.ajax
2.用form表單提交
遇到你這種情況 我一般採取伺服器解決的方案或者ajax.
⑵ serverlet中什麼時候調用doget和dopost方法
看你用什麼方式發送請求,用get方式發送請求,就會調用doGet方法,用post方式發送請求就會調用doPost方法,直接通過URL訪問的屬於get方式發送請求,表單提交的時候<form action="servlet" method="post"></form> 這里method=「post」就是post方式提交,默認為get
Ajax發送請求的時候也會指定用什麼方式。
⑶ servlet中的doGet()與doPost()是怎
servlet中的doGet()與doPost()工作的方式如下:
1.doGet
GET調用用於獲取伺服器信息,並將其做為響應返回給客戶端。當經由Web瀏覽器或通過HTML、JSP直接訪問Servlet的URL時,一般用GET調用。GET調用在URL里顯示正傳送給SERVLET的數據,這在系統的安全方面可能帶來一些問題,比如用戶登錄,表單里的用戶名和密碼需要發送到伺服器端,若使用Get調用,就會在瀏覽器的URL中顯示用戶名和密碼。
例:
jsp頁代碼:
………
………
servlet代碼:
public class doGet_servlet extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException {
request.setCaracterEncoding(「gb2312」);//漢字轉碼
PrintWriter out = response.getWriter();
out.println("The Parameter are :"+request.getParameter("name1"));
}
}
這樣提交表單後,參數會自動添加到瀏覽器地址欄中,帶來安全性問題。同時,get適合於發送少量數據。
2.doPost
它用於客戶端把數據傳送到伺服器端,也會有副作用。但好處是可以隱藏傳送給伺服器的任何數據。Post適合發送大量的數據。
例:
jsp頁代碼:
………
………
servlet代碼:
public class doPostt_servlet extends HttpServlet {
public void doPost(HttpServletRequest request,HttpServletResponse esponse) throws IOException,ServletException {
request.setCaracterEncoding(「gb2312」);//漢字轉碼
PrintWriter out = response.getWriter();
out.println("The Parameter are :"+request.getParameter("name2"));
}
}
3.可以把方法寫在doGet()方法中,在doPost()方法中調用執行,這樣,無論你提交的是post還是get方法都可以執行
例如:
jsp頁代碼:
………
………
servlet代碼:
public class servlet extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException {
request.setCaracterEncoding(「gb2312」);//漢字轉碼
PrintWriter out = response.getWriter();
out.println("The Parameter are :"+request.getParameter("name1"));
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException {
this.goGet(request,response);//調用doGet()方法
}
}
另外,HttpServlet處理客戶端請求方式還有doPut、doDelete、doTrace、doHead、doOptions,但使用的比較少。
⑷ 1、什麼情況下調用doGet()和doPost()
1.doGet和doPost的區別,在什麼時候調用,為什麼有時doPost中套用doGet
2.提交的form method=Post就執行DOPOST,否則執行GOGET 套用是不管method是post還是get都執行dopost方法
3.get:你可以通過URL傳參數。
4.你的表單提交都有方法的,如果提交為get就調用get方法,用post就調用post方法. get顯示你傳過去的參數,post則不顯示.
5.通常的寫法:先用doGet(),然後在doPost()中調用doGet(),這樣就萬無一失了,當然也可以反過來調用。你的servlet如果是繼承自HttpServlet,就必須重寫它裡面的兩 個虛方法doGet和doPost,也就是說,先不管別的servlet或jsp會去調用哪個方法,這兩個方法都應該有。 <form action="myServlet" method="get" > method屬性的值是get,它就去調用對應servlet的doGet方法。 同理,method屬性的值是get,它就去調用對應servlet的doPost方法。
6.還有一點:get和post提交的數據量是不一樣的. get最多隻能在url後跟255個字元 post沒這個限制,在一個方法裡面調用另一個方法」只能在一個方法里邊去調用另一個,例如doGet中調用doPost(或相反)而不能相互調用,否則形成死循環。
7、service()方法是由伺服器自動調用的,而init()方法是由service()方法幫助調用進行初始化工作的。
8、servlet的整個生命周期中只產生一個對象,在第一次請求的時候被初始化(只一遍),初始化後先調用init方法(只一遍),每個請求,調用一遍service--service--doGet/doPost,然後調用destroy方法卸載,生命周期結束。
⑸ java servlet工程中,js發送ajax請求,調用doPost方法,回調函數中怎麼獲取doPost方法反回的值
ajax中不是提供了success:function(retdata){}的回調函數嗎,其中retdata就是你需要的返回數據
⑹ HttpClient 的Post 請求,伺服器端的doPost方法怎麼獲取數據
服務端和普通的servlet獲得數據沒有區別,就是通過request.getParameter()等API獲得數據.
要知道: 服務端的代碼與你是通過HttpClient請求還是瀏覽器請求都沒有聯系!
⑺ 要在Servlet的doPost裡面訪問資料庫,doPost的異常拋出怎麼寫
servlet中的
dopost()
或
doget()
只是servlet生命周期里的一種方法而已,主要是用來處理從表單獲取的數據或值,如果你的表單里的值是通過post方式傳送的那麼你處理的時候就調用dopost()方法,反之,如果你的值是通過get方式傳送,那麼就調用doget()方法處理(用某一方式處理的時候,記得在另外的那個方法里寫調用這個方法的語句)。
⑻ servlet中如果頁面既有get又有post請求怎樣用doget,dopost方法最好有一個小案例
額這個>.....
其實method的get和post方法的功能是一樣的,都是將表單form中的元素傳遞給servlet進行處理。
相對應的,servlet獲取數據時需要調用doget和dopost方法,或者service方法。
而在我們編程序時,把功能性代碼放入一個方法內,例如放入doget內,在dopost內只需要寫一句,調用doget的方法則可。doget(request,response);
由於兩種方法實現的方式與功能一樣,所以相同的代碼只需要寫入一個方法內則可。
⑼ 關於jsp的dopost方法什麼時候調用
要看用什麼方式發送請求,提交的form的method為get或是post
用get方式發送請求,就會調用doGet方法
用post方式發送請求就會調用doPost方法
直接通過URL訪問的屬於get方式發送請求,表單提交的時候<form action="servlet" method="post"></form> 這里method=「post」就是post方式提交,默認為get
⑽ servlet中為什麼doget要調用dopost默認調用哪個默認都調用
doget調用dopost或者dopost調用doget一般是在教科書或者不需要區分get還是post方法調用的場合下使用。
沒有默認調用哪個的說法,http訪問請求的兩種方式get和post,你使用那種方式請求,servlet就會用對應的方法來處理你的請求。
你用get方式請求,那麼servlet就會執行doget方法,反之,你用post方式請求,servlet就會執行都post方法。