写一个代码实现webjavaweb增删改查
时间: 2023-09-20 19:06:04 浏览: 31
当然可以!以下是一个简单的示例代码,演示了如何使用Java Web实现增删改查功能:
```java
// 导入必要的包
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("/UserServlet")
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
// 数据库连接参数
private final String URL = "jdbc:mysql://localhost:3306/test";
private final String USERNAME = "root";
private final String PASSWORD = "password";
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String action = request.getParameter("action");
// 根据 action 参数执行相应的操作
if (action.equals("add")) {
addUser(request, response);
} else if (action.equals("delete")) {
deleteUser(request, response);
} else if (action.equals("update")) {
updateUser(request, response);
} else if (action.equals("query")) {
queryUser(request, response);
}
}
// 添加用户
private void addUser(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
Connection conn = null;
PreparedStatement pstmt = null;
PrintWriter out = response.getWriter();
try {
// 建立数据库连接
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
// 执行插入语句
String sql = "INSERT INTO users (username, password) VALUES (?, ?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, username);
pstmt.setString(2, password);
pstmt.executeUpdate();
out.println("添加用户成功!");
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
// 关闭数据库连接和资源
try {
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
// 删除用户
private void deleteUser(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
Connection conn = null;
PreparedStatement pstmt = null;
PrintWriter out = response.getWriter();
try {
// 建立数据库连接
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
// 执行删除语句
String sql = "DELETE FROM users WHERE username = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, username);
pstmt.executeUpdate();
out.println("删除用户成功!");
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
// 关闭数据库连接和资源
try {
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
// 更新用户
private void updateUser(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
Connection conn = null;
PreparedStatement pstmt = null;
PrintWriter out = response.getWriter();
try {
// 建立数据库连接
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
// 执行更新语句
String sql = "UPDATE users SET password = ? WHERE username = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, password);
pstmt.setString(2, username);
pstmt.executeUpdate();
out.println("更新用户成功!");
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
// 关闭数据库连接和资源
try {
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
// 查询用户
private void queryUser(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
PrintWriter out = response.getWriter();
try {
// 建立数据库连接
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
// 执行查询语句
String sql = "SELECT * FROM users WHERE username = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, username);
rs = pstmt.executeQuery();
while (rs.next()) {
out.println("Username: " + rs.getString("username") + ", Password: " + rs.getString("password"));
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
// 关闭数据库连接和资源
try {
if (rs != null) {
rs.close();
}
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
上述代码演示了如何通过Servlet来实现用户的增删改查功能。根据传递的 `action` 参数,选择相应的操作。具体的数据库连接和操作使用了JDBC来实现。
请注意,上述代码仅为示例,实际应用中还需要进行错误处理、表单验证、权限控制等一系列安全性和可靠性的考虑。此外,代码中使用的数据库连接方式是基于JDBC,你需要根据实际情况修改数据库连接参数和驱动类。
希望以上代码对你有所帮助!如果还有其他问题,请随时提问。