Я пишу 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