dataServlet.java的功能: (1) 判断用户注册信息的【密码】与【确认密码】是否一致。 (2) 如果不一致,则返回register.jsp页面,并提示:“密码不一致” (3) 如果一致,将【用户名】、【密码】信息写入user数据表,并转至success.jsp页面,显示“注册成功”。
时间: 2024-03-01 18:54:09 浏览: 15
您好!根据您所提供的需求描述,可以编写如下的`dataServlet.java`:
```java
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/dataServlet")
public class dataServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
String confirm_password = request.getParameter("confirm_password");
if (!password.equals(confirm_password)) {
// 密码不一致
request.setAttribute("message", "密码不一致");
request.getRequestDispatcher("register.jsp").forward(request, response);
} else {
// 密码一致,将用户信息写入数据库
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "password");
PreparedStatement ps = con.prepareStatement("INSERT INTO user (username, password) VALUES (?, ?)");
ps.setString(1, username);
ps.setString(2, password);
ps.executeUpdate();
request.setAttribute("message", "注册成功");
request.getRequestDispatcher("success.jsp").forward(request, response);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
}
}
```
在上述代码中,我们首先获取用户输入的用户名、密码和确认密码,然后判断密码和确认密码是否一致,如果不一致,则返回`register.jsp`页面,并在页面上显示“密码不一致”提示信息;如果一致,则将用户名和密码信息写入数据库,并跳转到`success.jsp`页面,显示“注册成功”提示信息。请注意,这里我们使用了`PreparedStatement`对象来防止SQL注入攻击。同时,请根据您的实际情况修改数据库连接信息。