使用javaweb写一个注册前端与后端代码,需要连接数据库,注册成功自动跳转登录页面。
时间: 2024-03-27 20:36:19 浏览: 16
好的,下面是一个简单的JavaWeb注册页面的前端代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>注册页面</title>
</head>
<body>
<h1>注册页面</h1>
<form method="post" action="register">
<label>用户名:</label>
<input type="text" name="username" required><br>
<label>密码:</label>
<input type="password" name="password" required><br>
<label>确认密码:</label>
<input type="password" name="confirmPassword" required><br>
<button type="submit">注册</button>
</form>
</body>
</html>
```
接下来是JavaWeb注册页面的后端代码,使用Java Servlet实现:
```java
import java.io.IOException;
import java.io.PrintWriter;
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("/register")
public class RegisterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
private static final String DB_URL = "jdbc:mysql://localhost:3306/test";
private static final String USER = "root";
private static final String PASSWORD = "root";
public RegisterServlet() {
super();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
String confirmPassword = request.getParameter("confirmPassword");
if(password.equals(confirmPassword)) {
Connection conn = null;
PreparedStatement stmt = null;
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL, USER, PASSWORD);
String sql = "INSERT INTO user (username, password) VALUES (?, ?)";
stmt = conn.prepareStatement(sql);
stmt.setString(1, username);
stmt.setString(2, password);
stmt.executeUpdate();
response.sendRedirect("login.html");
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
try {
if(stmt != null) stmt.close();
if(conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
} else {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<script>alert('两次密码不一致!');</script>");
out.println("<script>history.back();</script>");
}
}
}
```
这段代码中,我们首先获取前端传来的用户名、密码和确认密码,然后判断两次输入的密码是否一致。如果一致,就连接数据库,将用户信息插入到数据库中,并且跳转到登录页面;如果不一致,就返回一个提示框,提示用户两次输入的密码不一致。