Olá pessoal tenho que fazer um sistema de cadastros usando JSF e richfaces no padrão MVC.
Sou um pouco inexperiente na parte Web, mas estou aprendendo pouco a pouco.
Minha dúvida é:
Sabendo que minhas páginas terão que ser com richfaces, é melhor fazer o login assim mesmo (codigo abaixo) ou com servlet? Se com servlet, como receber os parametros (usuario e senha) usando essa pagina q eu fiz?
Usei partes da apostila da Caelum, partes do Core Java Server Faces e por enquanto tenho isso:
pacote padrao:
-hiernate.cfg.xml
-log4j.xml
pacote vo (sets e gets + arquivos de mapeamento do hibenate):
-UsuarioVO (contem id, usuario, senha)
-CadastrosVO (nome, endereco, etc)
-UsuarioVO.hbm.xml
-CadastrosVO.hbm.xml
pacote dao:
-DAOFactory
-GenericDAO
-HibernateUtil
-UsuarioDAO
(aqui tem um método: public UsuarioVO existeUnico(String usuario, String senha) que verifica usuario e senha)
na parte do view farei as páginas com richfaces, mas por enquanto estou testando com jsp mesmo (não estudei richfaces ainda).
aí eu fiz o login assim:
package controller;
import dao.DAOFactory;
import dao.UsuarioDAO;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import vo.UsuarioVO;
public class Login {
private UsuarioVO usuarioVO;
private String usuario;
private String senha;
public String getUsuario() {
return usuario;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String efetuaLogin() {
DAOFactory dao = new DAOFactory();
UsuarioDAO usuarioDAO = dao.getUsuarioDAO();
usuarioVO = usuarioDAO.existeUnico(usuario, senha);
FacesContext fc = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) fc.getExternalContext().getSession(false);
if (usuarioVO != null) {
session.setAttribute("logado", usuario);
return "logado";
} else {
return "naoLogado";
}
}
}
login.jsp
<%--
Document : login
Created on : 03/05/2008, 15:21:32
Author : joaosavio
--%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<f:view>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Login</title>
</head>
<body>
<h:form>
<p>
<h:outputText value = "ACESSO AO SISTEMA"/>
</p>
<p>
<h:outputText value = "Usuário: "/>
<h:inputText value="#{login.usuario}"/>
</p>
<p>
<h:outputText value = " Senha: "/>
<h:inputSecret value="#{login.senha}"/>
</p>
<p>
<h:commandButton value="ok" action="#{login.efetuaLogin}"/>
</p>
</h:form>
</body>
</f:view>
</html>