Problemas com login feito com JSF! Alguém pode me ajudar?

30 respostas
rafapilao

Boa tarde, fiz um sistema e implementei o login só que quando tento entrar ele dá null e não aceitando a entrada. O que posso fazer para corrigir isso? Será que está faltando algo no código?

LoginBean.java

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package view.bean;

import controller.dao.AdministradorDeRHDAO;
import controller.dao.FuncionarioDAO;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import model.AdministradorDeRH;
import model.Funcionario;

/**
 *
 * @author Rafael
 */
public class LoginBean {

    private String login;
    private String senha;
    
    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }
    
    public String verificaLogin() {
                
        if (getLogin()!= null && getSenha()!= null && login.equalsIgnoreCase(senha)) {   
            HttpSession session = ( HttpSession ) FacesContext.getCurrentInstance().getExternalContext().getSession( true );
            
            AdministradorDeRH adm = new AdministradorDeRH();
            adm.setLogin(login);
            adm.setSenha(senha);
            
            AdministradorDeRHDAO dao = new AdministradorDeRHDAO();
            
            Funcionario fun = new Funcionario();
            fun.setLogin(login);
            fun.setSenha(senha);

            FuncionarioDAO da = new FuncionarioDAO();
                
            if (dao.efetuarLogin(adm)){
                session.getAttribute(login);
                session.getAttribute(senha);
                return "home.jsp";
                
            }else if (da.efetuarLogin(fun)){
        	session.getAttribute(login);
                session.getAttribute(senha);
                return "home.jsp";
                
            }else{
		return "indexhotel.jsp";
            }

        } else {   
            FacesContext.getCurrentInstance().addMessage(null,   
                    new FacesMessage("Usuario e/ou senha incorretos!"));
            HttpSession session = ( HttpSession ) FacesContext.getCurrentInstance().getExternalContext().getSession( false );
            return null; // NULL ou ?? mantem na mesma pagina.   
        }   
    }   
}

index.jsp

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>


<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>.:|Village Palace Hotel|:.</title>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="resources/style.css" media="screen"/>
</head>
    <body>
       
        <div id="wrap">

        <div id="header">
        <h1><a>Village Palace Hotel</a></h1>
        <h2>O melhor lugar para família.</h2>
        </div>

        <div id="content">

        <div class="menu"> 
            <f:view>
                <h:form>                   
                <h2></h2>
                <ul>
                <li><a>Login</a></li> 
                <li><a><h:inputText value="#{loginBean.login}" size="12" maxlength="30"/></a></li> 
                <br>
                <li><a>Senha</a></li> 
                <li><a><h:inputSecret value="#{loginBean.senha}" size="14" maxlength="30"/></a></li>
                <br></br>
                <h:commandButton action="#{loginBean.verificaLogin}" value="Entrar"/>

                </ul>
               </h:form>
           </f:view>
                <h2>Lazer</h2>
                <ul>
                <li><a href="http://www.cinemark.com.br">Cinemark</a></li> 
                <li><a href="http://www.teatroprocopioferreira.com.br">Teatro</a></li> 
                <li><a href="http://www.plazaniteroi.com.br">Plaza Shopping</a></li>
                <li><a href="http://www.citibankhall.com.br">Shows</a></li> 
                <li><a href="http://www.territoriopbv10.com.br">Paintball</a></li> 
                </ul>

        </div>

        <div class="right"> 

            <h2><a><b><i>Bem vindo ao Village Palace</i></b></a></h2>
            <div class="articles">

            <p>Nossa equipe recebeu um treinamento adequado para ajudar o hóspede, de forma que passa passear com a família tranquilamente e aproveitar os momentos juntos.
            Aqui lhe oferecemos uma infra-estrutura adequada para os jovens, adultos, idosos e crianças. </p>
            <br /><br />
            <table align="center">
            <img src="resources\fotos\hall.jpg" alt="hall" style="border: 3px solid #ccc;" height="135px" width="190px"/></table>
            <br /><br />
            Estamos à disposição para sanar qualquer dúvida, entre em contato. 
        </div>

        </div>

    <div class="left"> 

    <h2>
    <h2>Hotel:</h2>
    <ul>
    <li><a href="indexhotel.jsp">Home</a></li> 
    <li><a href="apartamentos.jsp">Apartamentos</a></li> 
    <li><a href="instalacoes.jsp">Fotos</a></li> 
    <li><a href="#">Localidade</a></li>
    <li><a href="servicos.jsp">Serviços</a></li> 
    <li><a href="reserva.jsp">Reservas</a></li>
    <li><a href="funcionarios.jsp">Funcionários</a></li>
    <li><a href="contato.jsp">Contato</a></li>
    </ul>
    </h2>

    </div>

    <div style="clear: both;"> </div>

    </div>

    <div id="bottom"> </div>

    <div id="footer">
    Designed by Rafael Alves &copy
    </div>
    </div>
   
