Problema no 1º exemplo do livro struts em ação

Pessoal,

Estou iniciando meu estudo em struts 1x, e no primeiro exemplo do livro não está rodando, segue os meus arquivos, estrutura e no final a msg de erro.

Obrigado,

RegisterForm.java

package app;

import org.apache.struts.action.ActionForm;

public class RegisterForm extends ActionForm {

	protected String username;

	protected String password1;

	protected String password2;

	public String getUsername() {
		return this.username;
	}

	public String getPassword1() {
		return this.password1;
	}

	public String getPassword2() {
		return this.password2;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public void setPassword1(String password) {
		this.password1 = password;
	}

	public void setPassword2(String password) {
		this.password2 = password;

	}
}

RegisterAction.java

package app;

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 RegisterAction extends Action {

	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest req, HttpServletResponse res) {
		RegisterForm rf = (RegisterForm) form;

		String username = rf.getUsername();
		String password1 = rf.getPassword1();
		String password2 = rf.getPassword2();

		if (password1.equals(password2)) {

			try {
				UserDirectory.getInstance().setUser(username, password1);
			} catch (UserDirectoryException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			return mapping.findForward("sucess");
		}

		return mapping.findForward("failure");

	}

}

UserDirectoryException.java

[code]/*

  • $Header: /home/cvsroot/SIA_Chap1/WEB-INF/src/app/UserDirectoryException.java,v 1.1 2004/06/18 18:20:25 mengho Exp $
  • $Revision: 1.1 $
  • $Date: 2004/06/18 18:20:25 $
  • ====================================================================
  • The Apache Software License, Version 1.1
  • Copyright © 1999 The Apache Software Foundation. All rights
  • reserved.
  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
    1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
    1. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in
  • the documentation and/or other materials provided with the
  • distribution.
    1. The end-user documentation included with the redistribution, if
  • any, must include the following acknowlegement:
  •   "This product includes software developed by the
    
  •    Apache Software Foundation (http://www.apache.org/)."
    
  • Alternately, this acknowlegement may appear in the software itself,
  • if and wherever such third-party acknowlegements normally appear.
    1. The names “The Jakarta Project”, “Tomcat”, and "Apache Software
  • Foundation" must not be used to endorse or promote products derived
  • from this software without prior written permission. For written
  • permission, please contact apache@apache.org.
    1. Products derived from this software may not be called “Apache”
  • nor may “Apache” appear in their names without prior written
  • permission of the Apache Group.
  • THIS SOFTWARE IS PROVIDED ``AS IS’’ AND ANY EXPRESSED OR IMPLIED
  • WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  • OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  • DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  • ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  • SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  • LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  • USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  • ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  • OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  • OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.
  • ====================================================================
  • This software consists of voluntary contributions made by many
  • individuals on behalf of the Apache Software Foundation. For more
  • information on the Apache Software Foundation, please see
  • <http://www.apache.org/>.

*/

/**

  • @author George Franciscus
  • @version $Revision: 1.1 $ $Date: 2004/06/18 18:20:25 $
    */
    package app;

public class UserDirectoryException extends Exception {

// ; Empty implementation

}[/code]

UserDirectory

[code]/*

  • $Header: /home/cvspublic/jakarta-struts/src/example/org/apache/struts/example/LogoffAction.java,v 1.4 2000/09/23 22:53:53 craigmcc Exp $
  • $Revision: 1.4 $
  • $Date: 2000/09/23 22:53:53 $
  • ====================================================================
  • The Apache Software License, Version 1.1
  • Copyright © 1999 The Apache Software Foundation. All rights
  • reserved.
  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
    1. Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
    1. Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in
  • the documentation and/or other materials provided with the
  • distribution.
    1. The end-user documentation included with the redistribution, if
  • any, must include the following acknowlegement:
  •   "This product includes software developed by the
    
  •    Apache Software Foundation (http://www.apache.org/)."
    
  • Alternately, this acknowlegement may appear in the software itself,
  • if and wherever such third-party acknowlegements normally appear.
    1. The names “The Jakarta Project”, “Tomcat”, and "Apache Software
  • Foundation" must not be used to endorse or promote products derived
  • from this software without prior written permission. For written
  • permission, please contact apache@apache.org.
    1. Products derived from this software may not be called “Apache”
  • nor may “Apache” appear in their names without prior written
  • permission of the Apache Group.
  • THIS SOFTWARE IS PROVIDED ``AS IS’’ AND ANY EXPRESSED OR IMPLIED
  • WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  • OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  • DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  • ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  • SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  • LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  • USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  • ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  • OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  • OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  • SUCH DAMAGE.
  • ====================================================================
  • This software consists of voluntary contributions made by many
  • individuals on behalf of the Apache Software Foundation. For more
  • information on the Apache Software Foundation, please see
  • <http://www.apache.org/>.

*/

/**

  • Implementation of <strong>Action</strong> that validates a user
  • logon.
  • :TODO: Javadocs.
  • @todo Javadocs
  • @author George Franciscus
  • @version $Revision: $ $Date: $
    */
    package app;

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Properties;

public class UserDirectory {

/**
 *
 */
private static final String UserDirectoryFile = "resources/users.properties";



/**
 *
 */
private static final String UserDirectoryHeader = "${user}=${password}";

/**
 *
 */
private static UserDirectory userDirectory = null;

/**
 *
 */
private static Properties p;

/**
 *
 */
private UserDirectory() throws UserDirectoryException {

	java.io.InputStream i = null;
	p = null;
	i = this.getClass().getClassLoader().getResourceAsStream(
			UserDirectoryFile);

	if (null == i) {
		throw new UserDirectoryException();
	}

	else {

		try {
			p = new Properties();
			p.load(i);
			i.close();
		}

		catch (java.io.IOException e) {
			p = null;
			System.out.println(e.getMessage());
			throw new UserDirectoryException();
		}

		finally {
			i = null;
		}

	} // end else

} // end UserDirectory

/**
 *
 */
public static UserDirectory getInstance() throws UserDirectoryException {

	if (null == userDirectory) {

		userDirectory = new UserDirectory();

	}

	return userDirectory;

}

/**
 * Transform id so that it will match any conventions used by user
 * directory. The default implementation forces the id to uppercase. Does
 * <b>not</b> expect the userId to be null and will throw a NPE if it is.
 * 
 * @exception Throws
 *                Null Pointer Exception if userId is null.
 */
public String fixId(String userId) {
	return userId.toUpperCase();
}

/**
 *
 */
public boolean isValidPassword(String userId, String password) {

	// no null passwords
	if (null == password)
		return false;

	// conform userId to uppercase
	String _userId = fixId(userId);

	// no passwords for non-users
	if (!isUserExist(_userId))
		return false;

	// does password match user's password
	return (password.equals(getPassword(_userId)));

}

/**
 *
 */
public boolean isUserExist(String userId) {

	// no null users
	if (null == userId)
		return false;

	// if not null, it's a user
	return !(null == p.getProperty(userId));

}

/**
 *
 */
public String getPassword(String userId) {
	return p.getProperty(userId);
}

/**
 *
 */
public Enumeration getUserIds() {
	return p.propertyNames();
}

/**
 *
 */
public void setUser(String userId, String password)
		throws UserDirectoryException {

	// no nulls
	if ((null == userId) || (null == password)) {
		throw new UserDirectoryException();
	}

	try {

		// conform userId to uppercase when stored
		p.put(fixId(userId), password);
		String o = this.getClass().getClassLoader().getResource(
				UserDirectoryFile).getFile();
		p.store(new FileOutputStream(o), UserDirectoryHeader);

	}

	catch (IOException e) {
		throw new UserDirectoryException();

	}
}

} // end UserDirectory

[/code]

register.jsp

&lt;%@ taglib uri="/WEB-INF/struts-html.tld" prefix="form" %&gt;

