Reduzindo a expectativa de vida com Servlets e Tomcat!

Olá, pessoal!

Preciso muito da ajuda de vocês: estou estudando servlets e estou com um problema há 3 dias que não consigo resolver! Bem, vamos lá:

  • Utilizo o WinXP SP2 com o Java 6. Instalei o Tomcat 6 e criei o contexto da minha aplicação dentro do webapps;
  • Quando coloco os servlets dentro do WEB-INF/classes da minha aplicação, eles funcionam normalmente.
  • Ao mover um .class (que funciona) para um pacote como em WEB-INF/classes/myapp o Tomcat me dá o erro 404 e diz que o servlet não está disponível (Servlet xxxxxx is not available);
  • no web.xml da minha aplicação, o servlet-mapping está correto e funcionando (quando o .class está na WEB-INF/classes). Já tentei alterá-lo, mas não resolveu;
  • o servlet-class funciona apenas quando está com o nome da classe. Quando incluo o pacote (como em myapp.MyClass) ele não funciona e me dá o erro 404;
  • já conferi toda a sintaxe do web.xml e está tudo em ordem (inclusive a declaração inicial do xml);
  • já descomentei o invoker no web.xml da pasta conf e também não resolveu;
  • já joguei tudo que era .jar na WEB-INF/lib e não deu certo;
  • alterei o CLASSPATH para tudo que era pasta e jar, e também não funcionou (fiz isso também com o JAVA_HOME e o CATALINA_HOME);
  • quando coloco o sample.war do Tomcat no WEB-INF ele descompacta e funciona normalmente (inclusive acessando os pacotes dentro do WEB-INF/classes);
  • Já tentei instalar o Tomcat em pastas com nomes simples ou na raiz;
  • Já tentei usar o Tomcat 5.5 com o Java 5 mas também acontece o mesmo problema;
  • Já restartei o Tomcat, pelo menos umas 10.000 vezes;

Bem, nesta altura do campeonato estou pensando em procurar um exorcista para meu micro ou assistir o tutorial “Poltergeist, o fenômeno” para ver se consigo resolver meu problema.

Alguém poderia ao menos me dar uma luz?

Obrigado!

Posta aí a sua classe que está no pacote e também o seu arquivo web.xml

Você não pode alterar o .class compilado de pacote sem alterar a declaração package do código fonte e compilar novamente.

O problema é isto ai…