</body>
</html>

30 Respostas

Javabuntu

ele carrega a página? ou dá null quando tenta submeter?
coloque o erro se possível, e outra coisa, essa parte no seu else não faz nada.

HttpSession session = ( HttpSession ) FacesContext.getCurrentInstance().getExternalContext().getSession( false );

sem contar que se não existir a session ele vai retornar null.

Mais um detalhe, com JSF você não deveria estar se preocupando e mexendo com session manualmente, reveja a maneira de utilizá-lo.

rafapilao

Ele nem carrega a página para entrar no sistema e gera esse erro.

Javabuntu:
ele carrega a página? ou dá null quando tenta submeter?
coloque o erro se possível, e outra coisa, essa parte no seu else não faz nada.

HttpSession session = ( HttpSession ) FacesContext.getCurrentInstance().getExternalContext().getSession( false );

sem contar que se não existir a session ele vai retornar null.

Mais um detalhe, com JSF você não deveria estar se preocupando e mexendo com session manualmente, reveja a maneira de utilizá-lo.

rafapilao

eu entro na página de login tranquilamente, mas ao acessar ele gera o erro imediatamente. Bom vc disse que não preciso me preocupar com a session, mais não tenho outra idéia de como fazer isso. Por isso tentei dessa forma.

Javabuntu:
ele carrega a página? ou dá null quando tenta submeter?
coloque o erro se possível, e outra coisa, essa parte no seu else não faz nada.

HttpSession session = ( HttpSession ) FacesContext.getCurrentInstance().getExternalContext().getSession( false );

sem contar que se não existir a session ele vai retornar null.

Mais um detalhe, com JSF você não deveria estar se preocupando e mexendo com session manualmente, reveja a maneira de utilizá-lo.

Javabuntu

rafapilao:
Ele nem carrega a página para entrar no sistema e gera esse erro.

Javabuntu:
ele carrega a página? ou dá null quando tenta submeter?
coloque o erro se possível, e outra coisa, essa parte no seu else não faz nada.

HttpSession session = ( HttpSession ) FacesContext.getCurrentInstance().getExternalContext().getSession( false );

sem contar que se não existir a session ele vai retornar null.

Mais um detalhe, com JSF você não deveria estar se preocupando e mexendo com session manualmente, reveja a maneira de utilizá-lo.

espera aí que agora tá confuso! :?

Você disse que nem carrega e gera esse erro. Qual erro?

depois você disse que entra no login normalmente, mas ao acessar ELE gera o erro imediatamente.
ELE quem? qual erro ?

afinal sua tela de login aparece ou não? o erro é ao tentar clicar no botão de logar?

rafapilao

Desculpe se estou te confundindo, a tela de login entra numa boa, só eu insiro o login e a senha ao apertar o botão ele gera o seguinte erro.

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

javax.servlet.ServletException: /indexhotel.jsp(32,23) '#{loginBean.login}' Target Unreachable, identifier 'loginBean' resolved to null
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)


