java代码实现功能:表单提交用户名、密码、邮箱信息、服务端将信息写入数据库、数据库中的用户名、邮箱显示在页面
时间: 2023-12-01 09:04:19 浏览: 184
java实现电子邮箱功能项目 代码
5星 · 资源好评率100%
以下是一个基本的 Java Servlet 实现表单提交、信息写入数据库以及显示数据库中的信息的代码示例:
1. 在 HTML 页面中创建一个表单,用于用户输入信息:
```
<form action="submit" method="POST">
<label>Username:</label>
<input type="text" name="username"><br><br>
<label>Password:</label>
<input type="password" name="password"><br><br>
<label>Email:</label>
<input type="email" name="email"><br><br>
<input type="submit" value="Submit">
</form>
```
2. 在 Java Servlet 中处理表单提交的数据,并将信息写入数据库:
```
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
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("/submit")
public class FormSubmitServlet 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 email = request.getParameter("email");
// 将数据插入数据库
Connection conn = null;
PreparedStatement stmt = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "password");
stmt = conn.prepareStatement("INSERT INTO users (username, password, email) VALUES (?, ?, ?)");
stmt.setString(1, username);
stmt.setString(2, password);
stmt.setString(3, email);
stmt.executeUpdate();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
try {
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
// 显示数据库中的信息
PrintWriter out = response.getWriter();
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "password");
stmt = conn.prepareStatement("SELECT username, email FROM users");
ResultSet rs = stmt.executeQuery();
out.println("<table>");
out.println("<tr><th>Username</th><th>Email</th></tr>");
while (rs.next()) {
String dbUsername = rs.getString("username");
String dbEmail = rs.getString("email");
out.println("<tr><td>" + dbUsername + "</td><td>" + dbEmail + "</td></tr>");
}
out.println("</table>");
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
上面的代码中,我们首先获取表单提交的数据,然后插入到数据库中。接着,我们查询数据库中的数据,并将其显示在 HTML 页面中。
需要注意的是,上面的代码使用了 MySQL 数据库。如果你使用的是其他数据库,需要相应地修改连接字符串和驱动程序。
阅读全文