学生成绩管理系统功能改进(java)
本文采取了一位同学上学期利用java编程语言以及struts2框架写的一个学生成绩管理系统,在此基础上加以改进。
1.首先运行程序后,进入到登录或注册的页面,如下图:

测试了一下登录注册功能,登录后能够显示用户名,注册模块也设置了不能注册重复用户名的功能。
2.进入后的界面,如下:
可以看出一个管理系统的最基本的增删改查功能,基本都涉及到了,可是测试后发现,在进行删除成绩的功能时,每次删除某个学生的成绩,会将其所有成绩清零,这一点在实际应用中显得有点不合理。所以我决定对此进行优化,使其可以删除学生的某一项成绩。
3.代码部分:
先为score的实体类增加一个subject属性,增添相应的getter和setter方法。
private String subject; public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; }
然后是改原先的dao层的功能实现代码,原先是这样的:
public class DeleteDao { // 实现删除功能 public int delete(Score score) { int flag = -1; // 判断删除是否成功 // 加载数据库驱动,注册到驱动管理器 try { Class.forName("com.mysql.jdbc.Driver"); // 数据库连接字符串 String url = "jdbc:mysql://localhost:3306/sss?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC"; // 数据库用户名 String usename = "root"; // 数据库密码 String psw = "tcl567315"; // 创建Connection连接 Connection conn = DriverManager.getConnection(url, usename, psw); String sql = " delete from score where s_id='"+score.getS_id()+"' "; PreparedStatement pstmt = conn.prepareStatement(sql1); int rs=pstmt.executeUpdate(); if (rs>0) { flag = 1; } pstmt.close(); conn.close(); return flag; } catch (ClassNotFoundException e) { e.printStackTrace(); return -1; } catch (SQLException e) { e.printStackTrace(); return -1; } } }
现在在delete函数内多传入一个String subject的参数,然后修改sql语句,改为如下:
String sql = " update score set "+subject+"=0 where s_id='"+score.getS_id()+"' ";
最后,再改下jsp页面的部分代码,增加下面这一行代码即可。
<input type="text" required="required" placeholder="科目" name="subject" id="subject">
4.效果显示

删除成功!
5.总结
通过此次改进同学做的学生管理系统,发现当时我们初学javaweb能够做出来的东西是很简陋和基本的,这次改进的是一个删除功能,其实其他功能也还有不少可以改的地方。
而且由于只用了struts2的框架,源码中的重复代码还是很多的。目前来说,javaweb开发,无论是前端还是后端的框架都很多,学校里只能教会你最基础的知识,还有更多的知识和技能需要我们从网络上学习,然后再通过一些简单的小项目加以运用,才能理解掌握。



浙公网安备 33010602011771号