root cause 

org.apache.jasper.el.JspPropertyNotFoundException: /indexhotel.jsp(32,23) '#{loginBean.login}' Target Unreachable, identifier 'loginBean' resolved to null
	org.apache.jasper.el.JspValueExpression.getType(JspValueExpression.java:61)
	com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:81)
	javax.faces.component.UIInput.getConvertedValue(UIInput.java:934)
	javax.faces.component.UIInput.validate(UIInput.java:860)
	javax.faces.component.UIInput.executeValidate(UIInput.java:1065)
	javax.faces.component.UIInput.processValidators(UIInput.java:666)
	javax.faces.component.UIForm.processValidators(UIForm.java:229)
	javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1033)
	javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:662)
	com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:100)
	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.

Javabuntu:
rafapilao:
Ele nem carrega a página para entrar no sistema e gera esse erro.

Javabuntu:
ele carrega a página? ou dá null quando tenta submeter?
coloque o erro se possível, e outra coisa, essa parte no seu else não faz nada.

HttpSession session = ( HttpSession ) FacesContext.getCurrentInstance().getExternalContext().getSession( false );

sem contar que se não existir a session ele vai retornar null.

Mais um detalhe, com JSF você não deveria estar se preocupando e mexendo com session manualmente, reveja a maneira de utilizá-lo.

espera aí que agora tá confuso! :?

Você disse que nem carrega e gera esse erro. Qual erro?

depois você disse que entra no login normalmente, mas ao acessar ELE gera o erro imediatamente.
ELE quem? qual erro ?

afinal sua tela de login aparece ou não? o erro é ao tentar clicar no botão de logar?

Javabuntu

javax.servlet.ServletException: /indexhotel.jsp(32,23) '#{loginBean.login}' Target Unreachable, identifier 'loginBean' resolved to null

você realmente tem um bean declarado no faces-config com nome de loginBean?

rafapilao

Acabei de ver aqui e não tenho. Só que o form de login está dentro da minha página principal e ela está no faces-config com o nome index. Mais terei que criar o loginBean lá?

Javabuntu:
javax.servlet.ServletException: /indexhotel.jsp(32,23) '#{loginBean.login}' Target Unreachable, identifier 'loginBean' resolved to null

você realmente tem um bean declarado no faces-config com nome de loginBean?

Javabuntu

rafapilao:
Acabei de ver aqui e não tenho. Só que o form de login está dentro da minha página principal e ela está no faces-config com o nome index. Mais terei que criar o loginBean lá?

Javabuntu:
javax.servlet.ServletException: /indexhotel.jsp(32,23) '#{loginBean.login}' Target Unreachable, identifier 'loginBean' resolved to null

você realmente tem um bean declarado no faces-config com nome de loginBean?

sim, tem que declarar o bean.

rafapilao

Ok. agradeço.

Javabuntu:
rafapilao:
Acabei de ver aqui e não tenho. Só que o form de login está dentro da minha página principal e ela está no faces-config com o nome index. Mais terei que criar o loginBean lá?

Javabuntu:
javax.servlet.ServletException: /indexhotel.jsp(32,23) '#{loginBean.login}' Target Unreachable, identifier 'loginBean' resolved to null

você realmente tem um bean declarado no faces-config com nome de loginBean?

sim, tem que declarar o bean.

rafapilao

Boa tarde, fiz o que vc me falou, adicionei o loginBean no faces-config, fiz a ligação da página principalindex.jsp, com o login.jsp e o LoginBean.java. Continua dando o mesmo erro e loginBean continua nulo.

rafapilao:
Ok. agradeço.

Javabuntu:
rafapilao:
Acabei de ver aqui e não tenho. Só que o form de login está dentro da minha página principal e ela está no faces-config com o nome index. Mais terei que criar o loginBean lá?

