Erro ao associar managebean HTTP Status 500

23 respostas
J

Ola amigos, estou usando o Eclipse Java EE. Eu crie um projeto Dynamic web project utilizando java server faces, e o servidor de aplicação é o Jboss 7.1 final!
Bom estou com um problema na hora de associar o managebean ao meu arquivo .xhtml, quando eu clico no botão da erro.
Aqui é o caminho, como eu acesso minha aplicação

http://localhost:8080/SistemaLogin/login.jsf

Aqui é meu arquivo .xhtml
<?xml version = "1.0" encoding="ISO-8859-1" ?>
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core">

	<h:head>
		<title>SISTEMA DE LOGIN - LUNAR TECNOLOGIA</title>
	</h:head>

	<h:body>
		<h:form  id="PageForm">
			 <center>
			 
			 <h:outputText value="Bem vindos" /><br/>
			 <h:outputText value="Sistema de Login JSF 2.0 mais AJAX"  /><br/><br/>
			 
			 <h:outputText  value="Login.: " />
			 <h:inputText id="txtLogin" autocomplete="true" value="#{LoginFormBean.login}" />
			 
			 <h:outputText value=" Senha.: " />
			 <h:inputSecret id="txtSenha" autocomplete="false" value="#{LoginFormBean.senha}" />
			 
			 <br/><br/>
			 <h:commandButton id="btSalvar"   value="Logar" 	title="Clique aqui para Cadastrar." action="#{LoginFormBean.onBotaoSalvarClick}" />
			 <h:commandButton id="btCancelar" value="Cancelar" title="Clique aqui para Cancelar." acton="#{LoginFormBean.onBotaoCancelar}"/>
			 	 
			 </center>
			 
		</h:form>	 
	</h:body>

</html>

Aqui é minha class java:

package com.formulario.bean;

import javax.enterprise.inject.Model;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

@ManagedBean(name = "LoginFormBean")
@RequestScoped

public class LoginFormBean {
	
	//Atributos
    private	String login;
    private String senha;
    
    //Metódos Getter
	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;
	}


	//Metódo construtor
	public LoginFormBean() { 
		System.out.print("Instanciando Objeto ");
	}
	
	public String onBotaoSalvarClick()
	{
		System.out.println("Úsuario logado com sucesso!");
		
		if(login != null && login.length() > 0 && senha != null && senha.length() > 0){
			
			System.out.println("Úsuario logado.: "+login+" - Senha.: "+senha);
			
		}
			
		return null;
	}
	
	public String onBotaoCancelar(){
		
		this.setLogin("");
		this.setSenha("");
		
		return null;
	}

}

Aqui é o erro que estar acontecendo ao clicar no botao.

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

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

exception 

javax.servlet.ServletException: /login.xhtml @18,85 value="#{LoginFormBean.login}": Target Unreachable, identifier 'LoginFormBean' resolved to null
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)


root cause 

javax.el.PropertyNotFoundException: /login.xhtml @18,85 value="#{LoginFormBean.login}": Target Unreachable, identifier 'LoginFormBean' resolved to null
	com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
	com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
	javax.faces.component.UIInput.getConvertedValue(UIInput.java:1030)
	javax.faces.component.UIInput.validate(UIInput.java:960)
	javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
	javax.faces.component.UIInput.processValidators(UIInput.java:698)
	javax.faces.component.UIForm.processValidators(UIForm.java:253)
	javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1172)
	com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)


note The full stack trace of the root cause is available in the JBoss Web/7.0.13.Final logs.


--------------------------------------------------------------------------------

log do eclipse

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

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

exception 

javax.servlet.ServletException: /login.xhtml @18,85 value="#{LoginFormBean.login}": Target Unreachable, identifier 'LoginFormBean' resolved to null
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)


root cause 

javax.el.PropertyNotFoundException: /login.xhtml @18,85 value="#{LoginFormBean.login}": Target Unreachable, identifier 'LoginFormBean' resolved to null
	com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
	com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
	javax.faces.component.UIInput.getConvertedValue(UIInput.java:1030)
	javax.faces.component.UIInput.validate(UIInput.java:960)
	javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
	javax.faces.component.UIInput.processValidators(UIInput.java:698)
	javax.faces.component.UIForm.processValidators(UIForm.java:253)
	javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1172)
	com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)


note The full stack trace of the root cause is available in the JBoss Web/7.0.13.Final logs.


--------------------------------------------------------------------------------

JBoss Web/7.0.13.Final

23 Respostas

J

