Struts erro, no tomcat

alguem poderia me ajudar, desde o começo da semana q estou pedindo a ajuda de vcs, mas ate agora ninguem se prontificou. To colocando aí a etrutura de diretorios, a jsp, o ActionForm, o struts-config e o erro q esta dando.

webapps
|
|____register
|
|____WEB-INF
|
|___classes
| |___app
|____lib

JSP

<%@ taglib uri="WEB-INF/struts-html.tld" prefix="html" %>

<html:form action="register.do">
	UserName:&lt;html:text property="username" /&gt;<br>
	enter password:&lt;html:password property="password1" /&gt;<br> 
	re-enter password:&lt;html:password property="password2" /&gt;
	&lt;html:submit value="Register" /&gt;
&lt;/html:form&gt;

ActionForm

package app;
import org.apache.struts.action.*;

public class RegisterForm extends ActionForm {
	
	protected String username;
	protected String password1, password2;
	
	public String getUsername(){
		
		return username;
	}
	
	public String getPassword1(){
		
		return password1;
	}
	
	public String getPassword2(){
		
		return password2;
	}
	
	public void setUsername(String username){
		
		this.username = username;		
	}
	
	public void setPassword1(String password1){
		
		this.password1 = password1;		
	}
	
	public void setPassword2(String password2){
		
		this.password2 = password2;		
	}
	
}

struts-config

<?xml version="1.0" encoding="ISO-8859-1" ?>
&lt;!DOCTYPE struts-config PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
              "http://struts.apache.org/dtds/struts-config_1_1.dtd"&gt;

&lt;struts-config&gt;
	&lt;form-beans&gt;
		&lt;form-bean name="registerForm" type="app.RegisterForm" /&gt;
	&lt;/form-beans&gt;
	&lt;action-mappings&gt;
		&lt;action path="/register" type="app.RegisterAction" name="registerForm"&gt;
			&lt;forward name="success" path="/success.html" /&gt;
			&lt;forward name="failure" path="/failure.html" /&gt;
		&lt;/action&gt;
	&lt;/action-mappings&gt;
&lt;/struts-config&gt;

erro

exception 

javax.servlet.ServletException: Cannot find ActionMappings or ActionFormBeans collection
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:845)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:778)
	org.apache.jsp.register_jsp._jspService(org.apache.jsp.register_jsp:76)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause 

javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
	org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:711)
	org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:419)
	org.apache.jsp.register_jsp._jspx_meth_html_form_0(org.apache.jsp.register_jsp:92)
	org.apache.jsp.register_jsp._jspService(org.apache.jsp.register_jsp:69)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

o seu diretorio classes esta dentro de webapps?

pelo que ta escrito parece que sim, se tiver mesmo ele deve ficar em

webapps/WEB-INF /classes

assim como o diretorio lib

onde vc colocou seu arquivo struts-config.xml?

classes e lib estao dentro de WEB-INF, e o arquivo struts-config.xml tambem esta dentro de WEB-INF.

esse exemplo q estou usando e do livro Struts em ação( cap. 1 ), so q n to conseguindo rodar. me ajudem.

Seu web.xml está com o mapeamento do servlet de processamento das actions (*.do) configurado corretamente?
O atributo load-on-startup do ActionServlet está setado?

eu acho q o problema esta no web.xml, olha aí o q fiz e diga aí o q ta errado.

&lt;web-app&gt;
	
	&lt;servlet&gt;
    &lt;servlet-name&gt;action&lt;/servlet-name&gt;
	  &lt;servlet-class&gt;org.apache.struts.action.ActionServlet&lt;/servlet-class&gt;
	  
	  &lt;init-param&gt;
	     &lt;param-name&gt;config&lt;/param-name&gt;
	     &lt;param-value&gt;WEB-INF/struts-config.xml&lt;/param-value&gt;
	  &lt;/init-param&gt;
	&lt;/servlet&gt;

	&lt;servlet-mapping&gt;
  	&lt;servlet-name&gt;action&lt;/servlet-name&gt;
  	&lt;url-pattern&gt;*.do&lt;/url-pattern&gt;
	&lt;/servlet-mapping&gt;
				
&lt;/web-app&gt;

foi um cara q mandou p mim, mas n entendi p q esse init-param???

ola,

tente colocar no web.xml assim pra ver se funciona

&lt;servlet&gt; &lt;servlet-name&gt;action&lt;/servlet-name&gt; &lt;servlet-class&gt; org.apache.struts.action.ActionServlet &lt;/servlet-class&gt; &lt;init-param&gt; &lt;param-name&gt;config&lt;/param-name&gt; &lt;param-value&gt; /WEB-INF/struts-config.xml &lt;/param-value&gt; &lt;/init-param&gt; &lt;load-on-startup&gt;1&lt;/load-on-startup&gt; &lt;/servlet&gt;

