You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Eclipse中Maven项目部署Tomcat10.1后提交表单遇HTTP 404错误

问题:登录表单提交后出现HTTP 404错误

我使用Eclipse EE开发一个简单Maven项目,项目包含带用户名、密码输入框和提交按钮的登录表单。输入默认用户名admin和密码admin提交后,本该跳转至显示“Pass”的Success.jsp页面或显示“Fail”的Error.jsp页面,但提交后出现HTTP 404错误。

项目环境:

  • Tomcat 10.1版本
  • 依赖javax servlet 4.0.1

我已在pom.xml中配置所需依赖,web.xml中也配置了Servlet,项目文件目录结构如下:

  • src/main/java
    • com/examSolution
      • LoginServlet.java
  • src/main/webapp
    • index.jsp
    • Success.jsp
    • Error.jsp
  • pom.xml
  • web.xml

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>LoginServlet</servlet-name>
        <servlet-class>com.examSolution.LoginServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>LoginServlet</servlet-name>
        <url-pattern>/loginServlet</url-pattern>
    </servlet-mapping>
</web-app>

尝试过Stack Overflow及谷歌上的类似解决方案,但均未解决问题。相关代码如下:

index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    <form action="loginServlet" method="POST">
        <h1>JSP Page</h1>
        <input type="text" name="username">
        <input type="password" name="password">
        <input type="submit" value="Login" id="login">
    </form>
</body>
</html>

Success.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Test Page</title>
</head>
<body>
    <% out.println("Pass"); %>
</body>
</html>

Error.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Test Page</title>
</head>
<body>
    <% out.println("Fail"); %>
</body>
</html>

LoginServlet.java

package com.examSolution;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class LoginServlet
 */
@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        
        if(username.equals("admin") && password.equals("admin")) {
            response.sendRedirect("Success.jsp");
        }else {
            response.sendRedirect("Error.jsp");
        }
    }
}

内容的提问来源于stack exchange,提问作者Aniket Kajal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 13:35:26