Javabuntu:
javax.servlet.ServletException: /indexhotel.jsp(32,23) '#{loginBean.login}' Target Unreachable, identifier 'loginBean' resolved to null

você realmente tem um bean declarado no faces-config com nome de loginBean?

sim, tem que declarar o bean.

marcioferreirass

Crie um construtor para o seu loginBean e então inicialize os atributos:
Ex: login = new String(""); senha = new String("");

rafapilao

Não mudou nada continua dando erro. :cry:

marcioferreirass:
Crie um construtor para o seu loginBean e então inicialize os atributos:
Ex: login = new String(""); senha = new String("");

marcioferreirass

rafapilao:
Não mudou nada continua dando erro. :cry:

marcioferreirass:
Crie um construtor para o seu loginBean e então inicialize os atributos:
Ex: login = new String(""); senha = new String("");

Posta o seu faces-config.xml ai !

rafapilao

marcioferreirass:
rafapilao:
Não mudou nada continua dando erro. :cry:

marcioferreirass:
Crie um construtor para o seu loginBean e então inicialize os atributos:
Ex: login = new String(""); senha = new String("");

Posta o seu faces-config.xml ai !

ok

faces-config

<?xml version='1.0' encoding='UTF-8'?>

<!-- =========== FULL CONFIGURATION FILE ================================== -->

<faces-config version="1.2" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
    <navigation-rule>
        <from-view-id>/home.jsp</from-view-id>
        <navigation-case>
            <from-outcome>cadastro</from-outcome>
            <to-view-id>/cadastro.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>alterar</from-outcome>
            <to-view-id>/alterar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>cancelar</from-outcome>
            <to-view-id>/cancelar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>estornar</from-outcome>
            <to-view-id>/estornar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>consultar</from-outcome>
            <to-view-id>/consultar.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/indexhotel.jsp</from-view-id>
        <navigation-case>
            <from-outcome>login</from-outcome>
            <to-view-id>/login.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/login.jsp</from-view-id>
        <navigation-case>
            <from-outcome>log</from-outcome>
            <to-view-id>/LoginBean.java</to-view-id>
        </navigation-case>
    </navigation-rule>
</faces-config>
marcioferreirass
rafapilao:
marcioferreirass:
rafapilao:
Não mudou nada continua dando erro. :cry:
marcioferreirass:
Crie um construtor para o seu loginBean e então inicialize os atributos: Ex: login = new String(""); senha = new String("");

Posta o seu faces-config.xml ai !

ok

faces-config

<?xml version='1.0' encoding='UTF-8'?>

<!-- =========== FULL CONFIGURATION FILE ================================== -->

<faces-config version="1.2" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
    <navigation-rule>
        <from-view-id>/home.jsp</from-view-id>
        <navigation-case>
            <from-outcome>cadastro</from-outcome>
            <to-view-id>/cadastro.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>alterar</from-outcome>
            <to-view-id>/alterar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>cancelar</from-outcome>
            <to-view-id>/cancelar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>estornar</from-outcome>
            <to-view-id>/estornar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>consultar</from-outcome>
            <to-view-id>/consultar.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/indexhotel.jsp</from-view-id>
        <navigation-case>
            <from-outcome>login</from-outcome>
            <to-view-id>/login.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/login.jsp</from-view-id>
        <navigation-case>
            <from-outcome>log</from-outcome>
            <to-view-id>/LoginBean.java</to-view-id>
        </navigation-case>
    </navigation-rule>
</faces-config>

Você precisa definir o seu MB no xml.
Ex:


loginBean
view.bean.LoginBean
request

Isso deve ficar ai no seu faces-config.xml.

rafapilao

Fiz o que me falou e agora a tela principal não entrou de cara apareceu esse erro.

javax.servlet.ServletException: Cant instantiate class: view.bean.LoginBean.. view.bean.LoginBean
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
marcioferreirass:
rafapilao:
marcioferreirass:
rafapilao:
Não mudou nada continua dando erro. :cry:
marcioferreirass:
Crie um construtor para o seu loginBean e então inicialize os atributos: Ex: login = new String(""); senha = new String("");

