gpt4 book ai didi

java - Servlet Hello World 错误 - 根本原因 : java. lang.ClassNotFoundException:

转载 作者:行者123 更新时间:2023-11-28 22:39:50 24 4
gpt4 key购买 nike

我正在读另一本很棒的Head First书。这是“Head First Servlets & JSP - 通过 Sun Certified Web Component Developer Exam”。我正在学习第一个关于创建小型“hello world”类型程序的教程。这是第 30 到 31 页。

我正在按以下方式编译 Java 源代码:C:\Users\用户名\Desktop\Servlets_HF_Example\project1>javac -classpath C:\tomcat\
apache-tomcat-9.0.0.M26-windows-x86\apache-tomcat-9.0.0.M26\lib\servlet-api.jar
-d classes src/Ch1Servlet.java

找不到的类,500错误的原因,源码如下:

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

public class Ch1Servlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {

PrintWriter out = response.getWriter();
java.util.Date today = new java.util.Date();
out.println("<html> " +
"<body> " + " <h1 align=center>Head First Chapter 1 Servlet</h1>"
+ "<br>" + today + "</body> " + "</html>");

}


}

web.xml 文件具有以下代码:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">


<servlet>
<servlet-name>Chapter1 Servlet</servlet-name>
<servlet-class>Ch1Servlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Chapter1 Servlet</servlet-name>
<url-pattern>/Serv1</url-pattern>
</servlet-mapping>

</web-app>

代码的文件夹结构如下:

 project1
|
|
+classes
|
Ch1Servlet.class
+etc
|
web.xml
+src
|
Ch1Servlet.java

放入tomcat webapps目录下的工程结构如下:

   ch1
|
|
+classes
|
Ch1Servlet.class
+WEB-INF
|
web.xml

enter image description here图0:已部署项目的文件夹结构

我在此 Windows 7 操作系统 (OS) 上设置了 TOMCAT_HOME 目录和 JAVA_HOME。当我部署应用程序并启动 Tomcat 时 1) 我看到 500 错误,提示找不到该类。这是找不到的 Ch1Servlet.class。然后,如果我刷新页面,我会看到 2) 404 错误。这些错误如下所示。

enter image description here图 1:500 错误 - 第一次点击

enter image description here图 2:404 - 第二次点击

我哪里错了?

最佳答案

为了让应用程序服务器正确加载您的类,您的 webapp 的结构应该如下所示:

ch1/
|
+- WEB-INF/
|
+- classes/
| |
| +- Ch1Servlet.class
|
+- web.xml

所有类和库都在 WEB-INF 文件夹下,具体分别在 classeslib 中。

关于java - Servlet Hello World 错误 - 根本原因 : java. lang.ClassNotFoundException:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46415740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com