Meu Servlet não funciona

Pessoal… não estou conseguindo executar meu servlet de jeito nenhum.

Aqui está o código do servlet:

[code]import javax.servlet.;
import java.io.
;

public class TesteServlet implements Servlet {

public void init(ServletConfig config) {
	
}
public void service(ServletRequest solicitacao, ServletResponse resposta) {
	PrintWriter out = null;
	
	try {
		out = resposta.getWriter();
	}
	catch(IOException ex) {
		ex.printStackTrace();
	}
	
	out.println("<HTML><HEAD>Meu servlet de teste</HEAD>");
	out.println("<BODY><H1>Meu Primeiro Servlet</H1></BODY></HTML>");
}

public void destroy() {
	
}

public String getServletInfo() {
	return null;
}

public ServletConfig getServletConfig() {
	return null;
}

}[/code]

Meu Tomcat é o 4.1, criei um diretório dentro do webapps chamado MeuApp, dentro dele a pasta WEB-INF, dentro dela a pasta classes e dentro desta coloquei o arquivo .class

ainda dentro da pasta WEB-INF coloquei meu arquivo web.xml:

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

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

&lt;servlet&gt;
	&lt;servlet-name&gt;teste&lt;/servlet-name&gt;
	&lt;servlet-class&gt;TesteServlet&lt;/servlet-class&gt;
&lt;/servlet&gt;

&lt;servlet-mapping&gt;
  		&lt;servlet-name&gt;teste&lt;/servlet-name&gt;
  		&lt;url-pattern&gt;/*&lt;/url-pattern&gt;
	&lt;/servlet-mapping&gt;

</web-app>[/code]

dei um start no Tomcat, fui no browser e digitei http://localhost:8080/MeuApp/teste

Já tentei de várias formas fazer esse Servlet funcionar mas n tem jeito!! Alguem me ajude por favor!!

Obrigado!

Posso refatorar o teu servlet? hehehe, tente assim Wagner:

package com.foo

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 TesteServlet extends HttpServlet &#123;

   public void doGet&#40; HttpServletRequest request, HttpServletResponse response &#41;
      throws IOException, ServletException &#123;

      response.setContentType&#40; &quot;text/html&quot; &#41;;

      PrintWriter writer = response.getWriter&#40;&#41;;

      writer.println&#40; &quot;&lt;html&gt;&quot; &#41;;
      writer.println&#40; &quot;&lt;body&gt;&quot; &#41;;
      writer.println&#40; &quot;Ow yeaahh, funciona! &#58;&#41;&quot; &#41;;
      writer.println&#40; &quot;&lt;/body&gt;&quot; &#41;;
      writer.println&#40; &quot;&lt;/html&gt;&quot; &#41;;
   &#125;

&#125;

o mapeamento:

&lt;web-app&gt;

   &lt;servlet&gt;
      &lt;servlet-name&gt;teste&lt;/servlet-name&gt;
      &lt;servlet-class&gt;com.foo.TesteServlet&lt;/servlet-class&gt;
   &lt;/servlet&gt;

   &lt;servlet-mapping&gt;
      &lt;servlet-name&gt;teste&lt;/servlet-name&gt;
      &lt;url-pattern&gt;/teste&lt;/url-pattern&gt;
   &lt;/servlet-mapping&gt;

&lt;/web-app&gt;

Faça o deploy, starte seu Tomcat, e tente acessar:

http://localhost:8080/MeuApp/teste

ele deve dar extends em HttpServlet e não em Servlet

Até pode implementar javax.servlet.Servlet, mas 99,999999% das aplicações que fazem uso de servlets, são aplicações Web, logo, extende javax.servlet.http.HttpServlet de uma vez mesmo. E se assim o for, não sobrescreva o service() Wagner, e sim os métodos relacionados ao HTTP, doGet(), doPost(), etc, encontrados em javax.servlet.http.HttpServlet.

Aew Matheus… continua não funcionando :cry: :cry: :cry:

Criei um diretorio dentro da pasta classes chamado com, dentro um chamado foo e dentro o .class do código que vc me passou. Arrumei meu .xml mas mesmo assim não funfa.

A tela que dá diz:

HTTP Status 404 - /MeuApp/teste


type Status report

message /MeuApp/teste

description The requested resource (/MeuApp/teste) is not available.


Apache Tomcat/4.1.30

humm, pode postar pra gente ai como esta a tua estrutura completa agora? onde esta a pasta raíz da tua app, WEB-INF, tudo… tudo mesmo heheahea, e, qnd tu for fazer deploy do servlet no container, verifique se nao aparece nenhum erro no console do tomcat tb.

Seguinte… verifique se tua IDE está compilando o arquivo do servlet (se o arquivo não tiver compilado em .class, ou gerado o arquivo de deploy ele não roda msm!)
2º verifique, se há mapeamento no web.xml (um amigo aí citou um exemplo de como fazê-lo)
3º se tua versão do tomcat for 6+, em vez de utilizar o servlet-mapping vc apenas necessita de uma @Anotation antes da declaração da classe, exemplo:

@WebServlet("/AuthServlet")                                       // <- !!!ANOTATION!!!
      public class AuthServlet extends HttpServlet {

4º pode ser que vc não tenha percebido, mas no teu código citado vc está “implementando” a interface e não estendendo à ela…
extends != implements
verifique