MySQL база данных не обновляет значения (JSP и проект сервлета) - PullRequest
1 голос
/ 05 апреля 2020

Я пишу JSP и проект сервлета для регистрации пользователя, используя его имя, фамилию и пароль в Eclipse. Когда я ввожу значения на веб-странице, все в порядке, но когда я проверяю базу данных впоследствии, значения таблицы не обновляются (таблица все еще пуста). Был использован веб-сервер Tomcat. Сегменты кода для файлов MVC используются следующим образом:

UserDAO. java '' '

         public int registerUser(Users users) throws ClassNotFoundException{    
        String query = "INSERT INTO users" + "(id, name, surname, password) VALUES" + "(?, ?, ?, ?);"; int result = 0;

        Class.forName("com.mysql.jdbc.Driver");

        try (Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/churchdb","root","");

            //Step 2:Create a statement using connection object
                PreparedStatement stmt = con.prepareStatement(query)){
                stmt.setInt(1, 1);
                stmt.setString(2, users.getUserName());
                stmt.setString(3,users.getSurname());
                stmt.setString(4, users.getPassword());

                System.out.println(stmt);

            //Step 3: Execute the query or update query
                result = stmt.executeUpdate();


        }
        catch(SQLException e){
            //process sql exception
            e.printStackTrace();
        }
        return result;
        }
''' 

UserServlet. java '' '

    private UserDAO userDao = new UserDAO();  
              protected void doGet(HttpServletRequest request, HttpServletResponse response) throws 
              ServletException, IOException {
        // TODO Auto-generated method stub
        response.getWriter().append("Served at: ").append(request.getContextPath());

        RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/views/userregistration.jsp");
        dispatcher.forward(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String userName = request.getParameter("userName");
        String surname = request.getParameter("surname");
        String password = request.getParameter("password");

        Users users = new Users();
        users.setUserName(userName);
        users.setSurname(surname);
        users.setPassword(password);

        try{
            userDao.registerUser(users);
        }catch(ClassNotFoundException e){
            e.printStackTrace();
        }

        RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/views/userdetails.jsp");
        dispatcher.forward(request, response);

    }

}

' '' Регистрация пользователя. php '' '

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Register</title>

<link href="bootstrap/css/bootstrap.css" rel="stylesheet" type="text/css"/>
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css"/>

</head>
<body>
    <div align="center">
    <h1>User Registration form</h1>>
    <form action="<%= request.getContextPath() %>/register" method="post">
    <table style="with: 80%">
        <tr>
            <td>Name</td>
            <td><input type="text" name="userName" /></td>
        </tr>

        <tr>
            <td>Surname</td>
            <td><input type="text" name="surname"/></td>
        </tr>

        <tr>
            <td>Password</td>
            <td><input type="text" name=password/></td>
        </tr>
    </table>

    <input type="submit" value="Submit" />
    </form>
    </div>
</body>
</html>

' ''

Примечание: Также имеется файл javabean

...