Foros del Web » Creando para Internet » Diseño web »

Ayuda con login en richfaces

Estas en el tema de Ayuda con login en richfaces en el foro de Diseño web en Foros del Web. Buen día a todos....... Estoy experimentando con lo que es EJB3, con eclipse, richfaces, glassfish v3 y mysql. El asunto es que quiero hacer un ...
  #1 (permalink)  
Antiguo 20/07/2010, 18:02
Avatar de chicocuas  
Fecha de Ingreso: septiembre-2009
Mensajes: 4
Antigüedad: 8 años, 3 meses
Puntos: 0
Ayuda con login en richfaces

Buen día a todos.......
Estoy experimentando con lo que es EJB3, con eclipse, richfaces, glassfish v3 y mysql.
El asunto es que quiero hacer un login, pero cuando lo pongo a correr como que no me hace la consulta a la base de datos....porfa ayuda con esto.

Quiero que se vaya del jsp de login a solicitados.

login.jsp
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>

<head>
<title>login</title>
</head>

<f:view>
<f:loadBundle var="msjLogin" basename="com.jc.backingbeans.recursos"/>
<h:form>
<center>
<rich:panel id="pnlogin" style="height:100px;width: 600px;">
<h:panelGrid columns="3" id="pnglogin">
<h:outputLabel id="lblUser" value="#{msjLogin.user}"/>
<h:inputText id="intUser" value="#{loginbean.user}" required="true"/>
<rich:message id="msj" for="intUser" style="color:Red;font-size:small;font-family:Arial;"/>
<h:outputLabel id="lblPsw" value="#{msjLogin.contrasenia}"/>
<h:inputSecret id="insPsw" value="#{loginbean.contrasenia}" required="true"/>
<rich:message id="msjP" for="insPsw" style="color:Red;font-size:small;font-family:Arial;"/>
<h:column></h:column>
<h:commandButton id="cbtnIngresar" value="#{msjLogin.ingresar}" action="#{loginbean.ingresar}"/>
</h:panelGrid>
</rich:panel>
</center>
</h:form>
</f:view>


solicitados.jsp
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j" %>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>

<head>
<title>solicitado</title>
</head>

<f:view>
<center>
<h:form>
<rich:panel id="pnlSolicitado" style="height:100px;width: 400px;">
<h:outputLabel>HOLA A TODOS</h:outputLabel>
</rich:panel>
<rich:panel id="pnlCS" style="height:100px;width: 400px;">
<a4j:commandLink id="clnkCSesion" value="Cerrar Sesión" action="#{loginbean.logout}"/>
</rich:panel>
</h:form>
</center>
</f:view>

el backingbean es el siguiente:

LoginBean.java

package com.jc.backingbeans;

import javax.ejb.EJB;
//import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import javax.validation.constraints.NotNull;

import com.jc.entitybeans.Rol;
import com.jc.sessionbeans.IAdminLogin;

public class Loginbean {

@EJB(beanName="adminLogin")
private IAdminLogin controlador;

@NotNull (message="Complete correctamente")
private String user;
@NotNull (message="Complete correctamente")
private String contrasenia;

private Rol rol;

public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getContrasenia() {
return contrasenia;
}
public void setContrasenia(String contrasenia) {
this.contrasenia = contrasenia;
}
public String ingresar(){
//aca es la acción del botón ingresar que no se como ponerla.....
}

public String limpiar(){
setUser("");
setContrasenia("");
return null;
}

public String logout(){
FacesContext context = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) context.getExternalContext().getSession(true);
if(session==null){
return "invalid";
}
else{
session.invalidate();
return "login";
}
}

}

Los entityBean
Usuario.java
package com.jc.entitybeans;

import java.io.Serializable;
import javax.persistence.*;


/**
* The persistent class for the usuario database table.
*/
@Entity
@Table(name="usuario")
public class Usuario implements Serializable {
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="CI")
private String ci;

@Column(name="APELLIDO")
private String apellido;

@Column(name="CARGOSOLICITANTE")
private String cargosolicitante;

@Column(name="CONTRASENIA")
private String contrasenia;

@Column(name="CORREO")
private String correo;

@Column(name="DIRECCION")
private String direccion;

@Column(name="ID_SUCURSAL")
private String idSucursal;

@Column(name="NOMBRE")
private String nombre;

