[RESOLVIDO] Dúvida no Struts 1.3 [ClassNotFoundException]

Boa tarde galera…

Estou estudando o Struts, e fazendo alguns exemplos práticos.

Rodo o projeto no Tomcat 7, porém estou enfrentando alguns problemas…

Fiz o mapeamento no struts-config.xml para que ao acessar a URL http://localhost:8080/Struts/testeBemLoko.do seja aberta o exemplo.jsp porém só recebo o erro abaixo:

Nov 19, 2012 1:43:47 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [testeDeStruts] in context with path [/Struts] threw exception [java.lang.ClassNotFoundException: action.TesteSimplesAction] with root cause
java.lang.ClassNotFoundException: action.TesteSimplesAction
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
	at org.apache.struts.chain.commands.util.ClassUtils.getApplicationClass(ClassUtils.java:54)
	at org.apache.struts.chain.commands.util.ClassUtils.getApplicationInstance(ClassUtils.java:71)
	at org.apache.struts.chain.commands.servlet.CreateAction.createAction(CreateAction.java:98)
	at org.apache.struts.chain.commands.servlet.CreateAction.getAction(CreateAction.java:68)
	at org.apache.struts.chain.commands.AbstractCreateAction.execute(AbstractCreateAction.java:91)
	at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
	at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
	at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

Já revisei todo o código, já verifiquei se os nomes das classes não estão errados, enfim, até meus colegas daqui da empresa com mais experiência já olharam os códigos e não conseguimos resolver…

Segue abaixo o restante dos códigos:

web.xml

[code]<?xml version="1.0" encoding="UTF-8"?>


testeDeStruts
org.apache.struts.action.ActionServlet
1

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

[/code]

struts-config.xml

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

[/code]

TesteSimplesAction.java

[code]package action;

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

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
		HttpServletRequest request, HttpServletResponse response)
		throws Exception {
	
	System.out.println("Executando o código da lógica de negócios...");
	return mapping.findForward("ok");
}

}
[/code]

exemplo.jsp

[code]<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1”
pageEncoding=“ISO-8859-1”%>

Forward com sucesso Forward ok! [/code]

Alguém já passou por isso?

Um colega meu fez igualzinho e consegue rodar, comigo acontece esse erro maldito.

Tenho outro jsp que é o index da página, e se eu digitar o link sem a parte final do mapping ele acessa esse index normalmente…

:roll:

Ninguém?

Poxa… :cry:

Estou continuando o tutorial e aprendendo Forms agora, espero que pelo menos isso funcione…

:roll:

EDIT: Então pessoal. O código acima está certinho. Fiz de tudo no Eclipse até descobrir que ele funcionou após eu clicar em Build Project. Não sei porque cargas da água ele estava mantendo alguma versão anterior em memória…

Mas deu tudo certo, e agora to quebrando a cabeça com Forms…

:wink: