Servlet-Não Roda

Galera, boa tarde !

Estudando a apostila Caelum, mas no capitulo de servlets não estou fazer o exemplo proposto.

Bem eu criei meu projeto no Eclpse jspteste e o meu contexto: web com os diretórios padrões.

Criei um arquivo OiMundo.java:

package com.br.caelum.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class OiMundo extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{

   //recebe o writer
	PrintWriter out = response.getWriter();
  //escreve o texto
	out.println("<html>");
	out.println("Caelum explica");
	out.println("</html>");

}

}

e o web.xml:

Aplicacao web simples

Simples Servlet

servletDeTeste
<description>Simples Servlet</description>

<servlet-class>com.br.caelum.servlet.OiMundo</servlet-class>

servletDeTeste
/oi

Conferi que o arquivo OiMundo.class foi gerado em:
webapps\web\WEB-INF\classes\com\br\caelum\servlet

Mas quando fui acessar: http://localhost:8093/jspteste/oi

Apareceu:

HTTP Status 500 -


type Exception report

message

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

exception

javax.servlet.ServletException: Error allocating a servlet instance
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)
java.lang.Thread.run(Thread.java:595)

root cause

java.lang.UnsupportedClassVersionError: Bad version number in .class file
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1634)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:860)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1307)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)
java.lang.Thread.run(Thread.java:595)

O que pode está acontecendo ?

Verifique se o seu container web (Tomcat), suporta a mesma versão do Java em que foi compilada a classe.

Versão do Tomcat:5.025
versão java: 1.6
Utilizo o eclise 3.2.1 easy.

Mas outras aplicações simples que não envolva mapeamento eu como apenas acessar o arquivo.jsp ele carrega normalmente.

Faz o seguinte teste: vá no menu do Eclipse:

Window --> Preferences --> Java --> Compiler --> troce a combo que contem Compiler compilance leavel para 5.0 caso tiver como 6.0 e tente novamente, ou baixe o tomcat 6.

[quote=Pedrosa]Faz o seguinte teste: vá no menu do Eclipse:

Window --> Preferences --> Java --> Compiler --> troce a combo que contem Compiler compilance leavel para 5.0 caso tiver como 6.0 e tente novamente, ou baixe o tomcat 6.[/quote]

Valeu Pedro, vou instalar o Jdk 1.5 e o tomcat 5.5.