Estoy tratando de entender cómo los servlets de java de trabajo y estoy usando netbeans 7.1.1 como mi IDE. Este es alojado en mi dev máquina que es un Ubuntu VM que se ejecuta en windows 7 el sistema operativo host.

He utilizado el asistente de netbeans para configurar mi aplicación sencilla, sin embargo hay algo que no estoy entendiendo como ir a la url http://localhost:8080/hssdatabase/ resultados en el siguiente mensaje de error:-

javax.servlet.ServletException: PWC1397: Contenedor no puede encontrar servlet clase hss.índice o de una clase depende de

Aquí está mi proyecto árbol de carpetas:-

Lo más sencillo posible servlet y web.xml en netbeans

Aquí está mi web.xml:-

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <servlet>
        <servlet-name>index</servlet-name>
        <servlet-class>hss.index</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>index</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>

También probé:-

<url-pattern>/index</url-pattern>

y va a http://localhost:8080/hssdatabase/index, pero que tenía el mismo resultado.

Para implementar la aplicación que utiliza el asistente para nuevo proyecto para establecer un proyecto básico, luego se elimina el jsp que se ha generado. A continuación, se elimina todo en web.xml entre las etiquetas y, a continuación, utiliza el nuevo servlet asistente para crear el servlet y rellenar web.xml. Estoy interesado en la comprensión de por qué esto no funciona, en lugar de inspeccionar los pasos que me llevó a hacer aquí. Estoy tratando de comprender el web.xml y su relación con el servlet en el momento. Podría ser el xmlns declaraciones en las que están equivocados?

Y mi index.java es sólo el pantano estándar predeterminado servlet generado por netbeans, así que no creo que vale la pena publicarlo aquí.

Mi pregunta es: ¿hay algo que falta o mal en el web.xml?

He leido todo lo que puede encontrar acerca de él, pero no le veo nada de malo.

  • Que la acción o comando se utiliza para implementar la aplicación web? Has desactivado implementar en guardar para este proyecto?
InformationsquelleAutor vascowhite | 2012-05-02

2 Comentarios

  1. 1

    El mensaje indica que su hss/index.java archivo no compilar O uno de los archivos de los que depende no está en el classpath. Usted puede desear mirar en la hormiga de salida asociado con el ‘Run’ o ‘Deploy’ ejecución de las acciones. El resultado debe ser algo como esto:

    init:
    deps-module-jar:
    deps-ear-jar:
    deps-jar:
    Created dir: /Users/vkraemer/NetBeansProjects/WebApplication37/build/web/WEB-INF/classes
    Created dir: /Users/vkraemer/NetBeansProjects/WebApplication37/build/web/META-INF
    Copying 1 file to /Users/vkraemer/NetBeansProjects/WebApplication37/build/web/META-INF
    Copying 2 files to /Users/vkraemer/NetBeansProjects/WebApplication37/build/web
    library-inclusion-in-archive:
    library-inclusion-in-manifest:
    Created dir: /Users/vkraemer/NetBeansProjects/WebApplication37/build/empty
    Created dir: /Users/vkraemer/NetBeansProjects/WebApplication37/build/generated-sources/ap-source-output
    compile:
    compile-jsps:
    In-place deployment at /Users/vkraemer/NetBeansProjects/WebApplication37/build/web
    Initializing...
    run-deploy:
    Browsing: http://localhost:8080/WebApplication37
    run-display-browser:
    run:
    BUILD SUCCESSFUL (total time: 1 second)

    También debe comprobar que el index.class el archivo está en los $projectroot/build/web/WEB-INF/classes/hss directorio. La mejor manera de comprobar que la salida es el uso de los Archivos del explorador.

    • Gracias. HORMIGA era la parte que me faltaba. Esta es mi primera incursión en Java, es bastante diferente a la de PHP :).
  2. -1

    Asegúrese de que en index.java antes de que los de las importaciones, se declara el paquete:

    package Interfaz;

    De lo contrario no será capaz de encontrar que el servlet en virtud de que el paquete aunque web.xml está bien.

    • ¿Qué tiene que ver con nada?

Dejar respuesta

Please enter your comment!
Please enter your name here