编程题:利用JDBC、Servlet实现对数据库的创建,数据库名为Student_姓名,创建user数据表,表的字段设置学号、姓名、年龄和学历,对应数据填写本人信息,通过jsp表单的方式传递数据到数据表里面。
时间: 2024-03-07 17:48:04 浏览: 71
以下是一个利用 JDBC 和 Servlet 实现对数据库的创建、表的创建和数据的插入的示例代码。首先,需要在 MySQL 数据库中创建一个名为 `Student_姓名` 的数据库。然后,可以使用以下代码来创建 `user` 表:
```sql
CREATE TABLE user (
id INT(11) NOT NULL AUTO_INCREMENT,
student_id INT(11) NOT NULL,
name VARCHAR(255) NOT NULL,
age INT(11) NOT NULL,
education VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);
```
接下来,可以使用以下 Servlet 代码来处理表单提交并将数据插入到数据库中:
```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("/submit-form")
public class SubmitFormServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final String DB_URL = "jdbc:mysql://localhost:3306/Student_姓名";
private static final String DB_USERNAME = "root";
private static final String DB_PASSWORD = "password";
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int studentId = Integer.parseInt(request.getParameter("student_id"));
String name = request.getParameter("name");
int age = Integer.parseInt(request.getParameter("age"));
String education = request.getParameter("education");
try {
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection(DB_URL, DB_USERNAME, DB_PASSWORD);
String sql = "INSERT INTO user (student_id, name, age, education) VALUES (?, ?, ?, ?)";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1, studentId);
statement.setString(2, name);
statement.setInt(3, age);
statement.setString(4, education);
statement.executeUpdate();
statement.close();
connection.close();
response.sendRedirect("success.jsp");
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
}
}
}
```
在上面的代码中,我们首先从请求参数中获取表单数据,然后使用 JDBC 连接到数据库,并将数据插入到 `user` 表中。最后,如果操作成功,我们将用户重定向到 `success.jsp` 页面,否则返回 500 错误。请注意,上面的代码仅供参考,实际情况可能会有所不同,需要根据具体需求进行调整。
最后,可以使用以下 JSP 代码来显示表单和处理表单提交:
```html
<!DOCTYPE html>
<html>
<head>
<title>提交表单</title>
</head>
<body>
<h1>提交表单</h1>
<form action="submit-form" method="post">
<label>学号:</label>
<input type="number" name="student_id"><br>
<label>姓名:</label>
<input type="text" name="name"><br>
<label>年龄:</label>
<input type="number" name="age"><br>
<label>学历:</label>
<input type="text" name="education"><br>
<button type="submit">提交</button>
</form>
</body>
</html>
```
在上面的代码中,我们使用了一个简单的表单来收集用户信息,并将表单提交到 `/submit-form` 路径。请注意,上面的代码仅供参考,实际情况可能会有所不同,需要根据具体需求进行调整。
阅读全文