	&lt;form:form action="register.do"&gt;
		Username:&lt;form:text property="username"/&gt;
		Enter password:&lt;form:password property="password1"/&gt;
		re-enter password:&lt;form:password property="password2"/&gt;
		&lt;form:submit value="Register"/&gt;
	&lt;/form:form&gt;

struts-config.xml

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

<!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>

&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;

</struts-config>[/code]

web.xml

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

<!DOCTYPE web-app
PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN”
http://java.sun.com/j2ee/dtds/web-app_2_2.dtd”>

<web-app>

<!-- Action Servlet Configuration -->
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

&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;init-param&gt;
  &lt;param-name&gt;debug&lt;/param-name&gt;
  &lt;param-value&gt;2&lt;/param-value&gt;
&lt;/init-param&gt;
&lt;init-param&gt;
  &lt;param-name&gt;detail&lt;/param-name&gt;
  &lt;param-value&gt;2&lt;/param-value&gt;
&lt;/init-param&gt;
&lt;init-param&gt;
  &lt;param-name&gt;validate&lt;/param-name&gt;
  &lt;param-value&gt;true&lt;/param-value&gt;
&lt;/init-param&gt;
&lt;load-on-startup&gt;2&lt;/load-on-startup&gt;

</servlet>

<!-- Action Servlet Mapping -->

<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

<!-- Struts Tag Library Descriptors -->
<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>

</web-app>[/code]

[img]

[/img]

Mensagem de erro

16/09/2008 20:20:17 org.apache.catalina.loader.WebappClassLoader modified
INFO:     Additional JARs have been added : 'standard-1.0.6.jar'
16/09/2008 20:20:17 org.apache.catalina.core.StandardContext reload
INFO: Reloading this Context has started
16/09/2008 20:20:23 org.apache.struts.action.ActionServlet initChain
INFO: Loading chain catalog from jar:file:/C:/java/Tomcat%205.5/webapps/register/WEB-INF/lib/struts-core-1.3.8.jar!/org/apache/struts/chain/chain-config.xml
16/09/2008 20:20:24 org.apache.struts.util.PropertyMessageResources loadLocale
WARNING:   Resource org/apache/struts/action/ActionResources_pt_BR.properties Not Found.
16/09/2008 20:20:24 org.apache.struts.util.PropertyMessageResources loadLocale
WARNING:   Resource org/apache/struts/action/ActionResources_pt.properties Not Found.
16/09/2008 20:20:24 org.apache.struts.action.ActionServlet splitAndResolvePaths
SEVERE: Missing configuration resource for path /WEB-INF/struts-config.xml
16/09/2008 20:20:24 org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet action as unavailable
16/09/2008 20:20:24 org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /register threw load() exception
javax.servlet.UnavailableException: Missing configuration resource for path /WEB-INF/struts-config.xml
	at org.apache.struts.action.ActionServlet.splitAndResolvePaths(ActionServlet.java:1872)
	at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:683)
	at org.apache.struts.action.ActionServlet.init(ActionServlet.java:356)
	at javax.servlet.GenericServlet.init(GenericServlet.java:212)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
	at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3025)
	at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:432)
	at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1278)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
	at java.lang.Thread.run(Unknown Source)