A linha 25, ja corrigi o nome action !!!

Alguem pode ajudar a resolver esse problema?

K

Olá meu amigo! Tente trocar o valor do atributo autocomplete. Ele deve ser preenchido com on ou off. E seu valor padrão é on!

Abraços!

J

Amigo tentei trocar, coloquei o autocomplete=“true” nos dois, e depois coloquei false, pra testar, mas continua dando o mesmo erro !!!

K

Coloque on, ou tire a declaração do atributo.

Abraço!!

J

kilate , poderia explicar melhor ? Tirar a declaração do atributo ? Òo

K

Olá meu amigo,

<h:inputText id="txtLogin" autocomplete="true" value="#{LoginFormBean.login}" />

coloque:

autocomplete=“on

J

Beleza amigão, vou testar aqui!!

J

Troquei por on, mesmo assim ainda continuo com o erro!

=/

J

Alguem ainda tem uma luz ?

J

Up

K

Olá meu amigo, acho que identifiquei seu problema:

public String onBotaoSalvarClick()  
    {  
        System.out.println("Úsuario logado com sucesso!");  
          
        if(login != null && login.length() > 0 && senha != null && senha.length() > 0){  
              
            System.out.println("Úsuario logado.: "+login+" - Senha.: "+senha);                
        }                
        return null;  
    }

Quando o if termina, ele retorna null. Sendo que, quando o método retorna String ele deve retornar o nome do .xhtml que será redirecionado após a execução do metodo. Tente:

public String onBotaoSalvarClick()  
    {  
        System.out.println("Úsuario logado com sucesso!");  
          
        if(login != null && login.length() > 0 && senha != null && senha.length() > 0){  
              
          System.out.println("Úsuario logado.: "+login+" - Senha.: "+senha); 
		     return "estouLogado" // Página (nome do xhtml) que deve ser autenticada               
        }                
             return "login"; //Página (nome do xhtml) caso não esteja logado 
    }
J

amigo, fiz conforme, você colocou aê, mas ainda continua dando o mesmo erro ?

=/

Não entendo o que estou fazendo de errrado…

J

Dentro da minha pasta lib, não possui nenhuma biblioteca!!
Será que o erro estar relacionado a isso ?

R

juro que testei e funcionou normal…

J

RiQuInHo_$_$ , serio ? ÒO

Como você criou o projeto, pra vê se foi da mesma forma como criei!!
Tá usando qual ide?

J

Quando eu clico em qualquer um dos botões ocorre esse erro,

type Exception report

message

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

exception

javax.servlet.ServletException: /Login.xhtml @18,83 value="#{loginFormBean.login}": Target Unreachable, identifier 'loginFormBean' resolved to null
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)

root cause

javax.el.PropertyNotFoundException: /Login.xhtml @18,83 value="#{loginFormBean.login}": Target Unreachable, identifier 'loginFormBean' resolved to null
	com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
	com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
	javax.faces.component.UIInput.getConvertedValue(UIInput.java:1030)
	javax.faces.component.UIInput.validate(UIInput.java:960)
	javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
	javax.faces.component.UIInput.processValidators(UIInput.java:698)
	javax.faces.component.UIForm.processValidators(UIForm.java:253)
	javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1172)
	com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)

note The full stack trace of the root cause is available in the JBoss Web/7.0.13.Final logs.
J

Alguem poderia testar esse projeto pra vê se estar funcionando ?

R

ide do eclipse mesmo…

J

Ta beleeza então.

Aqui ainda continuo com o mesmo erro

K

Amigo, baixe a implementação do Mojarra do JSF:

http://javaserverfaces.java.net/

Coloque a biblioteca em WEB-INF/lib

Abraços!

D

Como perguntar não ofende, só para deixar claro o faces-config está definindo o loginFormBean corretamente?

W

amigo no seu .xhtml tem isso

<?xml version = "1.0" encoding="ISO-8859-1" ?>

remova e teste! isso é para xml não para xhtml

W

outra dica

if (login != null && login.length() > 0 && senha != null && senha.length() > 0)

sua String o padrão nela sem nada é nula, isso por que você esta usando Jboss 7.1, no tomcat 7 ele tem um bug que inicia a variavel como “” ou 0,
como você esta usando Jboss as 7.1 se a variavel vir da sua xhml sem nada ela vem null, se você valida que ela é != null então se passar ela ja tem um .length() > 0
não é necessario validar essa parte ok.

Criado 25 de junho de 2012
Ultima resposta 2 de ago. de 2012
Respostas 23
Participantes 5