学生成绩管理系统(源码地址在评论区需要的小伙伴可以看看,大二时做的,做得不太好)
一、实验目的
为了更好的学习理解JavaWeb,创建了此系统。此系统可以帮助学习Java web基础,特别是javaweb入门,此系统使用大部分Java web基础知识。Java web课程设计联系了前端的HTML、CSS、JAVASCRIPT、JSP等各项语言,同时紧密的将后台开发的java语言和数据库联系在一起,从整体上实现了java web项目的认识与实践。
二、实验平台
eclipse下的javaee,Tomcat服务器,mysql数据库。
三、实验主要内容
学生成绩管理系统,此系统使用开发模式2,使用Javabean与jsp结合的形式,封装数据库中数据,并由jsp显示界面。使用servlet,根据登录页面传的数据分析用户的身份,传送到不同界面,在学生端界面使用精确查询,学生输入学号,查询出各科成绩及考试情况信息。教师端界面,javabean结合jsp,在servlet里,把数据库表的信息存储到session域中,在教师端主页面使用EL表达式的形式调用了session域的表信息,教师端主页面采用css,JavaScript等,显示了学生考试信息,并实现了增删改,链接到不同jsp中。
四、部分关键代码实现:
1.用户登录,注册功能:
登录界面(index.jsp):
系统的主页面,使用JavaScript,不输入用户名,密码会进行页面提示,学生身份使用任意注册用户名与密码,教师身份输入固定用户名:“root”,密码:"123456",从而进入LoginServlet,重定向判断进入教师端还是学生端主页面。
<%@ page language="java" contentType="text/html; charset=gbk"
pageEncoding="gbk"%>
<!--本系统使用session域结合jsp,el域jstl 和JavaScript -->
<!--登录主页面,JavaScript+css -->
<!DOCTYPE html>
<html>
<head>
<title>登录页面</title>
<script type="text/javascript">
function chkData(){
var uname = document.getElementById("uname"); // 获取控件
var upasss = document.getElementById("upass");
var flag = false;
if(uname.value==""){
alert("请填写用户名信息。");
uname.focus();
}else if(upass.value==""){
alert("请填写密码信息。");
upass.focus();
}else{
flag = true;
}
return flag;
}
</script>
<style type="text/css">
.blue{color:black;
font-size:30px;
margin-top:10px;
}
.jiemian{width:800px;
height: 800px;
background-color: aqua;
}
.ding{ width: auto;
height: auto;
background-color: rgb(179,214,234);
font-size:40px;
margin:0px;
padding:0px;
}
.zheng{ background-color: rgba(83,146,255,1.00);
margin-top:10px;
}
.zhong-y{
margin-left:auto;
margin-right:auto;
width:400px;
height: 200px;
padding-top:10px;
}
.zhong-z{
width:300px;
height:300px;
}
.zhuce{
font-size:15px;
}
.xia{
width:500px;
height:500px;
}
</style>
</head>
<body style="background-image:url('img/jiemian.jpg');">
<div class="ding" align="center">欢迎登录学生成绩管理系统</div>
<div >
<div class="zhong-y"><form name="frm" method="post" action="LoginServlet">
<table border="1" class="blue" >
<tr>
<th colspan="2" class="blue">学生成绩管理系统</th>
</tr>
<tr>
<td>用户名:</td>
<td><input type="text" name="uname" id="uname"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="upass" id="upass"/></td>
</tr>
<tr>
<tr>
<td>
<input name="user" type="radio" value="student" checked>学生</td>
<td>
<input name="user" type="radio" value="administrator">老师<br></td>
</tr>
<td colspan="2" align="center">
<input type="submit" value="登录" onclick="return chkData();"/>
<input type="reset" value="重置"/>
</td>
</tr>
</form>
</div>
<form name="fm" method="post" action="zhuce.jsp" align="center">
<tr>
<td align="center" colspan="2" ><p class="zhuce">没有账号?点击注册</p></td>
<td>
<input type="submit" value="注册">
</td>
</tr>
</form>
</table>
</body>
</html>
登录身份判断servlet:
LoginServlet:从index.jsp主页面使用form接收传来的数据,进入到此servlet,判断身份进入学生还是教师端界面。
package cn.edu.bzu.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class LoginServlet
*/
/**
* @author 重定向,教师使用账号:root,密码:123456 登录教师端页面
*
*/
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public LoginServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
String uname=request.getParameter("uname");
String upass=request.getParameter("upass");
if(("root").equals(uname)&&("123456").equals(upass)) {
response.sendRedirect("StudenListServlet");
}else {
response.sendRedirect("/StudentScoresManager/StuScoresListSearch.jsp");
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
2.注册界面(Regist.jsp):
学生注册身份,并在doRegist.jsp中返回显示注册的信息。
<%@ page language="java" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<!--注册页面
使用JavaScript提示页面信息
-->
<title>用户注册页面</title>
<script type="text/javascript">
function chkData(){
var uname = document.getElementById("uname");
var upass = document.getElementById("upass");
var upassConfirm=document.getElementById("upassConfirm");
var phone=document.getElementById("phone");
var flag = false;
if(uname.value==""){
alert('请填写用户名信息。');
uname.focus();
}else if(upass.value==""){
alert('请填写密码信息。');
upass.focus();
}else if(upass.value!=upassConfirm.value){
alert('确认密码与密码不一致');
upassConfirm.focus();
}else if(phone.value==""){
alert('请输入手机号');
phone.focus();
}else{
flag = true;
}
return flag;
}
</script>
</head>
<body>
<center>用户信息注册页面,带*号为必填项</center>
<form name="frm" action="doRegist.jsp" method="post">
<table border="1" align="center">
<tr>
<td>用户名*:</td>
<td><input type="text" name="uname" id="uname"/></td>
</tr>
<tr>
<td>密码*:</td>
<td><input type="password" name="upass" id="upass"/></td>
</tr>
<tr>
<td>确认密码*:</td>
<td><input type="password" name="upassConfirm" id="upassConfirm"/></td>
</tr>
<tr>
<td>手机号*:</td>
<td><input type="text" name="phone" id="phone"/></td>
</tr>
<tr>
<td>电子邮箱:</td>
<td><input type="text" name="email" id="email"/></td>
</tr>
<tr>
<td>性别:</td>
<td><input type="radio" name="gender" value="male"/>男
<input type="radio" name="gender" value="female"/>女
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="注册" onclick="return chkData();"/>
<input type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
</body>
注册信息显示界面(doRegist.jsp):
<%@ page language="java" pageEncoding="utf-8"%>
<!--
注册页面执行界面,
显示注册的信息
-->
<!DOCTYPE html>
<html>
<head>
<title>注册信息</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
String uname=request.getParameter("uname");
String upass=request.getParameter("upass");
String phone=request.getParameter("phone");
String email=request.getParameter("email");
out.print("用户名:"+uname);
out.print("密码:"+upass);
out.print("手机号:"+phone);
out.print("邮箱:"+email);
out.print("<br/>恭喜,注册成功");
%>
<form name="frm" method="post" action="index.jsp">
<table>
<tr>
<td>点击此处返回登录</td>
<td>
<input type="submit" value="登录">
</td>
</tr>
</table>
</form>
</body>
</html>
3.学生端查询成绩(StuScoresListSearch.jsp)
输入学号查询成绩
<form name="cx" action="doSearch.jsp">
请输入学号:<input type="text" name="stunum">
<input type="submit" value="查询">
</form>
<form name="fanhui" action="index.jsp">
点击此处返回登录:
<input type="submit" value="返回">
</form>
学生成绩查询执行显示界面(doSearch.jsp)
连接数据库,精确查询,查询出数据库表中的信息
<table border="1" align="center">
<tr>
<th>id</th>
<th>学号</th>
<th>姓名</th>
<th>科目</th>
<th>成绩</th>
<th>班级成绩总排名</th>
<th>期末考试排名</th>
<th>是否挂科</th>
</tr>
<%
String stunum=request.getParameter("stunum");
if(stunum==null||stunum.equals("")){
response.sendRedirect("StuScoresListSearch.jsp");
}
String CLS = "com.mysql.cj.jdbc.Driver";
String URL = "jdbc:mysql://localhost:3306/stuscoremanager?useSSL=false&serverTimezone=UTC";
String USER = "root";
String PWD = "123456";
try{
Class.forName(CLS);
Connection conn = DriverManager.getConnection(URL, USER, PWD);
String sql = "select * from stuscoreslist where stunum='"+stunum+"'";
PreparedStatement pStmt = conn.prepareStatement(sql);
ResultSet rs = pStmt.executeQuery();
while(rs.next()){
out.print("<tr>");
out.print("<td>"+rs.getInt("id")+"</td>");
out.print("<td>"+rs.getString("stunum")+"</td>");
out.print("<td>"+rs.getString("stuname")+"</td>");
out.print("<td>"+rs.getString("course")+"</td>");
out.print("<td>"+rs.getString("score")+"</td>");
out.print("<td>"+rs.getString("paiming")+"</td>");
out.print("<td>"+rs.getString("qimo")+"</td>");
out.print("<td>"+rs.getString("guake")+"</td>");
out.print("</tr>");
}
rs.close();
rs=null;
pStmt.close();
pStmt=null;
conn.close();
conn=null;
}catch(Exception ex){
ex.printStackTrace();
}
%>
</table>
4.教师端
建立Dbutil类,连接关闭数据库,stuinfo类封装上数据库中表数据,Userdao类把成绩信息封装到list集合中,在servlet文件:StudentListServlet中调用session域,并把list信息存到session域,便于在stulist.jsp界面调用。
stulist.jsp使用了EL表达式与jstl标签(也可不用,此方式为了期末考试可以全面复习),调用了session域存储的数据库表中的信息.
教师端封装学生信息类(stuinfo):
public class stuinfo {
private String id;
private String stunum;
private String stuname;
private String course;
private String score;
private String paiming;
private String qimo;
private String guake;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getStunum() {
return stunum;
}
public void setStunum(String stunum) {
this.stunum = stunum;
}
public String getStuname() {
return stuname;
}
public void setStuname(String stuname) {
this.stuname = stuname;
}
public String getCourse() {
return course;
}
public void setCourse(String course) {
this.course = course;
}
public String getScore() {
return score;
}
public void setScore(String score) {
this.score = score;
}
public String getPaiming() {
return paiming;
}
public void setPaiming(String paiming) {
this.paiming = paiming;
}
public String getQimo() {
return qimo;
}
public void setQimo(String qimo) {
this.qimo = qimo;
}
public String getGuake() {
return guake;
}
public void setGuake(String guake) {
this.guake = guake;
}
public stuinfo() {
super();
// TODO Auto-generated constructor stub
}
public stuinfo(String id, String stunum, String stuname, String course, String score, String paiming, String qimo,
String guake) {
super();
this.id = id;
this.stunum = stunum;
this.stuname = stuname;
this.course = course;
this.score = score;
this.paiming = paiming;
this.qimo = qimo;
this.guake = guake;
}
Userdao类:
public class UserDao extends DbUtils {
public List<stuinfo> getAllUsers(){
List<stuinfo> list =new ArrayList<stuinfo>();
try {
Class.forName("com.mysql.cj.jdbc.Driver");
}catch(ClassNotFoundException e) {
e.printStackTrace();
}
try {
conn= DriverManager
.getConnection("jdbc:mysql://localhost:3306/stuscoremanager?useSSL=false&serverTimezone=UTC", "root","123456");
String sql = "select * from stuscoreslist ";
pStmt=conn.prepareStatement(sql);
rs=pStmt.executeQuery();
while(rs.next()) {
stuinfo item=new stuinfo();
String id=rs.getString("id");
String stunum=rs.getString("stunum");
String stuname=rs.getString("stuname");
String course=rs.getString("course");
String score=rs.getString("score");
String paiming=rs.getString("paiming");
String qimo=rs.getString("qimo");
String guake=rs.getString("guake");
item.setId(id);
item.setStunum(stunum);
item.setStuname(stuname);
item.setCourse(course);
item.setScore(score);
item.setPaiming(paiming);
item.setQimo(qimo);
item.setGuake(guake);
list.add(item);
}
}catch(SQLException e) {
e.printStackTrace();
}
return list;
教师端主页面(stulist.jsp):
<center><h2>登陆成功!欢迎登录教师端学生成绩管理系统</h2></center>
<table border="3" align="center">
<tr>
<td colspan="9" align="center">
<a href="scoresAdd.jsp">添加</a>
</td>
</tr>
<tr>
<th>id</th>
<th>学号</th>
<th>姓名</th>
<th>科目</th>
<th>成绩</th>
<th>班级成绩总排名</th>
<th>期末考试排名</th>
<th>是否挂科</th>
<th>操作</th>
</tr>
<!--此处调用session域 -->
<ly:forEach items="${sessionList}" var="stu">
<tr>
<td>${stu.id}</td>
<td>${stu.stunum}</td>
<td>${stu.stuname}</td>
<td>${stu.course}</td>
<td>${stu.score}</td>
<td>${stu.paiming}</td>
<td>${stu.qimo}</td>
<td>${stu.guake}</td>
<td>
<a href="stuEdit.jsp?stunum=${stu.stunum}">修改</a>
<a href="stuDel.jsp?stunum=${stu.stunum}">删除</a>
</td>
</tr>
</ly:forEach>
</table>
封装学生信息,存储到session域的servlet(StudentListServlet):
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
request.setCharacterEncoding("gbk"); // 处理请求中的中文乱码问题
response.setContentType("text/html;charset=gbk"); // 处理响应中的中文乱码问题
/**
* 现在的Servlet 为 控制器来用,作用如下:
* 1. 取得请求参数
* 2. 根据请求参数,调用业务处理
* 3. 根据处理结果,转向不同的前端页面(html, jsp)
**/
// 1. 要求获取学生信息列表
// 2. 调用业务
UserDao dao = new UserDao();
List<stuinfo> list = dao.getAllUsers();
// 3 存入session域,使用session会话共享数据
HttpSession session = request.getSession();
// 在当前session域中的页面都可以使用这个值
session.setAttribute("sessionList", list); //域名,传递的值
request.getRequestDispatcher("stulist.jsp")
.forward(request, response); // 请求转发
}
connection.jsp:为了增删改jsp连接数据库的代码jsp文件:
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" pageEncoding="utf-8"%>
<!--
**数据库连接
8.5mysql版本,增加时区字段
-->
<%!
private static String CLS = "com.mysql.cj.jdbc.Driver";
private static String URL = "jdbc:mysql://localhost:3306/stuscoremanager?useSSL=false&serverTimezone=UTC";
private static String USER = "root";
private static String PWD = "123456";
public static Connection conn = null;
public static Statement stmt = null;
public static PreparedStatement pStmt = null;
public static ResultSet rs = null;
public static void getConnection() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager
.getConnection("jdbc:mysql://localhost:3306/stuscoremanager?useSSL=false&serverTimezone=UTC", "root","123456");
}catch(Exception ex) {
ex.printStackTrace();
}
}
public static void closeAll() {
try {
if(rs!=null) {
rs.close();
rs=null;
}
if(pStmt!=null) {
pStmt.close();
pStmt=null;
}
if(stmt!=null) {
stmt.close();
stmt=null;
}
if(conn!=null) {
conn.close();
conn=null;
}
}catch(Exception ex) {
ex.printStackTrace();
}
}
%>
5.教师端实现的添加功能,添加界面(scoresAdd.jsp):
<%@ include file="connection.jsp" %>
<script type="text/javascript">
function chkData(){
var stunum = document.getElementById("stunum");
var stuname = document.getElementById("stuname");
var course = document.getElementById("course");
var score = document.getElementById("score");
var flag = false;
if(stunum==""){
alert("填写学号信息");
stunum.focus();
}else if(stuname.value==""){
alert('请填写学生姓名信息。');
stunum.focus();
}else if(course.value==""){
alert('请填写科目信息');
course.focus();
}else if(score.value==""){
alert('请填写成绩信息');
score.focus();
}else{
flag = true;
}
return flag;
}
</script>
</head>
<body style="background-image:url('img/scoreadd.jpg'); background-size:100% 100%;background-attachment:fixed">
<center>
<h2>学生成绩信息添加</h2>
</center>
<form name="tj" action="doscoresAdd.jsp" method="post">
<table border="8" align="center">
<tr>
<td>序号</td>
<td><input type="text" name="id" id="id"/></td>
</tr>
<tr>
<td>学号</td>
<td><input type="text" name="stunum" id="stunum"/></td>
</tr>
<tr>
<td>姓名</td>
<td><input type="text" name="stuname" id="stuname"/></td>
</tr>
<tr>
<td>科目</td>
<td><input type="text" name="course" id="course"/></td>
</tr>
<tr>
<td>成绩</td>
<td><input type="text" name="score" id="score"/></td>
</tr>
<tr>
<td>班级成绩总排名</td>
<td><input type="text" name="paiming" id="paiming" /></td>
</tr>
<tr>
<td>期末考试排名</td>
<td><input type="text" name="qimo" id="qimo" /></td>
</tr>
<tr>
<td>是否挂科</td>
<td><input type="text" name="guake" id="guake" /></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="添加" onclick="return chkData();"/>
</td>
</tr>
</form>
<form name="sc" action="add.jsp" method="post">
<tr>
<td colspan="2" align="center">
<input type="submit" value="返回"/>
</td>
</tr>
</form>
</table>
</body>
</html>
添加界面实现并显示数据界面(doscoresAdd.jsp):
<%@ include file="connection.jsp" %>
<!--成绩信息添加执行页面,并显示添加的信息 -->
<%
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
String id=request.getParameter("id");
String stunum=request.getParameter("stunum");
String stuname=request.getParameter("stuname");
String course=request.getParameter("course");
String score=request.getParameter("score");
String paiming=request.getParameter("paiming");
String qimo=request.getParameter("qimo");
String guake=request.getParameter("guake");
try{
getConnection();
String sql="insert into stuscoreslist(id,stunum,stuname,course,score,paiming,qimo,guake) values(?,?,?,?,?,?,?,?)";
pStmt=conn.prepareStatement(sql);
pStmt.setString(1,id);
pStmt.setString(2,stunum);
pStmt.setString(3,stuname);
pStmt.setString(4,course);
pStmt.setString(5,score);
pStmt.setString(6,paiming);
pStmt.setString(7,qimo);
pStmt.setString(8,guake);
int iRow =pStmt.executeUpdate();
if(iRow>0){
response.sendRedirect("StudenListServlet");
}else{
response.sendRedirect("scoresAdd.jsp");
}
}catch(Exception ex){
ex.printStackTrace();
}finally{
closeAll();
}
%>
6.修改界面(stuEdit.jsp):
<%
String stunum=request.getParameter("stunum");
String id="";
String stuname="";
String course="";
String score="";
String paiming="";
String qimo="";
String guake="";
try{
getConnection();
String sql="select * from stuscoreslist where stunum='"+stunum+"'";
pStmt=conn.prepareStatement(sql);
rs=pStmt.executeQuery();
while(rs.next()){
id=rs.getString("id");
stunum=rs.getString("stunum");
stuname=rs.getString("stuname");
course=rs.getString("course");
score=rs.getString("score");
paiming=rs.getString("paiming");
qimo=rs.getString("qimo");
guake=rs.getString("guake");
}
}catch(Exception ex){
ex.printStackTrace();
}finally{
closeAll();
}
%>
<!--使用readonly固定值,使其无法修改 -->
<form name="tj" action="doStuEdit.jsp" method="post">
<table border="8" align="center">
<tr>
<td>序号</td>
<td><input type="text" name="id" id="id" value="<%=id %>"/></td>
</tr>
<tr>
<td>学号</td>
<td><input type="text" name="stunum" id="stunum" readonly="readonly" value="<%=stunum %>"/></td>
</tr>
<tr>
<td>姓名</td>
<td><input type="text" name="stuname" id="stuname" readonly="readonly" value="<%=stuname %>"/></td>
</tr>
<tr>
<td>科目</td>
<td><input type="text" name="course" id="course" value="<%=course %>"/></td>
</tr>
<tr>
<td>成绩</td>
<td><input type="text" name="score" id="score" value="<%=score%>"/></td>
</tr>
<tr>
<td>班级成绩总排名</td>
<td><input type="text" name="paiming" id="paiming" value="<%=paiming%>"/></td>
</tr>
<tr>
<td>期末考试排名</td>
<td><input type="text" name="qimo" id="qimo" value="<%=qimo%>"/></td>
</tr>
<tr>
<td>是否挂科</td>
<td><input type="text" name="guake" id="guake" value="<%=guake%>"/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="修改" onclick="return chkData();"/>
</td>
</tr>
</form>
<form name="sc" action="stulist.jsp" method="post">
<tr>
<td colspan="2" align="center">
<input type="submit" value="返回"/>
</td>
</tr>
</form>
</table>
修改界面执行显示界面(doStuEdit.jsp)
<%
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
String id=request.getParameter("id");
String stunum=request.getParameter("stunum");
String stuname=request.getParameter("stuname");
String course=request.getParameter("course");
String score=request.getParameter("score");
String paiming=request.getParameter("paiming");
String qimo=request.getParameter("qimo");
String guake=request.getParameter("guake");
try{
getConnection();
String sql="update stuscoreslist set id=?,course=?,score=?,paiming=?,qimo=?,guake=? where stunum='"+stunum+"' and stuname='"+stuname+"' ";
pStmt=conn.prepareStatement(sql);
pStmt.setString(1,id);
pStmt.setString(2,course);
pStmt.setString(3,score);
pStmt.setString(4,paiming);
pStmt.setString(5,qimo);
pStmt.setString(6,guake);
int iRow =pStmt.executeUpdate();
if(iRow>0){
response.sendRedirect("StudenListServlet");
}else{
response.sendRedirect("stuEdit.jsp?stunum="+stunum);
}
}catch(Exception ex){
ex.printStackTrace();
}finally{
closeAll();
}
%>
7.删除界面(stuDel.jsp):
<%
String stunum=request.getParameter("stunum");
String id="";
String stuname="";
String course="";
String score="";
String paiming="";
String qimo="";
String guake="";
try{
getConnection();
String sql="select * from stuscoreslist where stunum='"+stunum+"'";
pStmt=conn.prepareStatement(sql);
rs=pStmt.executeQuery();
while(rs.next()){
id=rs.getString("id");
stunum=rs.getString("stunum");
stuname=rs.getString("stuname");
course=rs.getString("course");
score=rs.getString("score");
paiming=rs.getString("paiming");
qimo=rs.getString("qimo");
guake=rs.getString("guake");
}
}catch(Exception ex){
ex.printStackTrace();
}finally{
closeAll();
}
%>
<form name="sc" action="doStuDelate.jsp" method="post">
<table border="8" align="center">
<tr>
<td>序号</td>
<td><input type="text" name="id" id="id" readonly="readonly" value="<%=id %>"/></td>
</tr>
<tr>
<td>学号</td>
<td><input type="text" name="stunum" id="stunum" readonly="readonly" value="<%=stunum %>"/></td>
</tr>
<tr>
<td>姓名</td>
<td><input type="text" name="stuname" id="stuname" readonly="readonly" value="<%=stuname %>"/></td>
</tr>
<tr>
<td>科目</td>
<td><input type="text" name="course" id="course" readonly="readonly" value="<%=course %>"/></td>
</tr>
<tr>
<td>成绩</td>
<td><input type="text" name="score" id="score" readonly="readonly" value="<%=score%>"/></td>
</tr>
<tr>
<td>班级成绩总排名</td>
<td><input type="text" name="paiming" id="paiming" readonly="readonly" value="<%=paiming%>"/></td>
</tr>
<tr>
<td>期末考试排名</td>
<td><input type="text" name="qimo" id="qimo" readonly="readonly" value="<%=qimo%>"/></td>
</tr>
<tr>
<td>是否挂科</td>
<td><input type="text" name="guake" id="guake" readonly="readonly" value="<%=guake%>"/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="删除" onclick="return chkData();"/>
</td>
</tr>
</form>
<form name="sc" action="stulist.jsp" method="post">
<tr>
<td colspan="2" align="center">
<input type="submit" value="返回"/>
</td>
</tr>
</form>
</table>
删除界面执行并显示删除后的界面(doStuDel.jsp):
<!--成绩信息删除执行页面,并显示删除后的信息 -->
<%
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
String id=request.getParameter("id");
String stunum=request.getParameter("stunum");
String stuname=request.getParameter("stuname");
String course=request.getParameter("course");
String score=request.getParameter("score");
String paiming=request.getParameter("paiming");
String qimo=request.getParameter("qimo");
String guake=request.getParameter("guake");
try{
getConnection();
String sql="delete from stuscoreslist where stunum=?";
pStmt=conn.prepareStatement(sql);
pStmt.setString(1,stunum);
int iRow =pStmt.executeUpdate();
if(iRow>0){
response.sendRedirect("StudenListServlet");
}else{
response.sendRedirect("stuDel.jsp");
}
}catch(Exception ex){
ex.printStackTrace();
}finally{
closeAll();
}
%>
五、系统运行截图选取:
1.主页面
学生注册界面:
学生查询:
结果显示:
教师端主界面:
添加:
删除:
文章来源:https://www.toymoban.com/news/detail-493231.html
源码:javaweb期末课程设计适于初学者,增删改查,Javabean,mysql,el,jstl,jsp,servlet_javaweb期末课程设计-Web开发文档类资源-CSDN下载文章来源地址https://www.toymoban.com/news/detail-493231.html
到了这里,关于java web期末课程设计 学生成绩管理系统(mysql,jstl+el,Javabean)+增删改查,session域+servlet(基础易理解)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!