jsp servlet Etat HTTP 404

时间:2017-12-02 19:01:38

标签: servlets http-status-code-404

我编程时有这个麻烦:

  

Etat HTTP 404 - / IT / UserServlet

     

输入Rapport d''état

     

message / IT / UserServlet

     

描述La ressourcedemandéen''estpas disponible。

     

Apache Tomcat / 8.0.27

这是我的代码: 的 register.jsp

<head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Register Page</title>
        <script src="https://s.codepen.io/assets/libs/modernizr.js" type="text/javascript"></script>
        <link rel="stylesheet" href="css/register_style.css">

        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                var x_timer;
                $("#username").keyup(function (e) {
                    clearTimeout(x_timer);
                    var user_name = $(this).val();
                    x_timer = setTimeout(function () {
                        check_username_ajax(user_name);
                    }, 1000);
                });

                function check_username_ajax(username) {
                    $("#user-result").html('<img src="img/ajax-loader.gif" />');
                    $.post('CheckUserNameServlet', {'username': username}, function (data) {
                        $("#user-result").html(data);
                    });
                }
            });
        </script>
    </head>
    <body>
        <form action="UserServlet" method="POST">
            <h1>Sign up</h1><br/>
            <span class="input"></span>
            <input type="text" name="name" id = "name" placeholder="Full name" autofocus autocomplete="off" />
            <span class="input" ></span>
            <input type="text" name="username" id="username" placeholder="username" />
            <span id = "user-result"></span>
            <span id="passwordMeter"></span>
            <input type="password" name="password" id="password" placeholder="Password" title="Password min 8 characters. At least one UPPERCASE and one lowercase letter" required pattern="(?=^.{8,}$)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*$"/>
            <input type="hidden" value="insert" name="command">
            <button type="submit" value="Sign Up" title="Submit form" class="icon-arrow-right"><span>Sign up</span></button>
        </form>                
    </body>

这是sevlet:

public class UserServlet extends HttpServlet {
    UserDAO userDao = new UserDAO();
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //processRequest(request, response);
        String command = request.getParameter("command");
        String url="";
        switch(command){
            case"insert":
                User user = new User();
                user.setUserId(new Date().getTime());
                user.setName(request.getParameter("name"));
                user.setUserName(request.getParameter("username"));
                user.setPassword(request.getParameter("password"));
                user.setCreateTime(Date.from(Instant.now()));
                user.setUpdateTime(Date.from(Instant.now()));
                userDao.InsertUser(user);
                HttpSession session = request.getSession();
                session.setAttribute("user", user);
                url = "index.jsp";
                break;               

        }
        RequestDispatcher rd = getServletContext().getRequestDispatcher(url);
        rd.forward(request, response);
    }
}

这是UseDAO:

public boolean InsertUser(User u) {
        Connection conn = Connect.getConnecttion();
        String insert_user = "INSERT INTO user(name, user_name, password, role, create_time, update_time) values(?,?,?,?,?,?)";
        try {
            PreparedStatement ps = conn.prepareStatement(insert_user);
            ps.setString(1, u.getName());
            ps.setString(2, u.getUserName());
            ps.setString(3, u.getPassword());
            ps.setInt(4, 4);
            ps.setDate(5, Date.valueOf(LocalDate.now()));
            ps.setDate(6, Date.valueOf(LocalDate.now()));
            ps.executeUpdate();
            return true;
        } catch (SQLException ex) {
            Logger.getLogger(UserDAO.class.getName()).log(Level.SEVERE, null, ex);
        }
        return false;
    }

我的web.xml:

<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <servlet>
        <servlet-name>LoginServlet</servlet-name>
        <servlet-class>Controller.UserServlet</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>CheckUserNameServlet</servlet-name>
        <servlet-class>Controller.CheckUserNameServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>LoginServlet</servlet-name>
        <url-pattern>/LoginServlet</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>CheckUserNameServlet</servlet-name>
        <url-pattern>/CheckUserNameServlet</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>

</web-app>

当我运行测试register.jsp并且它显示错误但我不知道在哪里,所以请帮忙!

1 个答案:

答案 0 :(得分:0)

根据添加的web.xml,您已将网址映射到您尝试访问的/LoginServlet,而不是/UserServlet

还要确保服务器中的上下文路径(/IT)正确无误。