【发布时间】:2021-11-14 13:46:18
【问题描述】:
在 intelij 中创建项目并启动 Tomcat 服务器后,我成功获得了 index.jsp 页面。
但是当我尝试打开 HelloServlet.java 时,我得到:“Error instantiating servlet class”错误。
然后当我重新加载此页面时,我收到 404 错误:“源服务器没有找到目标资源的当前表示或不愿意透露存在的表示。”
这段代码肯定可以在另一台装有 Tomcat 的电脑上运行,但在我的电脑上不行。
HelloServlet.java
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
public class HelloServlet extends HttpServlet {
private String message;
public void init() {
message = "Hello World!";
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("text/html");
// Hello
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h1>" + message + "</h1>");
out.println("</body></html>");
}
public void destroy() {
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
</web-app>
index.jsp
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<title>JSP - Hello World</title>
</head>
<body>
<h1><%= "Hello World!" %></h1>
<br/>
<a href="HelloServlet">Hello Servlet</a>
</body>
</html>
项目结构
|____resources
|____webapp
| |____index.jsp
| |____WEB-INF
| | |____web.xml
|____java
| |____HelloServlet.java
我应该怎么做才能解决我的问题?
【问题讨论】:
-
HelloServlet.java你在哪个包里? -
HelloServlet.java位于没有任何包的 java 文件夹中 -
这个答案没有帮助
标签: java tomcat intellij-idea