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:
codice:
Form d'inserimento username e passwordForm Inserimento Username / Password    Inserisci il tuo username:             
Inserisci la tua password:     
Accedi comeUtenteAmministratore
E per completezza la Servlet è (in logica vecchio form):
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;        }    }}
Quello 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à!