Package servlet

Source Code of servlet.LoginServlet

package servlet;

import java.io.IOException;

import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
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 org.hibernate.Hibernate;
import org.hibernate.Session;

import jpautil.JpaFilter;

import model.Client;

/**
* Servlet implementation class LoginServlet
*/
@WebServlet({ "/LoginServlet", "/login.do" })
public class LoginServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;
      
    /**
     * @see HttpServlet#HttpServlet()
     */
    public LoginServlet() {
        super();
    }

  /**
   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    /*
     * R�cup�ration de l'entity manager
     */
    EntityManager hsession = JpaFilter.getEntityManager();
   
    /*
     * Obtention du param�tre de requ�te 'login'
     */
    String login = request.getParameter("login");
    String password = request.getParameter("password");
   
    /*
     * R�cup�ration de la session HTTP pour enregistrement du client
     */
    HttpSession session = request.getSession();
   
    /*
     * Action = connect : un utilisateur veut s'identifier
     * Recherche du login/mdp pr�cis� dans la BDD
     */
    if(request.getParameter("action") != null && request.getParameter("action").equals("connect")){
      try{
        /*
         * construction et execution de la requ�te de recherche de l'utilisateur avec les param�tres pass�s
         */
        Client client = (Client) hsession.createQuery("from model.Client where login = :login and password = :password").setParameter("login", login).setParameter("password", password).getSingleResult();
        /*
         * Si un utilisateur a �t� trouv�, on l'enregistre dans la session HTTP
         */
        session.setAttribute("user", client);

        /*
         * puis on redirige l'utilisateur vers l'accueil
         */
        getServletContext().getRequestDispatcher("/accueil.jsp").forward(request, response);
       
      }catch(NoResultException e){
        /*
         * Si login/mdp non-trouv� : on affiche un message en levant une exception
         */
        request.setAttribute("loginMessage", "login.notFound");
        getServletContext().getRequestDispatcher("/accueil.jsp").forward(request, response);
      }
     
    }
    /*
     * Action = disco : un utilisateur veut se d�connecter
     */
    if(request.getParameter("action") != null && request.getParameter("action").equals("disco")){
      /*
       * Si l'action vaut se deconnecter, on supprime l'attribut user de la session HTTP
       */
      session.removeAttribute("user");
      /*
       * on redirige ensuite vers la page d'accueil
       */
      getServletContext().getRequestDispatcher("/accueil.jsp").forward(request, response);
    }
   
   
  }

  /**
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
  }

}
TOP

Related Classes of servlet.LoginServlet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.