No seu web.xml vc mapeou o arquivo de configuração do struts com o seguinte nome:

<init-param>  
       <param-name>config</param-name>  
       <param-value>/WEB-INF/struts-config.xml</param-value>  
</init-param>  

E no seu WEB-INF o seu arquivo de configuração do struts está com o nome:

struts.config.xml

Renomeie ele para: struts-config.xml, ou altere o nome no seu web.xml

<init-param>  
       <param-name>config</param-name>  
       <param-value>/WEB-INF/struts.config.xml</param-value>  
</init-param> 

[]'s

vixi nunca ia ver que foi renomeado o struts config.

Obrigado pela resposta, o código está no pc lá de casa. Mas tarde testo e retorno o resultado.

Renomei no arquivo web.xml a tag param-name de "config" para "struts.config.xml":

web.xml

&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt;

&lt;!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
  "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"&gt;

&lt;web-app&gt;

  &lt;!-- Action Servlet Configuration --&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;struts.config.xml&lt;/param-name&gt;
      &lt;param-value&gt;/WEB-INF/struts-config.xml&lt;/param-value&gt;
    &lt;/init-param&gt;
    &lt;init-param&gt;
      &lt;param-name&gt;debug&lt;/param-name&gt;
      &lt;param-value&gt;2&lt;/param-value&gt;
    &lt;/init-param&gt;
    &lt;init-param&gt;
      &lt;param-name&gt;detail&lt;/param-name&gt;
      &lt;param-value&gt;2&lt;/param-value&gt;
    &lt;/init-param&gt;
    &lt;init-param&gt;
      &lt;param-name&gt;validate&lt;/param-name&gt;
      &lt;param-value&gt;true&lt;/param-value&gt;
    &lt;/init-param&gt;
    &lt;load-on-startup&gt;2&lt;/load-on-startup&gt;
  &lt;/servlet&gt;


  &lt;!-- Action Servlet Mapping --&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;!-- Struts Tag Library Descriptors --&gt;
  &lt;taglib&gt;
    &lt;taglib-uri&gt;/WEB-INF/struts-bean.tld&lt;/taglib-uri&gt;
    &lt;taglib-location&gt;/WEB-INF/struts-bean.tld&lt;/taglib-location&gt;
  &lt;/taglib&gt;

  &lt;taglib&gt;
    &lt;taglib-uri&gt;/WEB-INF/struts-html.tld&lt;/taglib-uri&gt;
    &lt;taglib-location&gt;/WEB-INF/struts-html.tld&lt;/taglib-location&gt;
  &lt;/taglib&gt;

  &lt;taglib&gt;
    &lt;taglib-uri&gt;/WEB-INF/struts-logic.tld&lt;/taglib-uri&gt;
    &lt;taglib-location&gt;/WEB-INF/struts-logic.tld&lt;/taglib-location&gt;
  &lt;/taglib&gt;

