Sorvlet

Bom, testei teu código e realmente não tava dando certo.

Mudei um pouco e agora está funcionando aqui:

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<display-name>agenda</display-name>

	<servlet>
		<servlet-name>Oi</servlet-name>
		<servlet-class>OiMundo</servlet-class>
	</servlet>


	<servlet-mapping>
		<servlet-name>Oi</servlet-name>
		<url-pattern>/oi</url-pattern>
	</servlet-mapping>

</web-app>

Servlet OiMundo.class:

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 = 5594330465046634984L;

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

		PrintWriter out = response.getWriter();

		out.println("<html>");
		out.println("<body>");
		out.println("Primeira servlet");
		out.println("</body>");
		out.println("</html>");

	}

}

Aqui também funcionou.

Andrei, o que estava errado?

Obrigado.

Acredito que seja seu web.xml.

Estava mapeado errado:

Você não fechava a tag para então começar a tag :

[quote]<?xml version="1.0"?>

servletOiMundo
OiMundo

servletOiMundo /oi [/quote]

Deveria ser assim:

[code]
Oi
OiMundo

<servlet-mapping>  
    <servlet-name>Oi</servlet-name>  
    <url-pattern>/oi</url-pattern>  
</servlet-mapping>  [/code]

Eu fiz da forma como estava na apostila da Caelum, o exemplo da apostila consta somente isso:

<servlet>     
        <servlet-name>Oi</servlet-name>     
        <servlet-class>OiMundo</servlet-class>     
    </servlet>     
     
     
    <servlet-mapping>     
        <servlet-name>Oi</servlet-name>     
        <url-pattern>/oi</url-pattern>     
    </servlet-mapping> 

Desculpa a ignorância, é que estou começando mexer com web e não entendi esse monte de código do .xml:

<?xml version="1.0" encoding="UTF-8"?>   
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"   
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"   
    id="WebApp_ID" version="2.5"> 

Isso é obrigatório?

Obrigado.

Sim, é obrigatório.[code] <?xml version="1.0" encoding="ISO-8859-1"?>

<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_5.xsd"  
    version="2.5">  
      
    <servlet>  
        <servlet-name>oi</servlet-name>  
        <servlet-class>OiMundo</servlet-class>  
    </servlet>  
      
    <servlet-mapping>  
        <servlet-name>oi</servlet-name>  
        <url-pattern>/oi</url-pattern>  
    </servlet-mapping>  
      
</web-app>[/code]

Obrigado pessoal, pela ajuda e pela paciência.