Récupération des attributs d'une table et session

Fermé
drakerz - 11 déc. 2014 à 21:51
issemgane Messages postés 32 Date d'inscription lundi 15 décembre 2014 Statut Membre Dernière intervention 23 décembre 2014 - 17 déc. 2014 à 00:23
Bonsoir à tous !

J'ai créé un DAO et une servlet pour me loger depuis ma base de donnée.
Puis je met l'attribut username dans une session.

Cela fonctionne très bien ! Maintenant j'aimerai récupérer l'attribut "admin" correspond à l'utilisateur que je suis entrain de loger et mettre également cette attribut dans ma session.

Le problème c'est que mon attribut "admin" reste NULL ( je l'affiche dans la console)
pouvez vous m'aider ?

Voici mes codes : JPA et servlet

package com.supmessaging.servlet;

import java.io.IOException;

import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
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 com.supmessaging.dao.UserDao;

@WebServlet(urlPatterns="/Login")
public class Login extends HttpServlet {
private static final long serialVersionUID = 1L;
public EntityManagerFactory emf = null;

public Login() {
super();
}

public void init(ServletConfig config) throws ServletException {
emf = Persistence.createEntityManagerFactory("PU");
}

public void destroy() {
emf.close();
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username = req.getParameter("username");
String password = req.getParameter("password");
String admin = req.getParameter("admin");

UserDao userdao = new UserDao();
userdao.loginUser(username,password,admin);

if (userdao.loginUser(username, password, admin))
{
HttpSession session = req.getSession();
session.setAttribute("username", username);
session.setAttribute("admin", admin);
req.getRequestDispatcher("/index.jsp").forward(req, resp);
}
else{

resp.sendRedirect(req.getContextPath() + "/Login");
}

//req.setAttribute(username, password);
System.out.println("Le user et password dans login : " + username + " et " + password + "et" + admin );

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
RequestDispatcher rd = request.getRequestDispatcher("/login.jsp");
rd.forward(request, response);
}
}



package com.supmessaging.dao;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.NoResultException;
import javax.persistence.Persistence;
import javax.persistence.Query;

import org.omg.CORBA.UnknownUserException;

import com.supinfo.sun.supcommerce.exception.UnknownProductException;
import com.supmessaging.entity.User;

public class UserDao {
public Boolean loginUser(String username, String password, String admin){
Boolean loginSuccess = null;
EntityManagerFactory emf = Persistence.createEntityManagerFactory("PU");
EntityManager em = emf.createEntityManager();

Query myQuery = em.createQuery("SELECT p FROM User AS p WHERE p.username = '" + username + "' AND p.password = '" + password + "'");

Query q = em.createQuery("SELECT admin FROM User WHERE username = :us");
q.setParameter("us", username);

List<User> users = (List<User>)myQuery.getResultList();
System.out.println(users);
if(!users.isEmpty())
{
loginSuccess = true;
System.out.println(loginSuccess);

}
else {
loginSuccess = false;
System.out.println(loginSuccess);

}

em.close();
emf.close();
return loginSuccess;

}

1 réponse

issemgane Messages postés 32 Date d'inscription lundi 15 décembre 2014 Statut Membre Dernière intervention 23 décembre 2014 5
17 déc. 2014 à 00:23
Salut, je pense que c'est normal puisque la méthode loginUser() ne retourne aucun valeur pour l'attribut Admin, alors au niveau du servlet, l'attribut admin garde la valeur de (getParameter(), si vous avez d'autre explications, vous pouvez les poser , pour que je puisse comprendre votre probléme.
0