&lt;/web-app&gt;

struts.config.xml

&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot; ?&gt;

&lt;!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.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;

Mas a mensagem de erro continua a mesma:

17/09/2008 18:48:43 org.apache.catalina.loader.WebappClassLoader modified
INFO:     Additional JARs have been added : 'standard-1.0.6.jar'
17/09/2008 18:48:43 org.apache.catalina.core.StandardContext reload
INFO: Reloading this Context has started
17/09/2008 18:48:45 org.apache.struts.action.ActionServlet initChain
INFO: Loading chain catalog from jar:file:/C:/java/Tomcat%205.5/webapps/register/WEB-INF/lib/struts-core-1.3.8.jar!/org/apache/struts/chain/chain-config.xml
17/09/2008 18:48:46 org.apache.struts.util.PropertyMessageResources loadLocale
WARNING:   Resource org/apache/struts/action/ActionResources_pt_BR.properties Not Found.
17/09/2008 18:48:46 org.apache.struts.util.PropertyMessageResources loadLocale
WARNING:   Resource org/apache/struts/action/ActionResources_pt.properties Not Found.
17/09/2008 18:48:46 org.apache.struts.action.ActionServlet splitAndResolvePaths
SEVERE: Missing configuration resource for path /WEB-INF/struts-config.xml
17/09/2008 18:48:46 org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet action as unavailable
17/09/2008 18:48:46 org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /register threw load() exception
javax.servlet.UnavailableException: Missing configuration resource for path /WEB-INF/struts-config.xml
	at org.apache.struts.action.ActionServlet.splitAndResolvePaths(ActionServlet.java:1872)
	at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:683)
	at org.apache.struts.action.ActionServlet.init(ActionServlet.java:356)
	at javax.servlet.GenericServlet.init(GenericServlet.java:212)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
	at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3025)
	at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:432)
	at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1278)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
	at java.lang.Thread.run(Unknown Source)

