ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:84.92KB ,
资源ID:17933732      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17933732.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java学生管理系统总结报告Word文件下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java学生管理系统总结报告Word文件下载.docx

1、 学生管理系统还增加了上传照片的功能,每个学生都可以上传自己的照片,老师也可以帮学生上传照片1.2知识(点)应用以及经验总结 该学生管理系统采用了分层的思想而且参考了MVC设计模式,但是都做得不够完美。 该系统分为业务逻辑层、实体层和显示层: 业务逻辑层(com.ccniit.student.manage)有StudentManage、GradeManage、PasswordNotFountException、StduentNotFountException和GradeNotFountException。先写了一个工具类(DBConnection),负责与数据库的连接,业务逻辑层联系数据库实体

2、、显示层。进行综合的控制与处理。这里自定义了几个异常类,主要是抛出无法找到相应类的异常。这样就可以返回多个结果。 实体层(com.ccniit.student)有两个类Student和Grade,是根据数据库里面的表来实现的,字段就是实体里面的属性还有所有属性的get和set方法,也可以写几个构造方法,没有其他的方法。业务逻辑层就操作这两个类。 显示层(com.ccniit.student.view)有Login、StduentGrade、Teacher、ImagePanel、ShowImage、Uploading这六个类。主要是负责显示给客户,用于和客户交互信息。所有学生成绩用一个表来显示,

3、Teacher类有另外一个线程来读取所有学生的成绩,在表中教师可以直接在表中修改学生的成绩,修改过后系统会自动修改数据库的数据,来实现动态修改。 显示层主要是添加的内部匿名监听,由于会有重复监听所以大部分监听都分别写了一个方法,来调用这个方法。 每个学生都可以上传自己的照片,在有照片的情况下,老师可以看到学生的照片这样可以让老师更快的认识每一个学生,点击学生的照片可以放大该学生的照片,点击别的地方该放大的照片就会消失 该系统主要用到的知识有: 流程控制 类和对象 类的继承 接口和多态 数组 顺序表 数据库编程 常用的GUI组件 JTable 多线程 事件处理2. 项目实现及关键代码(各个功能界

4、面截图+代码说明,代码为关键代码并加入注释)系统流程图StduentManage/GradeManage(逻辑处理层)DBConnectionLogin / Teacher / StduentGrade (显示层)Stduent / Grade(数据模型)Uploading / ShowImage / ImagePanel(显示层辅助类)数据库(数据持久层)类包层功能com.ccniit.student.util逻辑连接数据库Studentcom.ccniit.student模型保存学生对象Grade保存成绩对象StduentManagecom.ccniit.student.manage操作学

5、生对象GradeManage操作成绩对象StudentNotFoundException当学生找不到时抛出此异常GradeNotFoundException当成绩找不到时抛出此异常PasswordNotFoundException当密码找不到时抛出此异常Logincom.ccniit.student.view显示显示登录界面Teacher显示教师界面StudentGrade显示学生界面ImagePanel读取图片ShowImage显示放大的图片Uploading上传图片com.ccniit.student.Stduent类说明:此类是一个学生的模型类,提供了学生的属性和get、set方法,便于

