Olá, pessoal.
Sou novo no Struts, estou tentando aprender o 1.X, por necessidade, já consegui alguns testes, mas agora tenho um problema ao tentar executar uma action… ( eu segui um tutorial ). Se puderem dar uma olhada, eu ficaria agradecido… Enquanto isso continuarei minhas buscas aqui, se eu mesmo conseguir a resposta também posto [ caso alguém outro também necessite )
FrameWork: STRUTS 1.1
IDE: Eclipse 3.4.0
Servidor: Tomcat 6.0.18
JAVA: JDK1.6.0_13
ERRO:
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 /strutsv1_1t001/index.jsp at line 16
13: <body>
14:
15: <b><bean:message key="home.bemVindo"/></b><br/>
16: <html:form action="LogIn" type="login.Validar" method="POST">
17: <bean:message key="forms.nome"/> <html:text name="nome" property="nome" value=""/>
18: <bean:message key="forms.senha"/> <html:text name="senha" property="senha" value=""/>
19: <html:submit property="enviar" value="Enviar"/>
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: Cannot retrieve mapping for action /LogIn
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:852)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.strutsv1_005f1t001.index_jsp._jspService(index_jsp.java:103)
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: Cannot retrieve mapping for action /LogIn
org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:810)
org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:506)
org.apache.jsp.strutsv1_005f1t001.index_jsp._jspx_meth_html_005fform_005f0(index_jsp.java:162)
org.apache.jsp.strutsv1_005f1t001.index_jsp._jspService(index_jsp.java:93)
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.
Arquivos:
Web.XML
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID"
version="2.5">
<!-- Titulo -->
<display-name>strutsV1_1T001</display-name>
<!-- /Titulo -->
<!-- Erro 404 -->
<error-page>
<error-code>404</error-code>
<location>/erros/404.jsp</location>
</error-page>
<!-- /Erro 404 -->
<!-- Index -->
<welcome-file-list>
<welcome-file>/strutsv1_1t001/index.jsp</welcome-file>
</welcome-file-list>
<!-- /Index -->
<!-- Struts TLD TagLibs -->
<jsp-config>
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-template.tld</taglib-location>
</taglib>
</jsp-config>
<!-- /Struts TLD TagLibs -->
<!-- Struts config -->
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>application</param-name>
<param-value>ling.ApplicationResources</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- /Struts config -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
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="Validar" type="login.Validar"/>
</form-beans>
<action-mappings>
<action path="LogIn" type="login.Executar" name="Validar" input="/index.jsp">
<forward name="success" path="/logado.jsp"/>
<forward name="failure" path="/index.jsp"/>
</action>
</action-mappings>
</struts-config>
index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title><bean:message key="home.titulo"/></title>
</head>
<body>
<b><bean:message key="home.bemVindo"/></b><br/>
<html:form action="LogIn" type="login.Validar" method="POST">
<bean:message key="forms.nome"/> <html:text name="nome" property="nome" value=""/>
<bean:message key="forms.senha"/> <html:text name="senha" property="senha" value=""/>
<html:submit property="enviar" value="Enviar"/>
</html:form>
</body>
</html>
Validar.java
package login;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
public class Validar extends ActionForm {
private String nome = null;
private String senha = null;
public String getNome() {
return (nome);
}
public void setNome(String nome) {
this.nome = nome;
}
public String getSenha() {
return (senha);
}
public void setSenha(String senha) {
this.senha = senha;
}
}
Executar.java
package login;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class Executar extends Action {
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
String target = new String("success");
if ( form != null ) {
NameForm nameForm = (NameForm)form;
String nome = nameForm.getNome();
String senha = nameForm.getSenha();
}
if ( nome != "admin" || senha != "123456" )
target = new String("failure");
else {
request.setAttribute("NOME", nome);
}
return (mapping.findForward(target));
}
}
logado.jsp
UHUL
Estrutura de arquivos:
strutsV1_1T001
– build
– WAR
– -- strutsV1_1T001.WAR
– WebContent
– -- erros
– -- – 404.jsp
– -- META-INF
– -- strutsV1_1T001
– -- – index.jsp
– -- – logado.jsp
– -- WEB-INF
– -- – classes
– -- – -- ling
– -- – -- – ApplicationResources.properties
– -- – -- login
– -- – -- – Executar.java
– -- – -- – Validar.java
– -- – lib
– -- – -- [ Struts common & struts.jar ]
– -- – struts-config.xml
– -- – struts-bean.tld
– -- – struts-html.tld
– -- – struts-logic.tld
– -- – struts-nested.tld
– -- – struts-template.tld
– -- – struts-tiles.tld
– -- – web.xml
Creio que aí tem tudo que se é necesário saber, se alguem souber alguma coisa que possa ajudar, por favor, poste
Obrigado.
Tarcísio.