netbeans中最简单的servlet和web.xml

时间:2012-05-02 11:28:23

标签: java servlets netbeans glassfish web.xml

我试图了解java servlet如何工作,我正在使用netbeans 7.1.1作为我的IDE。它托管在我的开发机器上,这是在Windows 7主机操作系统上运行的Ubuntu VM。

我使用了NetBeans向导设置我的简单的应用程序,但一定是有什么我不理解如去到URL http://localhost:8080/hssdatabase/导致以下错误信息: -

  

javax.servlet.ServletException:PWC1397:Wrapper找不到servlet类hss.index或它所依赖的类

这是我的项目文件夹树: -

Netbeans project

这是我的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>

我也尝试过: -

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

然后转到http://localhost:8080/hssdatabase/index,但结果相同。

要部署应用程序,我使用新项目向导来设置基本项目,然后删除生成的jsp。然后删除标签之间web.xml中的所有内容,然后使用新的servlet向导创建servlet并填写web.xml。我很想知道为什么这不起作用,而不是检查我到达这里的步骤。我正在尝试理解web.xml以及它与servlet的关系。可能是xmlns声明错了吗?

我的index.java只是netbeans生成的bog标准默认servlet,所以我认为不值得在这里发布。

我的问题是:web.xml中是否存在缺失或错误的内容?

我已经阅读了所有关于它的内容,但看不出有任何问题。

2 个答案:

答案 0 :(得分:1)

该消息表明您的hss / index.java文件未编译或其所依赖的文件之一不在类路径中。您可能希望查看与“运行”或“部署”操作执行相关联的ant输出。输出应该如下所示:

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)

您还应该验证index.class文件是否位于$ projectroot / build / web / WEB-INF / classes / hss目录中。检查出来的最好方法是使用Files explorer。

答案 1 :(得分:-1)

确保在index.java中,在所有导入之前,声明包:

package Interfaz;

否则,即使web.xml正常,它也无法在该包下找到该servlet。