Advertisement
Guest User

login.java

a guest
May 3rd, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.79 KB | None | 0 0
  1. package amm.milestone3.servlet;
  2.  
  3. import amm.milestone3.classi.User;
  4. import amm.milestone3.classi.SellerUser;
  5. import amm.milestone3.classi.CustomerUser;
  6. import amm.milestone3.classi.ObjectFactory;
  7. import amm.milestone3.classi.ObjectSale;
  8. import amm.milestone3.classi.UserFactory;
  9.  
  10. import java.util.ArrayList;
  11. import java.io.IOException;
  12. import javax.servlet.ServletException;
  13. import javax.servlet.annotation.WebServlet;
  14. import javax.servlet.http.HttpSession;
  15. import javax.servlet.http.HttpServlet;
  16. import javax.servlet.http.HttpServletRequest;
  17. import javax.servlet.http.HttpServletResponse;
  18.  
  19. /**
  20.  *
  21.  * @author Riccardo Balia 65106
  22.  */
  23. @WebServlet(name = "Login", urlPatterns = {"/login.html"})
  24. public class Login extends HttpServlet {
  25.  
  26.     /**
  27.      * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
  28.      * methods.
  29.      *
  30.      * @param request servlet request
  31.      * @param response servlet response
  32.      * @throws ServletException if a servlet-specific error occurs
  33.      * @throws IOException if an I/O error occurs
  34.      */
  35.     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  36.             throws ServletException, IOException {
  37.         response.setContentType("text/html;charset=UTF-8");
  38.    
  39.         //CREAZIONE SESSIONE
  40.         HttpSession session = request.getSession(true);
  41.        
  42.         //Se non sono loggato:
  43.         if(session==null || session.getAttribute("loggedIn") == null || session.getAttribute("loggedIn").equals(false))
  44.         {
  45.             //LOGIN
  46.             if(request.getParameter("Submit") != null)
  47.             {
  48.                 // Preleva i dati inviati - si basa sul name in HTML
  49.                 String username = request.getParameter("Username");
  50.                 String password = request.getParameter("Password");
  51.  
  52.  
  53.                 ArrayList<User> userList = UserFactory.getInstance().getUserList();
  54.  
  55.  
  56.                 for(User u : userList)
  57.                 {
  58.                     //LOGIN CORRETTO
  59.                     if(u.getUsername().equals(username) && u.getPassword().equals(password ))
  60.                     {
  61.                         //Utente autenticato
  62.                         session.setAttribute("loggedIn", true);
  63.                        
  64.                         //session.setAttribute("id", u.getId());
  65.  
  66.                         if(u instanceof SellerUser)
  67.                         {
  68.                             session.setAttribute("Seller", u);
  69.                             session.setAttribute("loggedAsSeller", true);
  70.                             request.getRequestDispatcher("venditore.jsp").forward(request, response);
  71.                         }
  72.                         else
  73.                             if(u instanceof CustomerUser)
  74.                             {
  75.                                 //Passo i dati per la visualizzazione degli oggetti in vendita (Il primo passaggio da login a cliente non li visualizza)
  76.                                 request.setAttribute("objectLighter", ObjectFactory.getInstance().getObjectListByCategory("lighters"));
  77.                                 request.setAttribute("objectAccessories", ObjectFactory.getInstance().getObjectListByCategory("accessories"));
  78.                                
  79.                                 session.setAttribute("Customer", u);
  80.                                 session.setAttribute("loggedAsCustomer", true);
  81.                                 request.getRequestDispatcher("cliente.jsp").forward(request, response);  
  82.                             }                    
  83.                     }
  84.                     //UTENTE NON TROVATO
  85.                     if(!u.getUsername().equals(username) && !u.getPassword().equals(password))
  86.                         request.setAttribute("messaggio", "Credenziali non valide");
  87.  
  88.                     //NESSUN INPUT
  89.                      if("".equals(username) && "".equals(password))
  90.                         request.setAttribute("messaggio", "Inserire delle credenziali");
  91.                 }
  92.             }
  93.         }
  94.         //Se sono loggato:
  95.         else
  96.         {
  97.             request.setAttribute("messaggioLogin", "Hai già effetuato il login!</br>Vuoi uscire?");
  98.            
  99.             //LOGOUT
  100.             if(request.getParameter("SubmitLogout") != null)
  101.             {
  102.             session.setAttribute("loggedIn", false);
  103.             session.invalidate();
  104.             }
  105.         }
  106.         request.getRequestDispatcher("login.jsp").forward(request, response);
  107.        
  108.     }
  109.  
  110.     // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
  111.     /**
  112.      * Handles the HTTP <code>GET</code> method.
  113.      *
  114.      * @param request servlet request
  115.      * @param response servlet response
  116.      * @throws ServletException if a servlet-specific error occurs
  117.      * @throws IOException if an I/O error occurs
  118.      */
  119.     @Override
  120.     protected void doGet(HttpServletRequest request, HttpServletResponse response)
  121.             throws ServletException, IOException {
  122.         processRequest(request, response);
  123.     }
  124.  
  125.     /**
  126.      * Handles the HTTP <code>POST</code> method.
  127.      *
  128.      * @param request servlet request
  129.      * @param response servlet response
  130.      * @throws ServletException if a servlet-specific error occurs
  131.      * @throws IOException if an I/O error occurs
  132.      */
  133.     @Override
  134.     protected void doPost(HttpServletRequest request, HttpServletResponse response)
  135.             throws ServletException, IOException {
  136.         processRequest(request, response);
  137.     }
  138.  
  139.     /**
  140.      * Returns a short description of the servlet.
  141.      *
  142.      * @return a String containing servlet description
  143.      */
  144.     @Override
  145.     public String getServletInfo() {
  146.         return "Short description";
  147.     }// </editor-fold>
  148.  
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement