JSP(Java Server Pages)是一种基于Java技术的动态网页技术,它允许在HTML或XML等静态页面中嵌入Java代码,从而实现动态内容的生成和交互。下面是一个简单的JSP成绩查询系统的源码示例,包括数据库连接、查询逻辑和结果展示。
<%@ page import="java.sql.*" %>
<%
String url = "jdbc:mysql://localhost:3306/studentdb";
String username = "root";
String password = "password";
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, username, password);
} catch (Exception e) {
e.printStackTrace();
}
%>
<%@ include file="DBConnection.jsp" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>成绩查询</title>
</head>
<body>
<h2>成绩查询系统</h2>
<form action="queryScoreResult.jsp" method="post">
学号: <input type="text" name="studentId">
<input type="submit" value="查询">
</form>
</body>
</html>
<%@ include file="DBConnection.jsp" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>查询结果</title>
</head>
<body>
<h2>成绩查询结果</h2>
<%
String studentId = request.getParameter("studentId");
String sql = "SELECT * FROM scores WHERE student_id = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, studentId);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
out.println("学号: " + rs.getString("student_id") + "<br>");
out.println("姓名: " + rs.getString("name") + "<br>");
out.println("数学成绩: " + rs.getInt("math_score") + "<br>");
out.println("英语成绩: " + rs.getInt("english_score") + "<br>");
out.println("计算机成绩: " + rs.getInt("computer_score") + "<br>");
} else {
out.println("未找到该学生的成绩信息!");
}
rs.close();
pstmt.close();
conn.close();
%>
</body>
</html>
PreparedStatement
代替Statement
来防止SQL注入。通过以上代码示例和解决方案,您可以构建一个基本的JSP成绩查询系统,并解决常见的开发和运行时问题。
领取专属 10元无门槛券
手把手带您无忧上云