6、StudentManage来操作还提供了几个构造方法。com.ccniit.student.Grade类说明: 此类是成绩模型类,提供了成绩的属性和get、set方法和几个构造方法,便于GradeManage来操作。com.ccniit.student.util.DBConnection类这个类的功能是与底层数据库创建连接给逻辑处理层,还有关闭连接的相关功能。/管理与数据库的连接public class DBConnection static try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch (Clas

7、sNotFoundException e) e.printStackTrace(); public static Connection getConn() throws SQLException Connection conn = DriverManager.getConnection( jdbc:sqlserver:/localhost:1433;databaseName = studentManage,sa, 580000 return conn;/数据库关闭的方法 public static void closePstmt(PreparedStatement pstmt) if (pst

8、mt != null) try pstmt.close(); catch (SQLException e) e.printStackTrace(); public static ResultSet executeQuery(PreparedStatement pstmt) throws SQLException ResultSet rs = pstmt.executeQuery(); return rs; public static void closeRs(ResultSet rs) if (rs ! rs.close();com.ccniit.student.manage.StudentM

9、anage类此类是逻辑处理层里面的学生管理类,有添加学生、删除学生、修改学生信息、检查学生是否登录成功、查找学生等方法,显示层可以直接调用这些方法来实现需要的功能。其中查找方法是有方法的组合。public class StudentManage / 添加学生 public static boolean add(Student s) Connection conn = null; PreparedStatement pstmt = null; boolean flag = false; conn = DBConnection.getConn(); String sql = insert into

10、 student(studentID, studentName, password, sex, birth, phone, qq, homeAddr, entranceTime) values(?, ?); pstmt = DBConnection.getPstmt(conn, sql); pstmt.setString(1, s.getStudentID(); pstmt.setString(2, s.getStudentName(); pstmt.setString(3, s.getPassword(); pstmt.setString(4, s.getSex(); pstmt.setDa

11、te(5, s.getBirth(); pstmt.setString(6, s.getPhone(); pstmt.setString(7, s.getQq(); pstmt.setString(8, s.getHomeAddr(); pstmt.setDate(9, s.getEntranceTime(); if (pstmt.executeUpdate() 0) flag = true; catch (SQLException e) finally DBConnection.closePstmt(pstmt); DBConnection.closeConn(conn); return f

12、lag; / 修改学生信息 public static boolean update(Student s) update student set studentName = ?, password = ?, sex = ?, birth = ?, phone = ?, qq = ?, homeAddr = ?, entranceTime = ? where studentID = ? pstmt.setString(1, s.getStudentName(); pstmt.setString(2, s.getPassword(); pstmt.setString(3, s.getSex();

13、pstmt.setDate(4, s.getBirth(); pstmt.setString(5, s.getPhone(); pstmt.setString(6, s.getQq(); pstmt.setString(7, s.getHomeAddr(); pstmt.setDate(8, s.getEntranceTime(); pstmt.setString(9, s.getStudentID(); / 检查学生登录是否成功 public static Student check(String studentID, String password) throws StudentNotFo

14、undException, PasswordNotCorrectException Student student = null; ResultSet rs = null;select * from student where studentID = ? pstmt.setString(1, studentID); rs = DBConnection.executeQuery(pstmt); if (!rs.next() throw new StudentNotFoundException(); else if (!rs.getString(password).trim().equals(pa

15、ssword) / System.out.println(rs.getString(); / System.out.println(password); throw new PasswordNotCorrectException(); else student = new Student(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getDate(5), rs.getString(6), rs.getString(7), rs.getString(8), rs.getDate(9); DBConn

16、ection.closeRs(rs); return student;com.ccniit.student.manage.GradeManage类此类是逻辑处理层里面的成绩管理类,有添加成绩、删除成绩、修改成绩、查找成绩等方法,显示层可以直接调用这些方法来实现需要的功能。com.ccniit.student.view.Login类此类是显示层的登录界面,此界面类似一个对话框,但是他是继承JFrame,分为两个模块:学生登录和教师登录。有一个下拉条可以选择是学生登录还是教师登录,当选择学生登录时,会登录进入学生界面,当选择教师登录时会进入教师界面。 /添加登录界面的角色选择监听 jcbPost.

17、addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if (jcbPost.getSelectedItem().equals(学生) jlLogin.setText(学生登录 jlID.setText(学号: else 教师登录教师号: ); add(jcbPost); /监听登录按钮 jbLogin.addActionListener(new ActionListener() /由于一般就是一个教师修改学生信息,所以教师没有建表,所有的教师都通过一个id号和密码登录教师 if (j

18、tfID.getText().trim().equals(jiaoshi) & String.valueOf(jpfPassword.getPassword().trim().equals( setVisible(false); new Teacher().setVisible(true); else JOptionPane.showMessageDialog(Login.this, 登录失败!jiaoshi 密码:jiaoshi. String id = jtfID.getText().trim(); String password = String.valueOf(jpfPassword.

19、getPassword().trim(); if (.equals(id) 请输入学号! return; else if (.equals(password) 请输入密码! try /检查学生登录是否正确,会抛出下面的两种异常,返回登录的学生信息,传递给StudentGrade类 Student student = StudentManage.check(id, password); new StudentGrade(student, false).setVisible(true); catch (StudentNotFoundException e1) 学号不存在! catch (Passw

20、ordNotCorrectException e1) 密码错误!com.ccniit.student.view.StduentGrade类此类是显示层的学生成绩界面,有菜单栏、内容窗口、功能按钮,此界面的功能是查询登录学生的成绩,查询学生的个人详细信息,修改个人信息,修改密码等功能。还新创建了一个线程来读取学生的成绩和信息,此线程是一个内部类,有一个修改密码的小窗口是一个内部类继承了JDialog,修改信息的内部类小窗口继承了JDialog。学生还可以上传自己的照片,修改自己上传的照片,上传后学生就能看到自己的照片,但是学生不能修改自己的班级和入学时间,这两项老师可以修改。部分界面如下图所示:

21、还有一些关键代码: / 声明一个线程来默认读取学生的成绩信息 private class LoadThread implements Runnable public void run() int records = GradeManage.findByID(grades, student.getStudentID(); Object columnNames = 课程名称学期学年分数 ; Object rowData = new ObjectrecordscolumnNames.length; for (int i = 0; i grades.size(); i+) Grade grade = grades.get(i); rowDatai0 = grade.getCourseName(); rowDatai1 = grade.getSemester(); rowDatai2 = grade.getSchoolYear(); rowDatai3 = grade.getGrade(); table = new JTable(rowData, columnName

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1