@Column(name="TELEFONO")
private String telefono;

@Column(name="USER")
private String user;

//bi-directional many-to-one association to Rol
@ManyToOne
@JoinColumn(name="IDROL")
private Rol rol;

public Usuario() {
}

public String getCi() {
return this.ci;
}

public void setCi(String ci) {
this.ci = ci;
}

public String getApellido() {
return this.apellido;
}

public void setApellido(String apellido) {
this.apellido = apellido;
}

public String getCargosolicitante() {
return this.cargosolicitante;
}

public void setCargosolicitante(String cargosolicitante) {
this.cargosolicitante = cargosolicitante;
}

public String getContrasenia() {
return this.contrasenia;
}

public void setContrasenia(String contrasenia) {
this.contrasenia = contrasenia;
}

public String getCorreo() {
return this.correo;
}

public void setCorreo(String correo) {
this.correo = correo;
}

public String getDireccion() {
return this.direccion;
}

public void setDireccion(String direccion) {
this.direccion = direccion;
}

public String getIdSucursal() {
return this.idSucursal;
}

public void setIdSucursal(String idSucursal) {
this.idSucursal = idSucursal;
}

public String getNombre() {
return this.nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

public String getTelefono() {
return this.telefono;
}

public void setTelefono(String telefono) {
this.telefono = telefono;
}

public String getUser() {
return this.user;
}

public void setUser(String user) {
this.user = user;
}

public Rol getRol() {
return this.rol;
}

public void setRol(Rol rol) {
this.rol = rol;
}

}

Rol.java
package com.jc.entitybeans;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Set;


/**
* The persistent class for the rol database table.
*
*/
@Entity
@Table(name="rol")
public class Rol implements Serializable {
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="IDROL")
private int idrol;

@Column(name="DESCROL")
private String descrol;

@Column(name="NOMBREROL")
private String nombrerol;

//bi-directional many-to-one association to Usuario
@OneToMany(mappedBy="rol")
private Set<Usuario> usuarios;

public Rol() {
}

public int getIdrol() {
return this.idrol;
}

public void setIdrol(int idrol) {
this.idrol = idrol;
}

public String getDescrol() {
return this.descrol;
}

public void setDescrol(String descrol) {
this.descrol = descrol;
}

public String getNombrerol() {
return this.nombrerol;
}

public void setNombrerol(String nombrerol) {
this.nombrerol = nombrerol;
}

public Set<Usuario> getUsuarios() {
return this.usuarios;
}

public void setUsuarios(Set<Usuario> usuarios) {
this.usuarios = usuarios;
}

}

y por último los session.
Interfaz:IAdminLogin.java

package com.jc.sessionbeans;

import javax.ejb.Local;
import com.jc.entitybeans.Rol;

@Local
public interface IAdminLogin {

String ingresar(String user, String contrasenia, Rol rol);
}
}

AdminLoginImpl.java
package com.jc.sessionbeans;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceException;
import javax.persistence.Query;

import com.jc.entitybeans.Rol;
import com.jc.entitybeans.Usuario;

@Stateless(name="adminLogin")
public class AdminLoginImpl implements IAdminLogin{

@PersistenceContext(unitName="t2")
private EntityManager manejador;

//ResultSet res;
@Override
public String ingresar(String user, String contrasenia, Rol rol) {
String rstg = "solicitudes";
String rst = "solicitado";
try{
Query qu = manejador.createQuery("SELECT u FROM Usuario u where u.user like ?1 and u.contrasenia like ?2");
qu.setParameter(1, user.trim().toLowerCase());
qu.setParameter(2, contrasenia.trim().toLowerCase());
Usuario usuRec = (Usuario)qu.getSingleResult();
//aca se verifica que no sea nulo y devuelve lo que tiene que devolver
if(usuRec==null){
System.out.println("usuario o contraseña inválidos");
return null; //no encontrado
}else if (usuRec!=null && qu.getParameter("rol").toString().equals("2")) {
return rstg;//jsp de solicitudes
}else if(usuRec!=null && qu.getParameter("rol").toString().equals("1")){
return rst;//jsp de solicitado
}
}catch(PersistenceException e){
e.printStackTrace();
}
return null;
}

}



Por fa amigos de la comunidad....diganme que es lo q esta mal......gracias!!!

Etiquetas: login, richfaces
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:58.