curinga,

O atributo load-on-startup do teu servlet não foi setado, isso impede que ele consiga processar a requisição corretamente…

Conforme o rodrigo lhe passou tente, seta-lo para 1:

  <servlet>
   ...
   
    <load-on-startup>1</load-on-startup>
  </servlet>

ei rodrigo, coloquei o web.xml, igualzinho como vc falou, mas ta dando o mesmo erro. E agora o q faço?

Como está seu web.xml?

eu coloquei o web.xml, da aplicação padrão do struts

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

Struts Blank Application action org.apache.struts.action.ActionServlet config /WEB-INF/struts-config.xml debug 2 detail 2 2 action *.do index.jsp /tags/struts-bean /WEB-INF/struts-bean.tld /tags/struts-html /WEB-INF/struts-html.tld /tags/struts-logic /WEB-INF/struts-logic.tld /tags/struts-nested /WEB-INF/struts-nested.tld /tags/struts-tiles /WEB-INF/struts-tiles.tld [/code]

e quando eu estou inicializando o tomcat, ta dizendo q ta dando erro ao inicializar o ActionServlet.

vc n tem uma aplicação básica, q vc possa me dar com os arquivos configurados só p mim fazer um teste, pois já tou triste de tanto tentar e n conseguir. Desde da semana retrasada q tou lutando p rodar a 1ª aplicação do livro struts em ação, mas ta dificil.

Já tentou utilizar a estrutura do struts-blank ???

E aí cu_ringa, blz? Comprei o mesmo livro estou tendo o mesmo problema. Vc consegiu resolver?

Att,

Ricardo

o problema era o seguinte, no livro n fala q a pessoa tem q colocar isso no arquivo application.properties, agora vai dar certo. E se lembre q tem que colocar os diretorios tb, tipo WEB-INFclasses/resources/application.properties
no struts-config vc coloca assim. acho q vai resolver seu problema.

&lt;message-resources parameter="resources.application" /&gt;
# Errors
errors.footer=
errors.header=&lt;h3&gt;<font color="red">Erro de Validação</font>&lt;/h3&gt;You must correct the following error(s) before proceeding:
errors.ioException=I/O exception rendering error messages: {0}
error.database.missing=<li>User database is missing, cannot validate logon credentials</li>
errors.required={0} é obrigatório.
errors.minlength={0} can not be less than {1} characters.
errors.maxlength={0} can not be greater than {1} characters.
errors.invalid={0} é invalido.

errors.byte={0} must be an byte.
errors.short={0} must be an short.
errors.integer={0} must be an integer.
errors.long={0} must be an long.
errors.float={0} must be an float.
errors.double={0} must be an double.

errors.date={0} is not a date.

errors.range={0} is not in the range {1} through {2}.

errors.creditcard={0} is not a valid credit card number.

errors.email={0} is an invalid e-mail address.

Foi não…
Segue o erro. Tem + alguma dica?

Att,

type Exception report

message

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

exception

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
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)

root cause

java.lang.NullPointerException
org.apache.struts.taglib.tiles.InsertTag.processAttribute(InsertTag.java:689)
org.apache.struts.taglib.tiles.InsertTag.createTagHandler(InsertTag.java:489)
org.apache.struts.taglib.tiles.InsertTag.doStartTag(InsertTag.java:451)
org.apache.jsp.index_jsp._jspx_meth_tiles_insert_0(index_jsp.java:94)
org.apache.jsp.index_jsp._jspService(index_jsp.java:65)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
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.

O meu Struts quando tava aparecendo esse problema foi só adicionar, aquelas linhas ao application.properties. Agora esse erro aí eu nunca vi, mas como fala de Jasper pode ser algum erro no seu jsp.

exception 
 
 javax.servlet.ServletException: Cannot find ActionMappings or ActionFormBeans collection
 	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:845)
 	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:778)
 	org.apache.jsp.register_jsp._jspService(org.apache.jsp.register_jsp:76)
 	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 
 
 root cause 
 
 javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
 	org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:711)
 	org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:419)
 	org.apache.jsp.register_jsp._jspx_meth_html_form_0(org.apache.jsp.register_jsp:92)
 	org.apache.jsp.register_jsp._jspService(org.apache.jsp.register_jsp:69)
 	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

java.lang.NullPointerException org.apache.struts.taglib.tiles.InsertTag.processAttribute(InsertTag.java:689) ...
Pelo visto, vc pode estar utilizando alguma taglib com algum atributo vazio…Ou usando a tag display sem especificar o atributo requestURI

Salve, salve encontrei o temível xabu… por favor quem puder explicar o que significa esta tag xml do web.xml, e os valores que são passados (1,2,3) ficarei muito grato!

1