Onde está o erro do mapeamento

Pessoal, criei o mapeamento no Tomcat (dentro do Eclipse) da seguinte forma no arquivo web.xml do projeto:

<servlet>
       <display-name>Operacao</display-name>
       <servlet-name>Operacao</servlet-name>
       <servlet-class>br.teste.Operacao</servlet-class>
   </servlet>
   <servlet-mapping>
	   <servlet-name>Operacao</servlet-name>
	   <url-pattern>/operacao</url-pattern>
  </servlet-mapping>

Em um form JSP eu chamo a execução assim:

<form action="operacao" method="post"  name="opera" id="opera">

Quando acesso o meu form JSP que chama o servlet ocorre o seguinte erro:

type Exception report

message Error instantiating servlet class br.teste.Operacao

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

exception

javax.servlet.ServletException: Error instantiating servlet class br.teste.Operacao
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
	org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	java.lang.Thread.run(Unknown Source)

root cause

java.lang.ClassNotFoundException: br.teste.Operacao
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
	org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	java.lang.Thread.run(Unknown Source)

Alguém sabe o que pode ser? Já dei um clean, tanto no projeto quanto no servidor para evitar algum “lixo (classes antigas)” e o problema persiste.

Como está a estrutura de packages do teu projeto?

Tem certeza de que a classe está no local informado? assim, absoluta mesmo?

Os servlets estão em Java Resources/src/br/teste/Operacao, levando em consideração que o meu projeto está no Eclipse.

Onde eu consigo visualizar se o Tomcat está apontando corretamente para as classes compiladas?

Existe alguma outra forma de mapear um servlet sem ser com um caminho absoluto?

Pessoal, consegui executar o mapeamento utilizando annotations, mas com o mapeamento tradicional via web.xml não foi de jeito nenhum.

Vlw pela ajuda.