Minha servlet não funciona

Buenas!
Fiz uma servlet para testar o uso, mas não funciona. Acusa este erro aqui:

java.lang.NoClassDefFoundError: WelcomeServlet (wrong name: servlet/WelcomeServlet)

Sendo que WelcomeServlet.class está no local que deveria estar. A impressão que dá é que o Tomcat não atualiza o web.xml, mesmo depois de reiniciá-lo. Postarei aqui o código da servlet, o web.xml e a página html de teste. Agradeço a quem puder ajudar.

[code]package 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 WelcomeServlet extends HttpServlet {

protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	
	response.setContentType("text/html");
	PrintWriter out = response.getWriter();
	
	out.println("<?xml version = \"1.0\"?>");
	out.printf("%s%s%s", "<!DOCTYPE html PUBLIC", 
		" \"-//W3C//DTD XHTML 1.0 Strict//EN\"",
		" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n");
	out.println("<html xmlns=\"http://www.w3.org/1999/xhtml\">");
	out.println("<head>");
	out.println("<title>Um simples exemplo de servlet</title>");
	out.println("</head>");
	out.println("<body>");
	out.println("<h1>Benvindo aos Servlets!</h1>");
	out.println("</body>");
	out.println("</html>");
	out.close();
}

}
[/code]

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
		http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
		
<display-name>
	Exemplo servlet
</display-name>

<description>
	Exemplo servlet
</description>

<servlet>
	<servlet-name>welcome1</servlet-name>
	<servlet-class>WelcomeServlet</servlet-class>
</servlet>

<servlet-mapping>
	<servlet-name>welcome1</servlet-name>
	<url-pattern>/welcome1</url-pattern>
</servlet-mapping>

</web-app>
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
	
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
	<title>Fazendo um HTTP Get Request</title>
</head>

<body>
	<form action="/jhtp6/welcome1" method="get">
		<input type="submit" value="Veja a servlet"/>
	</form>
</body>
</html>

A estrutura dos diretórios é assim: um diretório jhtp6, que é o diretório base da aplicação; dentro dele uma pasta servlets, contendo os htmls e jsps e a pasta WEB-INF; dentro da WEB-INF, o web.xml e uma pasta classes contendo os .class das servlets.

Tenta mapear sua servlet com o pacote:

&lt;servlet&gt;
 	&lt;servlet-name&gt;welcome1&lt;/servlet-name&gt;
 	&lt;servlet-class&gt;servlet.WelcomeServlet&lt;/servlet-class&gt;
 &lt;/servlet&gt;

Axo q é esse o pacote dela, certo?

Este mesmo. Já tentei fazer assim e retorna outro erro:

java.lang.ClassNotFoundException: servlet.WelcomeServlet

:frowning:

dentro de
WEB-INF
|
|Classes

tem o diretorio servlet? e dentro deste diretorio tá WelcomeServlet.class ?

Hmmm não tem esta pasta. Será este o erro? Testarei aqui.

cleriston, valeu che! Era este o erro, funcionou legal agora. :smiley:

Blz!

Acho q vc percebeu isso, mas senão fica ae a dica, dentro desta pasta classes deve ter seus pacotes como pastas.
Por exemplo
Pacote “br.schistossoma.servlets”
e a classe “MinhaServlet” dentro, ficaria

WEB-INF
-|Classes
—|br
-----|schistossoma
-------|servlets
e “MinhaServlet” dentro da pasta “servlets”