[list]Olá pessoal,
Sou novo no mundo java e pra poder me ajudar a aprender java pra web ou melhor Struts, comprei o livro Struts em ação, mas no primeiro capitulo existe um exemplo básico que esta apresentando erro. Poderiam me ajudar?? Preciso aprender isso logo, pois entrei como trainne de java e tenho que saber isso… to ferrado, não sei nem montar a estrutura de diretórios e nem sei o que colocar dentro de cada diretório.
Ai, pessoal, segue o erro que apresenta na aplicação que fiz(copiei rsrs)… os códigos fonte[list]
ERRO:
org.apache.jasper.JasperException: File “/WEB-INF/struts-html.tld” not found
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:411)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:118)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:159)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539)
org.apache.jasper.compiler.Parser.parse(Parser.java:126)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:220)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
RegisterAction.java
package app;
import org.apache.struts.action.*;
import javax.servlet.http.*;
import java.io.*;
public class RegisterAction extends Action
{
public ActionForward perform (ActionMapping mapping,
ActionForm form,
HttpServletRequest req,
HttpSerletResponse res)
{
//Faca a coercao do formulario para o RegisterForm
String username = rf.getUsername();
String password1 = rf.getPassword1();
String password2 = rf.getPassword2();
// Aplique a logica de negocio
if (password1.equals(password2))
{
try
{
//Retorne ActionForward no caso de sucesso
UserDirectory.getInstance().setUser(username,password1);
return mapping.findForward("sucess");
}
catch (UserDirectoryException e)
{
return mapping.findForward("failure");
}
}
//Retorne ActionForward no caso de falha
return mapping.findForward("failure");
}
}
registerform.java
package app;
import org.apache.struts.action.*;
public class RegisterForm extends ActionForm
{
/*Declaracao de variaveis*/
protected String username;
protected String password1;
protected String password2;
/*Declaracao dos getters*/
public String getUsername ()
{
return this.username;
};
public String getPassword1 ()
{
return this.password1;
};
public String getPassord2 ()
{
return this.password2;
};
/*Declaracao dos setters*/
public void setUsername(String username)
{
this.username = username;
};
public void setPassword1(String password)
{
this.password1 = password;
};
public void setPassword2 (String password)
{
this.password2 = password;
};
}
struts-config.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
/* Aqui contém detalhes que o ActionServlet precisa para lidar com as solicitações feitas para sua aplicação. */
<!-- ======================================== Form Bean Definitions -->
<struts-config>
<form-beans>
<!-- Registration form bean -->
<form-bean name="registerForm" type="app.RegisterForm"/>
</form-beans>
<!-- =================================== Action Mapping Definitions -->
<action-mappings>
<!-- Process a user logon -->
<action path="/register"
type="app.RegisterAction"
name="registerForm">
<forward name="sucess" path="/sucess.html"/>
<forward name="failure" path="/failure.html"/>
</action>
</action-mappings>
</struts-config>
register.jsp
<%@ taglib uri="WEB-INF/struts-html.tld" prefix="form" %>
<form:form action="register.do">
UserName:<form:text property="username"/><br>
enter password:<form:password property="password1"/><BR>
re-enter password:</form:password property="password2"/><BR>
<form:submit value="Register"/>
</form:form>
sucess.html
<HTML>
<HEAD>
<TITLE>SUCESS</TITLE>
</HEAD>
<BODY>
Registration succeeded!
<P><A > try another?</A></P>
</BODY>
</HTML>
failure.html
<HTML>
<HEAD>
<TITLE>FAILURE</TITLE>
</HEAD>
<BODY>
Registration failure!
<P><A > try again?</A></P>
</BODY>
</HTML>
Valeu galera pela força e um grande abraço a todos…