Posta o seu faces-config.xml ai !

ok

faces-config

<?xml version='1.0' encoding='UTF-8'?>

<!-- =========== FULL CONFIGURATION FILE ================================== -->

<faces-config version="1.2" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
    <navigation-rule>
        <from-view-id>/home.jsp</from-view-id>
        <navigation-case>
            <from-outcome>cadastro</from-outcome>
            <to-view-id>/cadastro.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>alterar</from-outcome>
            <to-view-id>/alterar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>cancelar</from-outcome>
            <to-view-id>/cancelar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>estornar</from-outcome>
            <to-view-id>/estornar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>consultar</from-outcome>
            <to-view-id>/consultar.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/indexhotel.jsp</from-view-id>
        <navigation-case>
            <from-outcome>login</from-outcome>
            <to-view-id>/login.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/login.jsp</from-view-id>
        <navigation-case>
            <from-outcome>log</from-outcome>
            <to-view-id>/LoginBean.java</to-view-id>
        </navigation-case>
    </navigation-rule>
</faces-config>

Você precisa definir o seu MB no xml.
Ex:


loginBean
view.bean.LoginBean
request

Isso deve ficar ai no seu faces-config.xml.

marcioferreirass
rafapilao:
Fiz o que me falou e agora a tela principal não entrou de cara apareceu esse erro.
javax.servlet.ServletException: Cant instantiate class: view.bean.LoginBean.. view.bean.LoginBean
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
marcioferreirass:
rafapilao:
marcioferreirass:
rafapilao:
Não mudou nada continua dando erro. :cry:
marcioferreirass:
Crie um construtor para o seu loginBean e então inicialize os atributos: Ex: login = new String(""); senha = new String("");

Posta o seu faces-config.xml ai !

ok

faces-config

<?xml version='1.0' encoding='UTF-8'?>

<!-- =========== FULL CONFIGURATION FILE ================================== -->

<faces-config version="1.2" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
    <navigation-rule>
        <from-view-id>/home.jsp</from-view-id>
        <navigation-case>
            <from-outcome>cadastro</from-outcome>
            <to-view-id>/cadastro.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>alterar</from-outcome>
            <to-view-id>/alterar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>cancelar</from-outcome>
            <to-view-id>/cancelar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>estornar</from-outcome>
            <to-view-id>/estornar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>consultar</from-outcome>
            <to-view-id>/consultar.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/indexhotel.jsp</from-view-id>
        <navigation-case>
            <from-outcome>login</from-outcome>
            <to-view-id>/login.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/login.jsp</from-view-id>
        <navigation-case>
            <from-outcome>log</from-outcome>
            <to-view-id>/LoginBean.java</to-view-id>
        </navigation-case>
    </navigation-rule>
</faces-config>

Você precisa definir o seu MB no xml.
Ex:


loginBean
view.bean.LoginBean
request

Isso deve ficar ai no seu faces-config.xml.

como ficou o seu faces-config.xml ?

rafapilao

Ficou assim

<?xml version='1.0' encoding='UTF-8'?>

<!-- =========== FULL CONFIGURATION FILE ================================== -->

<faces-config version="1.2" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
     <managed-bean> 
        <managed-bean-name>loginBean</managed-bean-name> 
        <managed-bean-class>view.bean.LoginBean</managed-bean-class> 
        <managed-bean-scope>request</managed-bean-scope> 
    </managed-bean>
     <navigation-rule>
        <from-view-id>/home.jsp</from-view-id>
        <navigation-case>
            <from-outcome>cadastro</from-outcome>
            <to-view-id>/cadastro.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>alterar</from-outcome>
            <to-view-id>/alterar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>cancelar</from-outcome>
            <to-view-id>/cancelar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>estornar</from-outcome>
            <to-view-id>/estornar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>consultar</from-outcome>
            <to-view-id>/consultar.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/indexhotel.jsp</from-view-id>
        <navigation-case>
            <from-outcome>login</from-outcome>
            <to-view-id>/login.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/login.jsp</from-view-id>
        <navigation-case>
            <from-outcome>log</from-outcome>
            <to-view-id>/LoginBean.java</to-view-id>
        </navigation-case>
    </navigation-rule>
   </faces-config>
