基于jsp+servlet输出学生信息管理系统
时间: 2023-09-13 16:12:44 浏览: 154
要输出学生信息管理系统,你需要在JSP页面中编写HTML和Java代码,以及在Servlet中处理HTTP请求和响应。
首先,你需要创建一个JSP页面,例如:student.jsp。在这个页面中,你可以使用HTML和CSS来设计页面的布局和样式。同时,你需要使用Java代码来从数据库中读取学生信息,并将其显示在页面上。
接下来,你需要编写一个Servlet来处理HTTP请求并生成响应。在Servlet中,你可以使用Java代码来连接数据库,并查询学生信息。然后,你需要将查询结果作为响应发送回客户端。
下面是一个简单的示例,演示如何在JSP页面中输出学生信息管理系统:
在student.jsp页面中,你可以使用以下代码来显示学生信息:
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>学生信息管理系统</title>
</head>
<body>
<table>
<%
// 连接数据库
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "123456";
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, username, password);
Statement stmt = conn.createStatement();
// 查询学生信息
String sql = "SELECT id, name, age, gender FROM student";
ResultSet rs = stmt.executeQuery(sql);
// 输出表头
out.println("<tr><th>ID</th><th>姓名</th><th>年龄</th><th>性别</th></tr>");
// 输出学生信息
while (rs.next()) {
out.println("<tr><td>" + rs.getString("id") + "</td><td>" + rs.getString("name") + "</td><td>" + rs.getString("age") + "</td><td>" + rs.getString("gender") + "</td></tr>");
}
// 关闭数据库连接
rs.close();
stmt.close();
conn.close();
%>
</table>
</body>
</html>
```
在Servlet中,你可以使用以下代码来处理HTTP请求并生成响应:
```
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class StudentServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 设置响应类型和字符编码
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
// 获取输出流
PrintWriter out = response.getWriter();
// 输出HTML头部
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<meta charset='UTF-8'>");
out.println("<title>学生信息管理系统</title>");
out.println("</head>");
out.println("<body>");
try {
// 连接数据库
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "123456";
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, username, password);
Statement stmt = conn.createStatement();
// 查询学生信息
String sql = "SELECT id, name, age, gender FROM student";
ResultSet rs = stmt.executeQuery(sql);
// 输出表格头部
out.println("<table>");
out.println("<tr><th>ID</th><th>姓名</th><th>年龄</th><th>性别</th></tr>");
// 输出学生信息
while (rs.next()) {
out.println("<tr><td>" + rs.getString("id") + "</td><td>" + rs.getString("name") + "</td><td>" + rs.getString("age") + "</td><td>" + rs.getString("gender") + "</td></tr>");
}
// 关闭数据库连接
rs.close();
stmt.close();
conn.close();
// 输出表格尾部
out.println("</table>");
} catch (Exception e) {
e.printStackTrace();
out.println("查询失败:" + e.getMessage());
}
// 输出HTML尾部
out.println("</body>");
out.println("</html>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
```
当你在浏览器中访问http://localhost:8080/yourapp/student时,就可以看到学生信息管理系统的输出了。
阅读全文