Login com Struts

2 respostas
ma.pops

Boa Tarde,

Estou desenvolvendo um sistema de login usando struts
criei aparte logica
declarei no struts-config e criei as jsps
porem quando acesso a pag jsp da o seguinde erro abaixo

HTTP Status 500 -

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

type Exception report

message

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

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /formularioLogin.jsp at line 5

2:
3: Sistema de Testes do Struts
4:
5:
6: Qual é o seu usuário?
7:
8:

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

javax.servlet.ServletException: javax.servlet.jsp.JspException: Form bean not specified on mapping for action: "/efetuaLogin"
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:852)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.formularioLogin_jsp._jspService(formularioLogin_jsp.java:75)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

javax.servlet.jsp.JspException: Form bean not specified on mapping for action: "/efetuaLogin"
org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:879)
org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:488)
org.apache.jsp.formularioLogin_jsp._jspx_meth_html_005fform_005f0(formularioLogin_jsp.java:126)
org.apache.jsp.formularioLogin_jsp._jspx_meth_html_005fhtml_005f0(formularioLogin_jsp.java:97)
org.apache.jsp.formularioLogin_jsp._jspService(formularioLogin_jsp.java:68)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

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

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

Apache Tomcat/6.0.18

se alguem pode me ajudar desde de ja agradeço
segue os codigos

formularioLogin.jsp
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<html:html>
<title>Sistema de Testes do Struts</title>
<body>
	<html:form action="/efetuaLogin" focus="funcionario.usuario">
		Qual é o seu usuário?
		<html:text property="funcionario.usuario"/>
		
		Qual é a sua senha? 
		<html:text property="funcionario.senha"/>
		
		<html:submit>Enviar Dados</html:submit>
	</html:form>
</body>
</html:html>
ok.jsp
<html>
Você logou com sucesso!
</html>
erro.jsp
<html>
Ocorreu algum erro ao tentar se logar!
</html>
struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>   
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"   
          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">  
<struts-config>

	<form-beans>
		<form-bean name="LoginForm" type="br.com.caelum.struts.form.LoginForm"/>
	</form-beans>
	
	<action-mappings>
		
		<action path="/efetuaLogin" type="br.com.caelum.struts.action.LoginAction">
			<forward name="erro" path="/erro.jsp"/>
			<forward name="ok" path="/ok.jsp"/>
		</action>

	</action-mappings>
		
	<!-- Arquivo de Mensagens -->
	<message-resources parameter="MessageResources"/>
</struts-config>

2 Respostas

marcosharbs

acho que é poqrue na sua action vc não associou o seu form tente isso:

<action name="LoginForm" path="/efetuaLogin" type="br.com.caelum.struts.action.LoginAction">   
            <forward name="erro" path="/erro.jsp"/>   
            <forward name="ok" path="/ok.jsp"/>   
        </action>

isso deve resolver

ma.pops

cara vlw pela ajuda
passei por uma tela, agora aparece a tela de login
porem quando eu clico pra enviar os dados aparece o erro

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: java.lang.NullPointerException

org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)

org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)

org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)

javax.servlet.http.HttpServlet.service(HttpServlet.java:637)

javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.NullPointerException

br.com.caelum.struts.action.LoginAction.ehValido(LoginAction.java:36)

br.com.caelum.struts.action.LoginAction.execute(LoginAction.java:26)

org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)

org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)

org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)

org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)

org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)

org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)

org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)

org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)

org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)

javax.servlet.http.HttpServlet.service(HttpServlet.java:637)

javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

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


Apache Tomcat/6.0.18

Criado 8 de junho de 2009
Ultima resposta 8 de jun. de 2009
Respostas 2
Participantes 2