marcioferreirass
rafapilao:
Ficou assim
<?xml version='1.0' encoding='UTF-8'?>

<!-- =========== FULL CONFIGURATION FILE ================================== -->

<faces-config version="1.2" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
     <managed-bean> 
        <managed-bean-name>loginBean</managed-bean-name> 
        <managed-bean-class>view.bean.LoginBean</managed-bean-class> 
        <managed-bean-scope>request</managed-bean-scope> 
    </managed-bean>
     <navigation-rule>
        <from-view-id>/home.jsp</from-view-id>
        <navigation-case>
            <from-outcome>cadastro</from-outcome>
            <to-view-id>/cadastro.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>alterar</from-outcome>
            <to-view-id>/alterar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>cancelar</from-outcome>
            <to-view-id>/cancelar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>estornar</from-outcome>
            <to-view-id>/estornar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>consultar</from-outcome>
            <to-view-id>/consultar.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/indexhotel.jsp</from-view-id>
        <navigation-case>
            <from-outcome>login</from-outcome>
            <to-view-id>/login.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/login.jsp</from-view-id>
        <navigation-case>
            <from-outcome>log</from-outcome>
            <to-view-id>/LoginBean.java</to-view-id>
        </navigation-case>
    </navigation-rule>
   </faces-config>

Vc colocou o construtor no seu loginBean ?
Posta aqui ...

rafapilao

Ficou dessa forma.

public LoginBean(String login, String senha, boolean loginOK) {
        this.login = new String(login);
        this.senha = new String(senha);
        this.loginOK = loginOK;
    }
marcioferreirass:
rafapilao:
Ficou assim
<?xml version='1.0' encoding='UTF-8'?>

<!-- =========== FULL CONFIGURATION FILE ================================== -->

<faces-config version="1.2" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
     <managed-bean> 
        <managed-bean-name>loginBean</managed-bean-name> 
        <managed-bean-class>view.bean.LoginBean</managed-bean-class> 
        <managed-bean-scope>request</managed-bean-scope> 
    </managed-bean>
     <navigation-rule>
        <from-view-id>/home.jsp</from-view-id>
        <navigation-case>
            <from-outcome>cadastro</from-outcome>
            <to-view-id>/cadastro.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>alterar</from-outcome>
            <to-view-id>/alterar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>cancelar</from-outcome>
            <to-view-id>/cancelar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>estornar</from-outcome>
            <to-view-id>/estornar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>consultar</from-outcome>
            <to-view-id>/consultar.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/indexhotel.jsp</from-view-id>
        <navigation-case>
            <from-outcome>login</from-outcome>
            <to-view-id>/login.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/login.jsp</from-view-id>
        <navigation-case>
            <from-outcome>log</from-outcome>
            <to-view-id>/LoginBean.java</to-view-id>
        </navigation-case>
    </navigation-rule>
   </faces-config>

Vc colocou o construtor no seu loginBean ?
Posta aqui ...

marcioferreirass

Cara, com esse construtor não vai.
Coloque o construtor assim:

public LoginBean(){
this.login = new String("");
this.senha = new String("");

}

rafapilao:
Ficou dessa forma.
public LoginBean(String login, String senha, boolean loginOK) {
        this.login = new String(login);
        this.senha = new String(senha);
        this.loginOK = loginOK;
    }
marcioferreirass:
rafapilao:
Ficou assim
<?xml version='1.0' encoding='UTF-8'?>

<!-- =========== FULL CONFIGURATION FILE ================================== -->