Pelo jeito há mais algum detalhe que impede o struts de carregar a página register.jsp, mais alguma dica?

Você renomeou na tag errada (), vc deve renomear o nome na tag e manter a tag como estava, exatamente do jeito que esta no código abaixo:

<init-param>    
        <param-name>config</param-name>    
        <param-value>/WEB-INF/src/struts.config.xml</param-value>    
</init-param>   

[]'s

[quote=lcegatti]Você renomeou na tag errada (), vc deve renomear o nome na tag e manter a tag como estava, exatamente do jeito que esta no código abaixo:

<init-param>    
        <param-name>config</param-name>    
        <param-value>/WEB-INF/src/struts.config.xml</param-value>    
</init-param>   

[]'s[/quote]

Nossa é mesmo, eu errei o nome do arquivo, corrigi de struts.config.xml para struts-config.xml

A mensagem de erro na inicialização mudou um pouco, pelo que percebi no trecho abaixo

...
7/09/2008 20:28:54 org.apache.struts.action.ActionServlet initChain
INFO: Loading chain catalog from jar:file:/C:/java/Tomcat%205.5/webapps/register/WEB-INF/lib/struts-core-1.3.8.jar!/org/apache/struts/chain/chain-config.xml
17/09/2008 20:28:54 org.apache.commons.digester.Digester startElement
SEVERE: Begin event threw exception
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:1773)
...continua

Notei na fila de erro da inicialização a mensagem de erro:

...
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(Unknown Source)
	at java.security.SecureClassLoader.defineClass(Unknown Source)
	at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1876)
... continua
...
17/09/2008 20:28:54 org.apache.struts.util.PropertyMessageResources loadLocale
WARNING:   Resource org/apache/struts/action/ActionResources_pt_BR.properties Not Found.
17/09/2008 20:28:54 org.apache.struts.util.PropertyMessageResources loadLocale
WARNING:   Resource org/apache/struts/action/ActionResources_pt.properties Not Found.
17/09/2008 20:28:54 org.apache.struts.action.ActionServlet handleConfigException
SEVERE: Parsing error processing resource path jndi:/localhost/register/WEB-INF/src/struts-config.xml
java.lang.reflect.InvocationTargetException
	at org.apache.commons.digester.Digester.createSAXException(Digester.java:3181)
...continua

Complementando a cascata de erro, quando submetido o endereço http://localhost:8080/register/register.jsp no browser (vide imagem)

Segue a imagem da perpectiva do navigator do Eclipse






Esse erro é que a versão da JVM que vc está rodando esta aplicação é incompativel com a versão que as classes foram compiladas. (Exemplo compilar as classes na VM 1.5 e tentar roda-las na VM 1.4).

Você pegou o exemplo de algum lugar, ou vc compilou as classes e logo após isso mudou a versão da sua JVM ?

Qual versão da JVM que vc está utilizando ?

Tente instalar a JVM 1.5 ou 1.6 na sua máquina.

[]'s

[quote=lcegatti]Esse erro é que a versão da JVM que vc está rodando esta aplicação é incompativel com a versão que as classes foram compiladas. (Exemplo compilar as classes na VM 1.5 e tentar roda-las na VM 1.4).

Você pegou o exemplo de algum lugar, ou vc compilou as classes e logo após isso mudou a versão da sua JVM ?

Qual versão da JVM que vc está utilizando ?

Tente instalar a JVM 1.5 ou 1.6 na sua máquina.

[]'s[/quote]

Problema resolvido!

O problema ocorreu por que o meu Eclipse estava configurado com a versão JDK 1.4, e acabei gerando bytecode nesta mesma versão.
Para resolver excluir os arquivos (.class) e alterei meu eclipse para compilar os novos arquivos na versão JDK 1.5

Obrigado pela orientação.