java - netbeans 中最简单的 servlet 和 web.xml

标签 java servlets netbeans glassfish web.xml

我试图了解 java servlet 的工作原理,并且我使用 netbeans 7.1.1 作为我的 IDE。这是托管在我的开发机器上,这是一个在 Windows 7 主机操作系统上运行的 Ubuntu 虚拟机。

我使用 netbeans 向导来设置我的简单应用程序,但是肯定有一些我不理解的地方,因为转到 url http://localhost:8080/hssdatabase/ 结果以下错误消息:-

javax.servlet.ServletException: PWC1397: Wrapper cannot find servlet class hss.index or a class it depends on

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

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 生成的标准默认 servlet,所以我认为不值得在这里发布。

我的问题是:web.xml 中是否有遗漏或错误的内容?

我已经阅读了所有我能找到的关于它的内容,但看不出有什么问题。

最佳答案

该消息表明您的 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 目录中。最好的检查方法是使用文件资源管理器。

关于java - netbeans 中最简单的 servlet 和 web.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10412823/

相关文章:

java - JMS session 线程影响

java - Apache POI 事件用户模型将时间戳值读取为 double 值

java - 缺少 InitialContext 定义时使用哪个 Java 运行时异常

c - 无法编译C程序

c++ - 如何在 Debug模式下在 MS Visual Studio 中显示部分表达式的值?

java - 如何在Java和C#中获取定义的元素之前和之后的所有元素

java - Admob 广告无法根据屏幕方向正确调整大小 [包括图片]

Java HttpServlet请求 : Wait with repsonse

Java Servlet、JAX-RS - 在基于表单的身份验证工作时遇到问题

java - Glassfish 上 Maven Web 应用程序的 Heroku Procfile 是什么?