<faces-config version="1.2" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
     <managed-bean> 
        <managed-bean-name>loginBean</managed-bean-name> 
        <managed-bean-class>view.bean.LoginBean</managed-bean-class> 
        <managed-bean-scope>request</managed-bean-scope> 
    </managed-bean>
     <navigation-rule>
        <from-view-id>/home.jsp</from-view-id>
        <navigation-case>
            <from-outcome>cadastro</from-outcome>
            <to-view-id>/cadastro.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>alterar</from-outcome>
            <to-view-id>/alterar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>cancelar</from-outcome>
            <to-view-id>/cancelar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>estornar</from-outcome>
            <to-view-id>/estornar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>consultar</from-outcome>
            <to-view-id>/consultar.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/indexhotel.jsp</from-view-id>
        <navigation-case>
            <from-outcome>login</from-outcome>
            <to-view-id>/login.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/login.jsp</from-view-id>
        <navigation-case>
            <from-outcome>log</from-outcome>
            <to-view-id>/LoginBean.java</to-view-id>
        </navigation-case>
    </navigation-rule>
   </faces-config>

Vc colocou o construtor no seu loginBean ?
Posta aqui ...

rafapilao

Fiz a alteração da forma que vc mencionou abaixo e continua dando erro.

marcioferreirass:
Cara, com esse construtor não vai. Coloque o construtor assim:

public LoginBean(){
this.login = new String("");
this.senha = new String("");

}

rafapilao:
Ficou dessa forma.
public LoginBean(String login, String senha, boolean loginOK) {
        this.login = new String(login);
        this.senha = new String(senha);
        this.loginOK = loginOK;
    }
marcioferreirass:
rafapilao:
Ficou assim
<?xml version='1.0' encoding='UTF-8'?>

<!-- =========== FULL CONFIGURATION FILE ================================== -->

<faces-config version="1.2" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
     <managed-bean> 
        <managed-bean-name>loginBean</managed-bean-name> 
        <managed-bean-class>view.bean.LoginBean</managed-bean-class> 
        <managed-bean-scope>request</managed-bean-scope> 
    </managed-bean>
     <navigation-rule>
        <from-view-id>/home.jsp</from-view-id>
        <navigation-case>
            <from-outcome>cadastro</from-outcome>
            <to-view-id>/cadastro.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>alterar</from-outcome>
            <to-view-id>/alterar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>cancelar</from-outcome>
            <to-view-id>/cancelar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>estornar</from-outcome>
            <to-view-id>/estornar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>consultar</from-outcome>
            <to-view-id>/consultar.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/indexhotel.jsp</from-view-id>
        <navigation-case>
            <from-outcome>login</from-outcome>
            <to-view-id>/login.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/login.jsp</from-view-id>
        <navigation-case>
            <from-outcome>log</from-outcome>
            <to-view-id>/LoginBean.java</to-view-id>
        </navigation-case>
    </navigation-rule>
   </faces-config>

Vc colocou o construtor no seu loginBean ?
Posta aqui ...

marcioferreirass

Ops!

<navigation-rule>  
        <from-view-id>/login.jsp</from-view-id>  
        <navigation-case>  
            <from-outcome>log</from-outcome>  
            <to-view-id>/LoginBean.java</to-view-id>  
        </navigation-case>  
    </navigation-rule>

o não pode ser isso: /LoginBean.java.
Tira essa parte toda.

Tem uma outra coisa. Vc esta retornando no seu método o nome da página: Ex: "home.jsp".
Se vc esta definindo um navigation-rule, vc deve retornar o que esta entre o outcome.

rafapilao:
Fiz a alteração da forma que vc mencionou abaixo e continua dando erro.
marcioferreirass:
Cara, com esse construtor não vai. Coloque o construtor assim:

public LoginBean(){
this.login = new String("");
this.senha = new String("");

}

