package servlet; import java.io.IOException; import javax.servlet.ServletException; 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 bean.Utente; import service.UtenteService; /** * Servlet implementation class ServletUtente */ @WebServlet("/utente-servlet") public class UtenteServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 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 { // Leggo il parametro azione String azione = request.getParameter("azione"); // Registrazione if (azione.equals("registrazione")) { // Leggo i parametri nickname, nome, cognome, email, numero, password String nickname = request.getParameter("nickname"); String password = request.getParameter("password"); // Invoco il metodo registrazione boolean ok = UtenteService.registrazione(nickname, password, "utente"); // Se tutto ok, inviare con un messaggio di conferma la risposta a login.jsp if (ok) { String messaggio = "Registrazione effettuata, ora procedi con la login"; request.setAttribute("messaggio", messaggio); request.getRequestDispatcher("index.jsp").forward(request, response); } else { // Altrimenti, inviare con un messaggio di errore la risposta a // registrazione.jsp String messaggio = "Registrazione fallita, il nickname non è disponinibile, ritenta"; request.setAttribute("messaggio", messaggio); request.getRequestDispatcher("index.jsp").forward(request, response); } } else if (azione.equals("login")) { // Login // Leggo i parametri nickname e password String nickname = request.getParameter("nickname"); String password = request.getParameter("password"); // Chiamo il metodo login Utente loggato = UtenteService.login(nickname, password); // Se tutto ok, link a index.jsp if (loggato != null) { //Ottengo l'oggetto Session HttpSession sessione = request.getSession(false); //Setto come attributo di sessione l'utente e la sua lista dei preferiti vuota if(sessione != null) { sessione.setAttribute("utente", loggato); } if(loggato.getRuolo().equals("utente")) { response.sendRedirect("cerca-aggiungi.jsp"); }else { response.sendRedirect("elenco-ordini.jsp"); } } else {// Altrimenti, link a login.jsp con un messaggio di errore String messaggio = "Login fallita, ritenta"; request.setAttribute("messaggio", messaggio); request.getRequestDispatcher("index.jsp").forward(request, response); } }else if(azione.equals("logout")) { //Logout //Chiudo la sessione HttpSession sessione = request.getSession(false); if(sessione != null) { sessione.invalidate(); } //Link alla login.jsp response.sendRedirect("index.jsp"); } } }