Download login con jsf - WordPress.com

Document related concepts
no text concepts found
Transcript
LOGIN CON JSF
Vamos a hacer un login sencillo con JSF que valide el acceso de un usuario, con los datos de acceso
dentro del código, evidentemente no es la forma mas óptima pero para iniciar con el conocimiento de
JSF es funcional.
Vamos a crear 4 archivos:
index.xhtml
acceso.xhtml
mbLogin.java
mbSession.java
A CONTINUACION LOS PANTALLAZOS
Pantalla inicial
Acceso denegado
Acceso permitido
Usuario: poli
Password: 1234
Sesión cerrada
A continuación la codificación de cada archivo:
Index.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"
>
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
POLITECNICO INTERNACIONAL
<section class="contenedorLogin">
<h:form class="formulario">
<h2>Acceso de Usuario</h2>
<p>Rellene el siguiente formulario para ingresar al sistema (Simulación)</p>
<p><h:inputText pt:placeholder="Usuario" value="#{mbLogin.usuario}" /></p>
<p><h:inputSecret pt:placeholder="Contraseña" value="#{mbLogin.contrasenia}" /></p>
<section class="seccionBotones">
<h:commandButton value="Ingresar" action="#{mbLogin.login()}" />
</section>
</h:form>
</section>
</h:body>
</html>
Acceso.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
POLITECNICO INTERNACIONAL
<h:messages infoStyle="color: blue;list-style:none;"/>
<h:outputLabel value="Ingreso con el usuario: "/>
<h:outputText value="#{mbSession.usuario}"/>
<h:form>
<h:commandButton value="er" action="#{mbSession.cerrarSession()}"/>
</h:form>
</h:body>
</html>
mbLogin.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
import java.io.Serializable;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
@ManagedBean
/**
*
* @author eduar_000
*/
public class MbLogin implements Serializable{
private String usuario;
private String contrasenia;
private final FacesContext faceContext;
private FacesMessage facesMessage;
private final HttpServletRequest httpServletRequest;
public MbLogin()
{
faceContext=FacesContext.getCurrentInstance();
httpServletRequest=(HttpServletRequest)faceContext.getExternalContext().getRequest();
}
public String login()
{
if(usuario.equals("poli") && contrasenia.equals("1234"))
{
httpServletRequest.getSession().setAttribute("sessionUsuario", usuario);
facesMessage=new FacesMessage(FacesMessage.SEVERITY_INFO, "Acceso Correcto", null);
faceContext.addMessage(null, facesMessage);
return "acceso";
}
else
{
facesMessage=new FacesMessage(FacesMessage.SEVERITY_ERROR, "Usuario o contraseña incorrecto", null);
faceContext.addMessage(null, facesMessage);
return "index";
}
}
public String getUsuario() {
return usuario;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
public String getContrasenia() {
return contrasenia;
}
public void setContrasenia(String contrasenia) {
this.contrasenia = contrasenia;
}
}
mbSession.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
/**
*
* @author eduar_000
*/
@ManagedBean
@RequestScoped
public class MbSession {
private String usuario;
private final HttpServletRequest httpServletRequest;
private final FacesContext faceContext;
private FacesMessage facesMessage;
public MbSession()
{
faceContext=FacesContext.getCurrentInstance();
httpServletRequest=(HttpServletRequest)faceContext.getExternalContext().getRequest();
if(httpServletRequest.getSession().getAttribute("sessionUsuario")!=null)
{
usuario=httpServletRequest.getSession().getAttribute("sessionUsuario").toString();
}
}
public String cerrarSession()
{
httpServletRequest.getSession().removeAttribute("sessionUsuario");
facesMessage=new FacesMessage(FacesMessage.SEVERITY_INFO, "Session cerrada correctamente", null);
faceContext.addMessage(null, facesMessage);
return "index";
}
public String getUsuario() {
return usuario;
}
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
Related documents