2012-07-02 17 views
8

Estoy intentando simplemente ejecutar un servlet en mi Tomcat local con Eclipse.Estado de HTTP 404 - en Eclipse con Tomcat

Pero sigo recibiendo este error y no tengo ni idea de qué hacer de manera diferente.

realidad lo grabé aquí: http://www.screenr.com/ZyD8

Muchas gracias!

También ha cambiado el web.xml para esto:

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

    <display-name> 
TEST3 
    </display-name> 

    <welcome-file-list> 

     <welcome-file> 
TEST3 
     </welcome-file> 
    </welcome-file-list> 

    <servlet> 

     <servlet-name> 
helloServlet 
     </servlet-name> 

     <servlet-class> 
HelloServlet 
     </servlet-class> 
    </servlet> 

    <servlet-mapping> 

     <servlet-name> 
helloServlet 
     </servlet-name> 

     <url-pattern> 
/hello 
     </url-pattern> 
    </servlet-mapping> 

</web-app> 
+0

Si el servidor tiene paquetes, si es así, escriba el nombre completo de la clase en web.xml –

+0

en el "paquete predeterminado". Pero incluso si lo creo en un paquete "test.servlet" y el puesto "test.servlet.HelloServlet" como el nombre de clase en web.xml, da el mismo error – user387184

+0

Verifique mi respuesta. –

Respuesta

20

he visto su enlace.

Siempre que ejecute un proyecto web dinámico. Por defecto, el contenedor Servlet (que es Tomcat en este caso) busca los archivos especificados en la lista de bienvenida. Compruebe su web.xml, que debería contener entrada como

<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> 

No ha creado el archivo de cualquiera de la lista anterior. Por lo tanto, ejecutar

http://localhost:8080/TEST2 le dará error 404.

En lugar de ejecutar: http://localhost:8080/TEST2/HelloSerlvet invocará el servlet que ha creado.

Editar: Compruebe el menú del proyecto de eclipse y verifique que "Crear automáticamente" esté marcado y el contenedor del servlet se esté ejecutando (http://localhost:8080).

Editar 2: Haga clic derecho en Proyecto -> Propiedades, seleccione Ruta de compilación Java -> pestaña fuente -> Cambiar carpeta de salida predeterminada. Crear /WEB-INF/classes bajo /WebContent (por defecto en Eclipse)

+0

por favor vea mi web.xml adjunto - cuando escribo "http: // localhost: 8080/TEST2/HelloSerlvet" da el mismo error. Creo que la clase no se implementa en absoluto en la ubicación correcta, pero no sé qué hacer. – user387184

+0

Lo siento, pero probé todo y todavía no funcionó. ¿Qué tengo que poner como Buildpath en la parte superior de "carpetas de origen en la ruta de compilación" y qué debo poner en "Líder de salida predeterminado". ¿Debería marcar "Permitir carpetas de salida como carpetas de origen"? – user387184

+0

Por favor, lea con cuidado. He mencionado para crear una nueva carpeta. en Editar 2 –

7

Esto se basa en la respuesta de Hardik Mishra con algunos puntos destacados: 1. En el explorador de archivos (no de Eclipse), crear manualmente el "/ WEB-INF/classes "under/WebContent 2. Haga clic derecho en Proyecto -> Propiedades, seleccione Ruta de compilación Java -> pestaña fuente -> Cambie la carpeta de salida predeterminada a la carpeta que acaba de crear. 3. vaya al Explorador de archivos, no desde Eclipse, ya que el "Explorador de proyectos" de Eclipse puede tener algunos filtros que no muestran la carpeta de clases. Debería ver los archivos .class compilados en este directorio

Intente volver a probarlo. Si no funciona, reinicie Eclipse por una vez y luego debería funcionar.

4

He estado viendo estos tipos de problemas durante bastante tiempo y he visto soluciones múltiples que funcionan para algunos y el resto aún enfrentan el mismo problema.

Una de las soluciones simples es atravesar el .java/.jsp/etc., Hacer clic derecho y seleccionar la opción ejecutar desde el servidor.

Encontré esta solución como una forma simple pero efectiva de correr.

ruta Recurso Java-> src -> -> ejemplo.java -> clic derecho -> ejecutar como -> ejecutar en el servidor.

Incluso después de esto también puede enfrentar algunos problemas como el puerto 8005 no disponible, por favor, siga el enlace a continuación para limpiar su configuración actual de Apache y volver a establecer la misma.

TOMCAT - HTTP Status 404

Deployment error:Starting of Tomcat failed, the server port 8080 is already in use

Esperanza Este hallazgo fue útil.

0

Normalmente, cuando modifica el archivo web.xml, debe "limpiar" Tomcat. Simplemente haga clic derecho en Tomcat en Eclipse y limpie. Haz lo mismo para el proyecto. También puede detener Tomcat, eliminar la aplicación de Tomcat (haga clic derecho en la aplicación debajo de Tomcat y eliminar) y luego agréguelo de nuevo. Reinicia Tomcat.

Cuestiones relacionadas