[Ajuda com servlet]

package br.com.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{

	/**
	 * 
	 */


	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
	   super.service(request,response);
		PrintWriter out = response.getWriter(); 
		//escreva o texto 
		out.println("<html>");
		out.println("<body>");
		out.println("<ola mundo>");
		out.println("</body>");
		out.println("</html>");
	}
}

ir este e xml mais ele fala quer da erro
no http


HTTP Status 405 - HTTP method GET is not supported by this URL

este e o 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>fj21-agenda1</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
<servlet>
   <servlet-name>servletOiMundo</servlet-name>
   <servlet-class>br.com.caelum.servlet.OiMundo</servlet-class>
</servlet> 
<servlet-mapping>
   <servlet-name>servletOiMundo</servlet-name>
   <url-pattern>/oi</url-pattern>
</servlet-mapping> 
</web-app>

quem puder me ajuda com algumas dicas agradeço
aprender sozinho e dificil rsrss ainda com apostilas que
mal explicar as coisas ^^

Cara se eu não me engano você teria que colocar esse código out.println("<html>"); out.println("<body>"); out.println("<ola mundo>"); out.println("</body>"); out.println("</html>");
nos métodos DoPost ou DoGet

faça isso e veja o resultado!
coloca no DoGet se der erro coloca no DoPost !
Não lembro mais quando no HTML e GET na Servlet tem que ser DoGet

Espero ter clareado um pouco!

vlw

Jamis,

Uma classe de servlet que estende HttpServlet nunca deve implementar (sobrescrever) o método service. O método service oriundo de HttpServlet implementa um código que verifica qual ação HTTP foi utilizada e chama o método do… correspondente.

Por exemplo, se a ação HTTP for POST o service original chama o método doPost, se for GET ele chama o método doGET.

Uma forma interessante de você estruturar os seus servlets é criar um método padrão, por exemplo processRequest que será chamado pelos métodos doGet e doPost. Nesse método você coloca o código que deseja.

Por exemplo:

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 NewServlet extends HttpServlet {
   
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            out.println("&lt;html&gt;");
            out.println("&lt;head&gt;");
            out.println("&lt;title&gt;Servlet NewServlet&lt;/title&gt;");  
            out.println("&lt;/head&gt;");
            out.println("&lt;body&gt;");
            out.println("&lt;h1&gt;Olá Mundo JEE&lt;/h1&gt;");
            out.println("&lt;/body&gt;");
            out.println("&lt;/html&gt;");
        } finally { 
            out.close();
        }
    } 

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    } 

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
}

Se você criar um template de código, todos os seus servlets seguirão um determinado padrão, facilitando a manutenção no futuro.

Espero ter sido útil.

carakas foi muito ultil me matando para fazer
muito bom vlw mesmo cara
^^