Buongiorno a tutti,premetto che ho cominciato veramente da poco ad utilizzare Ajax. Passo a descrivere quale è il mio problema: ho un form (banale e statico) dal quale invocavo una servlet e a cui passavo le valorizzazioni degli input fatte dall'utente. Adesso vorrei un pò spostarmi con le conoscenze ed applicare a tutto questo il framework Ajax. A tal proposito ho provato a fare qualcosa del genere:Pagina del form:E per completezza la Servlet è (in logica vecchio form):codice:Form d'inserimento username e passwordForm Inserimento Username / Password Inserisci il tuo username: Inserisci la tua password: Accedi comeUtenteAmministratoreQuello che vorrei fare (in parte pensavo di averlo fatto con il codice inserito nella pagina d'inserimento) è: una volta che l'utente immette i dovuti campi e sceglie il ruolo (in precedenza tali credenziali, compreso il ruolo, sono state decise da un admin superiore) avere per intanto un messaggio di corretto/incorretto login. Dopo avere: nel primo caso un dispatcher alla pagina dell'utenza con messaggio di OK, nel secondo caso avere solo un messaggio di errore.Provando il codice postato la visualizzazione è ferma alla pagina d'inserimento (la prima). Prima, caso di form statico (senza ajax), ovviamente il tutto funzionava. So che la Servlet non dovrebbe più contenere i vari dispatcher alle pagine di messaggi di corretto/incorretto login, ma come posso fare? O dove sto sbagliando?Grazie a chi si interesserà!codice:package servlet;import dataAccessObject.*;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.GregorianCalendar;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import dbmUtility.*;import entity.*;/** * Servlet implementation class UserController */@WebServlet(urlPatterns = { "/UserController" })public class UserController extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public UserController() { super(); } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.getWriter().append("Served at: ").append(request.getContextPath()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(true); try { // Recupero i campi del form String username = request.getParameter("username"); String password = request.getParameter("password"); int roletype = Integer.parseInt(request.getParameter("usertype")); // Se sono stati compilati tutti i campi if (username.equals("") || password.equals("")) { // Reinderizzo alla pagina di mancata compilazione di tutti i // campi this.getServletContext().getRequestDispatcher("/loginErrorCampiVuoti.jsp").forward(request, response); return; } // Pagina Amministratore if (username.equals("admin") && (password.equals("admin")) && (roletype == 1)) { session.setAttribute("admin", "admin"); this.getServletContext().getRequestDispatcher("/adminIndex.jsp").forward(request, response); return; } if ((!username.equals("")) && (!password.equals(""))) { UserDao dao= new UserDao(); //Mi faccio tornare il ruolo dell'Utente int ruolo=dao.getUserRoleByUsernamePassword(username, password,roletype); if (ruolo==0) { String id =dao.getUserIdByUsernamePassword(username, password); if(dao.getDeletedByUsernamePassword(username, password, ruolo)==1){ this.getServletContext().getRequestDispatcher("/userDeletedNoAccess.jsp").forward(request, response); return; } else //Setto la sessione dell'Utente calcolando il suo orario di accesso session.setAttribute("utente", id); GregorianCalendar data=new GregorianCalendar(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); String accesso =sdf.format( data.getTime()); dao.setUltimoAccessoUser(id, accesso ); this.getServletContext().getRequestDispatcher("/userIndex.jsp").forward(request, response); return; } if (ruolo==1) { this.getServletContext().getRequestDispatcher("/adminIndex.jsp").forward(request, response); return; } else { this.getServletContext().getRequestDispatcher("/loginErrorNessunUtente.jsp").forward(request, response); return; } } } catch (Exception e) { e.printStackTrace(); this.getServletContext().getRequestDispatcher("/error.jsp").forward(request, response); return; } }}