Soy completamente nuevo en la escritura de Java Servlet, y estoy luchando para conseguir una simple HelloWorld ejemplo funcione correctamente.

La HelloWorld.java la clase es:

package crunch;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
      throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    out.println("Hello World");
  }
}

Estoy Tomcat v7.0, y ya han leído preguntas similares, con las respuestas referidas a la evolución de la invoker servlet-mapping sección en web.xml, esta sección no existe realmente en la mía, y cuando he añadido el mismo problema persiste.

  • Este debe ser un problema de configuración. Por favor, proporcione su web.xml y la url que usted está tratando de acceder.
  • puede usted por favor, mostrar su web.xml y donde va a llamar ?
  • ¿qué versión de Java EE que usted está utilizando?!
  • Duplicado de stackoverflow.com/q/11731377
InformationsquelleAutor Tom Haddad | 2013-10-06

7 Comentarios

  1. 21

    probar esto (si el Java EE V6)

    package crunch;
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    @WebServlet(name="hello",urlPatterns={"/hello"})
    public class HelloWorld extends HttpServlet {
      public void doGet(HttpServletRequest request,
                        HttpServletResponse response)
          throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        out.println("Hello World");
      }
    }

    ahora en el servlet por http://127.0.0.1:8080/yourapp/hello

    donde 8080 es el valor por defecto de tomcat puerto, y yourapp es el nombre del contexto de su applciation

    • Yo no puedo tener acceso en el archivo html, por favor ayuda!!stackoverflow.com/questions/24967510/…
  2. 11

    Usted necesita definitivamente el mapa de tu servlet en la parte de la URL. Si el uso de Java EE 6 (que significa que al menos Servlet API 3.0), entonces usted puede anotar su servlet como

    @WebServlet(name="helloServlet", urlPatterns={"/hello"})
    public class HelloWorld extends HttpServlet {
         //rest of the class

    A continuación, usted puede ir a la localhost:8080/yourApp/hello y el valor debe ser mostrado. En caso de que no pueda el uso de la API de Servlet 3.0 que usted necesita para registrar este servlet en web.xml archivo como

    <servlet>
        <servlet-name>helloServlet</servlet-name>
        <servlet-class>crunch.HelloWorld</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>helloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
  3. 6

    Escribir servlets de Java es fácil si el uso de Java EE 7

    @WebServlet("/hello-world")
    public class HelloWorld extends HttpServlet {
      @Override
      public void doGet(HttpServletRequest request, 
                      HttpServletResponse response) {
       response.setContentType("text/html");
       PrintWriter out = response.getWriter();
       out.println("Hello World");
       out.flush();
      }
    }

    Desde el servlet 3.0

    La buena noticia es que el descriptor de despliegue que ya no es necesaria!

    Leer el tutorial para Los Servlets De Java.

    • Hola. Estoy usando JRE7 y Eclipse no está reconociendo @WebServlet. ¿Cómo puedo solucionar esto? Estoy con este mismo tema!
    • está usted seguro de que el compilador está configurado para JDK7, y también el JRE? (Quiero decir, en la configuración de Eclipse)
    • El enlace para el Servlet tutorial cambios a http://docs.oracle.com/javaee/7/tutorial/servlets.htm#BNAFD
    • Gracias, actualizado.
  4. 2

    esto es posible debido a lo que has creado tu .jsp o el .archivo html en el WEB-INF en lugar de la WebContent carpeta.

    Solución: basta con sustituir los archivos que hay en la WEB-INF de la carpeta a la carpeta Webcontent y probar la ejecución de la misma – obtendrá la salida correspondiente

  5. 0

    Para aquellos atascado con «El recurso solicitado no está disponible» en Java EE 7 y web dinámicas módulo 3.x, esto puede ayudar a: «Crear un Servlet» asistente de Eclipse (probado en Marte) no crea la @Path anotación para el servlet de la clase, pero yo tenía que incluir para acceder a successfuly a los métodos expuestos.

  6. 0

    Tiene para el usuario ../../nombreproyecto/nombre de archivo.jsp en su acción attr. o href

    ../= contiene la carpeta actual simple(demo.proyecto.nombre de archivo.jsp)

    Servlet sólo puede ser llamado con 1 barra de avance de su proyecto de nombre..

  7. -1

    Mi problema era que en web.xml archivo. En uno <servlet-mapping> hubo un error dentro de <url-pattern>: se me olvidó añadir / antes de url.

Dejar respuesta

Please enter your comment!
Please enter your name here