java - 错误 404 : Eclipse Servlet Login Application

标签 java xml servlets

在 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/

相关文章:

python - 使用 elementtree 在 Python 中搜索嵌套 XML

java - 异常(exception)时电子邮件浏览器名称和版本

java - addactionlistener 的问题

java - 在 KDE 5 上运行 idea 时,鼠标在调试 JavaFX 项目时不起作用

java - 当我尝试从其他计算机访问小型 Web 应用程序时,CSS 不起作用

http - 应如何指定文档的响应内容类型以便跨浏览器一致地工作?

java - 在 Jetty 中通过默认 servlet 提供静态资源

java - 自定义 AsyncProcessor 中的 Camel Producer 模板

c# - XAMARIN - 从 youtube 添加视频

xml - 在交叉应用上使用嵌套节点查询 XML