我正在尝试制作一个简单的管理应用程序,我们可以使用 Java servlet 和 JSP 来管理教师及其教授的课程。但问题是,当我使用 Tomcat 运行时,控制台中没有错误,但是当我尝试通过 localhost 访问页面时,收到“404”消息错误,当我们使用 Tomcat 服务器运行应用程序时,如何访问页面
这里是代码的代码结构,以便更好的理解 []() index.jsp代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Main Page</title>
</head>
<body>
<h1>Welcome to the Main Page</h1>
<ul>
<li><a href="${pageContext.request.contextPath}/courses.jsp">Courses</a></li>
<li><a href="${pageContext.request.contextPath}/teachers.jsp">Teachers</a></li>
</ul>
</body>
</html>
当我访问此网址时
http://localhost:8089/TeacherAndCousrseMangemntWepApp/
主页应该出现
index.jsp
在 Tomcat 服务器配置中定义为 welcome-file
web.xml
。
如果您使用 Tomcat 实例,并且未指定
,则容器 (Tomcat) 会查找其 default,即 Tomcat 实例中的welcome-file-list
。/conf/web.xml
这些是:
<welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list>
您还可以找到其他有用的信息。例如
*.jsp
资源如何映射。
您的问题可能与此问题标题中描述的相同:将 Servlet 映射到 / 的 URL 模式时无法加载资源文件。但没有细节很难预测确切原因。
默认 servlet 使用 url 模式
,它能够加载其他 servlet 未映射的静态资源。当您切换到此模式时,它就停止工作了。因此,您应该保留 servlet 映射。/
<servlet-mapping> <servlet-name>Servlet</servlet-name> <url-pattern>/Servlet</url-pattern> </servlet-mapping>
它将如何帮助其他人诊断类似问题。