jsp中serlvet向mysql中添加数据
时间: 2023-08-14 08:06:38 浏览: 177
在 JSP 中使用 Servlet 向 MySQL 数据库中添加数据,需要进行以下步骤:
1. 创建一个表单,用户可以在表单中输入数据。
2. 创建一个 Servlet,用于处理表单提交的数据。
3. 在 Servlet 中获取表单数据,并将其插入到 MySQL 数据库中。
下面是一个示例代码,可以将表单中的数据插入到 MySQL 数据库中:
1. JSP 页面代码:
```html
<form action="AddDataServlet" method="post">
<label for="name">Name:</label>
<input type="text" id="name" name="name"><br><br>
<label for="age">Age:</label>
<input type="text" id="age" name="age"><br><br>
<input type="submit" value="Submit">
</form>
```
2. Servlet 代码:
```java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class AddDataServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 获取表单数据
String name = request.getParameter("name");
String age = request.getParameter("age");
// 连接 MySQL 数据库
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "root";
try {
// 加载 MySQL 驱动
Class.forName("com.mysql.jdbc.Driver");
// 获取数据库连接
conn = DriverManager.getConnection(url, user, password);
// 插入数据
String sql = "INSERT INTO users (name, age) VALUES (?, ?)";
PreparedStatement statement = conn.prepareStatement(sql);
statement.setString(1, name);
statement.setString(2, age);
statement.executeUpdate();
// 返回成功信息
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<h1>Data added successfully!</h1>");
out.println("</body>");
out.println("</html>");
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭数据库连接
try {
if (conn != null) {
conn.close();
}
} catch (SQLException se) {
se.printStackTrace();
}
}
}
}
```
在上面的代码中,我们使用了 PreparedStatement 来防止 SQL 注入攻击,同时也使用了 try-catch-finally 块来确保数据库连接在使用完后被正确关闭。
阅读全文