Stavo imparando JSP dove ho creato uno login.jsp
e register.jsp
. Una volta inviato il modulo nella pagina di registrazione, sto inviando tutti i valori in RegisterUser.java (SERVLET)
e recuperando dopost in scrittura su DB. Ora ho bisogno di inviare un altro modulo in login.jsp
allo stesso servlet RegisterUser.java (SERVLET)
. Come creare più dopost
in servlet. Se creato come verrà identificato il servlet. Per favore, dammi la spiegazione in dettaglio. Grazie in anticipo.Invio di due o più moduli allo stesso servlet in JSP
risposta
Vedere un servlet può avere solo un metodo doPost
. Adesso sta a te decidere quale modulo è stato presentato. Puoi avere un campo nascosto con lo stesso nome ma valori diversi in forme diverse e nel metodo doPost
che puoi capire usando questo valore.
String hiddenParam=request.getParameter("Parameter-Name")
if(hiddenParam.equals("value1"){
//form 1 was posted
}else if(hiddenParam.equals("value2"){
//form 2 was posted
}
In realtà, se si utilizza Java 7
si può avere switch
di String
per accorciare il codice
switch(hiddenParam){
case "value1":
//form 1 was posted
break;
case "value2":
//form 2 was posted
break;
}
Super è bello !!! –
Felice di aiutare :). – kaysush
create a field
in login form
<input type="hidden" name="pageName" values="login"/>
in register form
<input type="hidden" name="pageName" values="register"/>
now in your servlet dopost method
check
if(request.getParameter("pageName").equals("login"))
{
// do login code here
}
if(request.getParameter("pageName").equals("register"))
{
// do register code here
}
+1 Grazie per il tuo impegno. Anche se funziona bene, adoro il modo in cui Mr.SuKu ha pubblicato la risposta. –
:) :) :), in realtà è lo stesso approccio per passare un parametro con il nome del modulo, piacere se aiuta –
Credo che tu sia po 'confuso su 'metodo POST'. Puoi avere qualsiasi numero di form 'POST'ing sullo stesso' servlet' senza alcuna modifica. – kaysush
Quindi come il servlet identificherà questo da quale modulo invio. In due forme posso avere lo stesso nome per txtbox rit? –