109 lines
3.4 KiB
Java
109 lines
3.4 KiB
Java
|
|
|||
|
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 <20> 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");
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|