jsp学生信息的增删改查
时间: 2023-12-22 17:04:11 浏览: 24
jsp 学生信息的增删改查一般需要使用 Java Servlet 和 JSP 技术结合起来实现,具体步骤如下:
1. 编写数据库表格,用于存储学生信息。
2. 在 Java Servlet 中编写增删改查的代码,包括连接数据库、查询数据、插入数据、更新数据和删除数据等操作。
3. 在 JSP 页面中编写页面布局,包括表单、按钮等元素。
4. 在 JSP 页面中调用 Java Servlet 中的代码,实现对学生信息的增删改查。
下面是一个简单的示例代码:
学生信息表格:
```sql
CREATE TABLE student
(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
gender VARCHAR(10) NOT NULL,
major VARCHAR(50) NOT NULL
);
```
Java Servlet 代码:
```java
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class StudentServlet extends HttpServlet {
private Connection conn;
private Statement stmt;
private ResultSet rs;
public void init() throws ServletException {
// 连接数据库
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "123456";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, user, password);
stmt = conn.createStatement();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 设置编码
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
// 获取操作类型
String action = request.getParameter("action");
// 查询学生信息
if ("query".equals(action)) {
String name = request.getParameter("name");
String sql = "SELECT * FROM student WHERE name LIKE '%" + name + "%'";
try {
rs = stmt.executeQuery(sql);
request.setAttribute("rs", rs);
request.getRequestDispatcher("query.jsp").forward(request, response);
} catch (SQLException e) {
e.printStackTrace();
}
}
// 插入学生信息
else if ("insert".equals(action)) {
String name = request.getParameter("name");
int age = Integer.parseInt(request.getParameter("age"));
String gender = request.getParameter("gender");
String major = request.getParameter("major");
String sql = "INSERT INTO student (name, age, gender, major) VALUES ('" + name + "', " + age + ", '" + gender + "', '" + major + "')";
try {
stmt.executeUpdate(sql);
response.sendRedirect("query.jsp");
} catch (SQLException e) {
e.printStackTrace();
}
}
// 更新学生信息
else if ("update".equals(action)) {
int id = Integer.parseInt(request.getParameter("id"));
String name = request.getParameter("name");
int age = Integer.parseInt(request.getParameter("age"));
String gender = request.getParameter("gender");
String major = request.getParameter("major");
String sql = "UPDATE student SET name='" + name + "', age=" + age + ", gender='" + gender + "', major='" + major + "' WHERE id=" + id;
try {
stmt.executeUpdate(sql);
response.sendRedirect("query.jsp");
} catch (SQLException e) {
e.printStackTrace();
}
}
// 删除学生信息
else if ("delete".equals(action)) {
int id = Integer.parseInt(request.getParameter("id"));
String sql = "DELETE FROM student WHERE id=" + id;
try {
stmt.executeUpdate(sql);
response.sendRedirect("query.jsp");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public void destroy() {
// 关闭数据库
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
JSP 页面代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>学生信息管理</title>
</head>
<body>
<h1>学生信息管理</h1>
<form action="StudentServlet" method="post">
<input type="hidden" name="action" value="query">
姓名:<input type="text" name="name">
<input type="submit" value="查询">
</form>
<hr>
<form action="StudentServlet" method="post">
<input type="hidden" name="action" value="insert">
姓名:<input type="text" name="name"><br>
年龄:<input type="text" name="age"><br>
性别:<input type="text" name="gender"><br>
专业:<input type="text" name="major"><br>
<input type="submit" value="添加">
</form>
<hr>
<table border="1">
<thead>
<tr>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>专业</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<%
ResultSet rs = (ResultSet) request.getAttribute("rs");
while (rs != null && rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String gender = rs.getString("gender");
String major = rs.getString("major");
%>
<tr>
<td><%=id%></td>
<td><%=name%></td>
<td><%=age%></td>
<td><%=gender%></td>
<td><%=major%></td>
<td>
<form action="StudentServlet" method="post">
<input type="hidden" name="action" value="update">
<input type="hidden" name="id" value="<%=id%>">
<input type="submit" value="编辑">
</form>
<form action="StudentServlet" method="post">
<input type="hidden" name="action" value="delete">
<input type="hidden" name="id" value="<%=id%>">
<input type="submit" value="删除">
</form>
</td>
</tr>
<%
}
%>
</tbody>
</table>
</body>
</html>
```
以上代码实现了一个简单的学生信息增删改查的功能,可以根据需求进行修改和优化。