|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2013
Messaggi: 42
|
[JAVA] Chiarimento su Servlet
Ciao a tutti.
Come da titolo, avrei bisogno di un chiarimento sull'utilizzo delle servlet. Vi espongo il problema. In pratica ho la mia pagina html in cui sono presenti due form differenti. Il submit di tali form "attiva" delle chiamate Ajax: Codice:
function on_login() {
$.ajax({
url: '/login',
method: 'post',
success: on_login_success,
error: on_login_error,
data: {
nickname: $("#nickname_login").val(),
password: $("#password_login").val(),
},
});
return false;
}
Codice:
function on_register() {
$.ajax({
url: '/register',
method: 'post',
success: on_register_success,
error: on_register_error,
data: {
nickname: $("#nickname_reg").val(),
password: $("#password_reg").val(),
re_password: $("#re_password_reg").val(),
mail: $("#mail_reg").value(),
},
});
return false;
}
Questa Servlet come la dovrei mappare nel file web.xml? Una cosa del tipo: Codice:
<servlet>
<servlet-name>IndexServlet</servlet-name>
<servlet-class>IndexServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>IndexServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Chiaramente in seguito all'interno della Servlet vorrei andare a vedere se ho inviato /login piuttosto che /register per avviare poi il metodo opportuno. Come posso fare tutto ciò? Ringrazio in anticipo chiunque abbia voglia di perdere qualche minuto per aiutarmi. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Il server richiama solo determinati metodi della servlet, puoi trovare l'elenco completo in rete, ne cito i più comuni: service, goGet e doPost.
Volendo puoi mappare ogni url ad una servlet distinta, oppure più url sulla stessa servlet aggiungendo altri oggetti servlet-mapping nel web.xml, che è ciò che vorresti fare. Se utilizzi la seconda strada che ti sconsiglio vivamente, in uno dei metodi suddetti puoi usare HttpServletRequest.getServletPath() per capire con quale url è arrivata la richiesta è chiamare on_login o on_register. Te lo sconsiglio perché facendo in questo modo vai a cablare gli url nella servlet rendendo inutile e oscuro il servlet-mapping. Questa tecnica può essere comunque adeguata spostando in un file esterno la mappatura url->metodo, che è ciò che fanno alcuni framework come struts. In pratica si mappano tutti gli url (utilizzando una wildcard) su una servlet predefinita che legge un file di configurazione (es. struts-config.xml) nel quale ogni url è mappato su un metodo (scelto da te) di una classe (scelta da te). |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:45.



