rafapilao:
Ficou dessa forma.
public LoginBean(String login, String senha, boolean loginOK) {
        this.login = new String(login);
        this.senha = new String(senha);
        this.loginOK = loginOK;
    }
marcioferreirass:
rafapilao:
Ficou assim
<?xml version='1.0' encoding='UTF-8'?>

<!-- =========== FULL CONFIGURATION FILE ================================== -->

<faces-config version="1.2" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
     <managed-bean> 
        <managed-bean-name>loginBean</managed-bean-name> 
        <managed-bean-class>view.bean.LoginBean</managed-bean-class> 
        <managed-bean-scope>request</managed-bean-scope> 
    </managed-bean>
     <navigation-rule>
        <from-view-id>/home.jsp</from-view-id>
        <navigation-case>
            <from-outcome>cadastro</from-outcome>
            <to-view-id>/cadastro.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>alterar</from-outcome>
            <to-view-id>/alterar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>cancelar</from-outcome>
            <to-view-id>/cancelar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>estornar</from-outcome>
            <to-view-id>/estornar.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>consultar</from-outcome>
            <to-view-id>/consultar.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/indexhotel.jsp</from-view-id>
        <navigation-case>
            <from-outcome>login</from-outcome>
            <to-view-id>/login.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/login.jsp</from-view-id>
        <navigation-case>
            <from-outcome>log</from-outcome>
            <to-view-id>/LoginBean.java</to-view-id>
        </navigation-case>
    </navigation-rule>
   </faces-config>

Vc colocou o construtor no seu loginBean ?
Posta aqui ...

rafapilao

Não tenho boas notícias, deu o seguinte erro ao tirar o /LoginBean.java do faces-config nem abriu a tle principal, no próprio IDE ele deu falha na construção. E também mudei o coloquei o “log” no lugar do “home.jsp” no método, isso não influenciou. Tá brabo. :cry:

marcioferreirass

Você tirou o bloco todo ?

<navigation-rule> <from-view-id>/login.jsp</from-view-id> <navigation-case> <from-outcome>log</from-outcome> <to-view-id>/LoginBean.java</to-view-id> </navigation-case> </navigation-rule>

Não é para tirar só o <to-view-id>/LoginBean.java</to-view-id>

rafapilao

Sim tirei tudo e continua dando erro.

javax.servlet.ServletException: Cant instantiate class: view.bean.LoginBean.. view.bean.LoginBean
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

Você tirou o bloco todo ?

<navigation-rule> <from-view-id>/login.jsp</from-view-id> <navigation-case> <from-outcome>log</from-outcome> <to-view-id>/LoginBean.java</to-view-id> </navigation-case> </navigation-rule>

Não é para tirar só o <to-view-id>/LoginBean.java</to-view-id>

fabio.massa

No blog do Urubatan tem um exemplo fácil fácil: http://www.urubatan.info/2007/10/a-very-simple-login-example-with-jsf/
Boa sorte.

rafapilao

Eu tentei dessa forma e deu erro. que o loginBean está nulo.

fabio.massa:
No blog do Urubatan tem um exemplo fácil fácil: http://www.urubatan.info/2007/10/a-very-simple-login-example-with-jsf/
Boa sorte.

marcioferreirass

É meu velho. Recomendo vc começar um outro projeto !

Como última tentativa, verifique se a classe que vc esta criando esta realmente no pacote informado e se arquivos .class estão sendo gerados na parta correta.

Boa sorte!

rafapilao

Ok, agradeço a vossa ajuda e a vossa paciência, vou tentando. Caso não dê recomeçarei. Abraço.

marcioferreirass:
É meu velho. Recomendo vc começar um outro projeto !

Como última tentativa, verifique se a classe que vc esta criando esta realmente no pacote informado e se arquivos .class estão sendo gerados na parta correta.

Boa sorte!

Criado 25 de novembro de 2008
Ultima resposta 28 de nov. de 2008
Respostas 30
Participantes 4