在 Eclipse 中的 tomcat 上使用 servlet 运行此登录应用程序时,出现 404 错误。我花了两天的时间来解决这个问题,但这个问题仍然存在。我只是无法弄清楚到底出了什么问题。我总是得到:-
HTTP 状态 404 -/GiftCardWebsiteLogin/Login
输入状态报告
留言/GiftCardWebsiteLogin/登录
描述请求的资源不可用。
Apache Tomcat/8.0.32
public class Login extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String email = request.getParameter("email");
String password = request.getParameter("pass");
Validate validate=new Validate();
if(validate.checkUser(email, password))
{
request.setAttribute("attributeName",email);
RequestDispatcher result = request.getRequestDispatcher("Welcome");
result.forward(request, response);
}
else
{
out.println("Username or Password incorrect");
RequestDispatcher result = request.getRequestDispatcher("index.html");
result.include(request, response);
}
}
}
html file
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>LOGIN</title>
</head>
<body>
<form method="post" action="Login">
Email ID:<input type="text" name="email" /><br/>
Password:<input type="password" name="pass" /><br/>
<input type="submit" value="Login" />
</form>
If you are a new user you can register here.<a href="register.html">Register</a>
</body>
</html>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<servlet>
<servlet-name>Login</servlet-name>
<servlet-class>/Login</servlet-class>
</servlet>
<servlet>
<servlet-name>Welcome</servlet-name>
<servlet-class>Welcome</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Welcome</servlet-name>
<url-pattern>/Welcome</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Register</servlet-name>
<servlet-class>Register</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Register</servlet-name>
<url-pattern>/Register</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
最佳答案
声明类时,您不小心在 web.xml 文件中添加了斜杠:
<servlet>
<servlet-name>Login</servlet-name>
<servlet-class>/Login</servlet-class>
</servlet>
正确的应该是没有斜杠(/):
<servlet>
<servlet-name>Login</servlet-name>
<servlet-class>Login</servlet-class>
</servlet>
您还必须添加映射:
<servlet-mapping>
<servlet-name>Login</servlet-name>
<url-pattern>/Login</url-pattern>
</servlet-mapping>
关于java - 错误 404 : Eclipse Servlet Login Application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36277913/