Java大作业-简单的学籍管理系统

合集下载

JAVA课程设计---学籍管理系统

JAVA课程设计---学籍管理系统
系统维护模块:实现系统参数设置和系 统备份恢复
帮助文档模块:实现系统使用说明和帮 助文档的查看和下载
功能测试:验证系统功能是否 满足需求
性能测试:评估系统在不同负 载下的性能表现
安全测试:检查系统是否存在 安全漏洞
用户体验测试:评估系统的易 用性和用户满意度
Part Six
部 署 工 具 : To m c a t 、 J e t t y 、 WebLogic等应用服务器
生成绩
学籍管理模块: 添加、修改、 删除、查询学
籍信息
系统管理模块: 用户管理、权 限管理、系统
设置等
Part Five
数据库类型:MySQL 数据库设计:学生表、课程表、成绩表等 数据库操作:增删改查等基本操作 数据库优化:索引、缓存等优化措施
登录界面:用 户输入用户名 和密码进行登

主界面:显示 学生信息、课 程信息、成绩
数据完整性和一致性:通过主键和 外键保证数据的完整性和一致性
界面布局:简洁明了,易 于操作
色彩搭配:协调统一,易 于阅读
功能模块:清晰划分,易 于查找
交互方式:直观便捷,易 于使用
学生信息管理 模块:添加、 修改、删除、 查询学生信息
课程信息管理 模块:添加、 修改、删除、 查询课程信息
成绩管理模块: 添加、修改、 删除、查询学
学籍管理:学籍注册、学籍 变更、学籍注销
系统管理:用户管理、权限 管理、日志管理
性能需求:系统 响应时间、处理 速度等
可靠性需求:系 统稳定性、数据 安全性等
可用性需求:用 户界面友好、操 作简便等
可维护性需求: 系统易于维护、 升级等
Part Four
架构设计原则: 高内聚、低耦 合、可扩展、

java学籍管理系统课程设计

java学籍管理系统课程设计

java学籍管理系统 课程设计一、课程目标知识目标:1. 掌握Java语言基础,包括数据类型、控制结构、类与对象等;2. 学会使用Java进行数据库连接和SQL语句操作,实现对学籍信息的增、删、改、查功能;3. 了解学籍管理系统的一般需求分析、功能设计及系统架构。

技能目标:1. 能够运用面向对象思想进行Java程序设计,编写出结构清晰、可维护性强的代码;2. 独立完成学籍管理系统的功能模块编写,具备一定的项目实践能力;3. 掌握使用Java开发工具(如Eclipse)进行代码编写、调试和运行。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习积极性,树立正确的学习态度;2. 培养学生的团队协作精神,提高沟通与协作能力;3. 增强学生的信息安全意识,认识到学籍信息管理的重要性。

课程性质:本课程为实践性较强的学科课程,结合实际学籍管理需求,培养学生的编程能力和项目实践能力。

学生特点:学生已具备一定的Java语言基础,具有一定的逻辑思维能力和问题解决能力。

教学要求:注重理论与实践相结合,强调动手实践,引导学生主动探究,培养学生的创新精神和实践能力。

将课程目标分解为具体的学习成果,以便于教学设计和评估。

二、教学内容1. Java语言基础复习:变量、数据类型、运算符、控制结构(章节1-4);2. 面向对象编程:类与对象、继承、多态、接口(章节5-8);3. 数据库连接技术:JDBC简介、数据库连接、SQL语句操作(章节9);- MySQL数据库安装与配置;- JDBC API的使用;- 常用SQL语句编写与执行;4. 学籍管理系统功能模块设计:- 需求分析;- 功能模块划分;- 数据库表设计(学生信息表、班级信息表等);5. 编程实践:- 学生信息管理模块(添加、修改、删除、查询);- 班级信息管理模块(添加、修改、删除、查询);- 用户登录与权限控制模块;6. 项目测试与优化:单元测试、集成测试、性能优化(章节10);7. 课程总结与项目答辩:- 代码规范与编程习惯;- 项目展示与答辩;- 同学互评与反馈。

Java课程设计——学生学籍管理系统

Java课程设计——学生学籍管理系统

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊目录一、设计目的 (2)二、功能介绍 (2)三、程序流程 (3)四、设计步骤 (4)五、设计总结 (11)六、程序清单 (11)七、参考文献 (17)┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊一、设计目的《java课程设计》是计算机相关专业的必修专业基础课程,其实践性,应用性很强。

实践教学环节是必不可少的一个重要环节。

本课程的程序设计专题实际是计算机相关专业学生学习《java程序设计》课程后,进行的一次全面的综合训练,java程序设计的目的是加深对理论教学内容的理解和掌握,是学生较系统的掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。

二、功能介绍1、管理员登陆功能。

2、注册管理员功能。

3、按照学生学号搜索学籍信息功能。

4、显示所有学生学籍信息功能。

5、添加新的学生学籍信息功能。

6、删除指定学生学籍功能。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊三、程序流程四、设计步骤1、运行程序,通过LoginFrame类的构造方法LoginFrame()调用init()来初始化,生成界面,如果4-1所示,输入用户名、密码,如果用户名密┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊码正确,显示提示登录成功,如图4-2所示图4-1 登录界面图4-2 登录成功核心代码://验证用户public boolean check(String u,String p){boolean b=false;try{ConnDB cd=new ConnDB();conn=cd.getConn();ps=(PreparedStatement) conn.prepareStatement("select userpwd from users where username='"+u+"'");res=ps.executeQuery();if(res.next()){┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊String dbpwd=res.getString(1);if(dbpwd.equals(p)){b=true;}}}catch(Exception e){e.printStackTrace();}finally{this.close();}return b;}2、登录成功后,进入管理界面,如图4-3所示,然后按照提示,输入要查找的学籍的学生学号,点击搜索按钮,响应搜索按钮的事件处理,调用actionPerformed(ActionEvent e)实现事件监听,然后在这个方法中调用DBOperate类,创建一个DBOperate类对象,调用DBOperate类的getAXueJiInfo(String tnum)方法,参数为学号,然后显示出所查找学生的学籍信息,如图4-4所示:图4-3 学生学籍管理系统主界面┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊图4-4 学生学籍管理系统主界面下的搜索界面核心代码://按学号查找学籍信息public xuejiBean getAXueJiInfo(String tnum){xuejiBean xjb=new xuejiBean();if(tnum.equals("")){return null;}int num=Integer.parseInt(tnum);try {ConnDB cd=new ConnDB();conn=cd.getConn();ps=(PreparedStatement) conn.prepareStatement("SELECT * FROM xueji WHERE num="+num+"");res=ps.executeQuery();while(res.next()){x jb.setNum(res.getInt(1));x jb.setSname(res.getString(2));x jb.setSex(res.getString(3));x jb.setMinzu(res.getString(4));x jb.setAge(res.getInt(5));x jb.setSdepart(res.getString(6));x jb.setStudytime(res.getString(7));x jb.setPface(res.getString(8));x jb.setAddress(res.getString(9));}} catch (Exception e) {e.printStackTrace();} finally{this.close();┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊}return xjb;}3、在管理界面的主界面中,点击搜索所有学籍信息,响应StuInfoFrame类中的actionPerformed(ActionEvent e)事件处理,然后在此方法中调用DBOperate类的ShowXueJiInfo()方法,然后在这个方法中查找数据库,将数据库返回的数据显示在JFrame中JTable内,显示结果如图4-5所示:图4-5 显示所有学生学籍信息的界面核心代码://显示所有学籍信息public ArrayList<xuejiBean> ShowXueJiInfo(){ArrayList<xuejiBean> al=new ArrayList<xuejiBean>();try {ConnDB cd=new ConnDB();conn=cd.getConn();ps=(PreparedStatement) conn.prepareStatement("SELECT * FROM xueji"); res=ps.executeQuery();while(res.next()){x uejiBean xjb=new xuejiBean();x jb.setNum(res.getInt(1));x jb.setSname(res.getString(2));x jb.setSex(res.getString(3));x jb.setMinzu(res.getString(4));x jb.setAge(res.getInt(5));x jb.setSdepart(res.getString(6));x jb.setStudytime(res.getString(7));x jb.setPface(res.getString(8));x jb.setAddress(res.getString(9));a l.add(xjb);}┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊} catch (Exception e) {e.printStackTrace();// TODO: handle exception} finally{this.close();}return al;}4、添加新的学生学籍信息,点击添加新学籍按钮响应StuInfoFrame类中的actionPerformed(ActionEvent e)事件处理,然后在此方法中,创建DBOperate类的实例,通过DBOperate类的实例调用putInforIntoDb(String name,String sex,String minzu,int age,Stringdepart,String time,String face,String address)方法将新学籍信息录入数据库中,效果如图4-6所示:图4-6 添加学生学籍界面核心代码://录入学籍信息public boolean putInforIntoDb(String name,String sex,String minzu,int age,String depart,String time,String face,String address){boolean b=false;try {ConnDB cd=new ConnDB();conn=cd.getConn();┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ps=(PreparedStatement) conn.prepareStatement("INSERT INTO xueji (sname,sex,minzu,age,sdepart,studytime,pface,address) VALUES (?,?,?,?,?,?,?,?)");ps.setString(1, name);ps.setString(2, sex );ps.setString(3, minzu);ps.setInt(4, age);ps.setString(5, depart);ps.setString(6, time);ps.setString(7, face);ps.setString(8, address);int cont=ps.executeUpdate();if(cont==1){b=true;}} catch (Exception e) {e.printStackTrace();// TODO: handle exception} finally{this.close();}return b;}5、在2中,搜索出某个学生的学籍信息后,可以点击“删除该学籍信息”按钮,然后该按钮响应tuInfoFrame类中的actionPerformed(ActionEvente)事件处理通过在此方法中创建DBOperate类的实例来调用DBOperate类中的Deleteuser(String id)方法来删除该学籍信息。

Java课程设计---学生学籍管理系统

Java课程设计---学生学籍管理系统

设计报告课题名称:学生学籍管理系统学院:专业班级:计算机应用技术091 学号:学生:指导教师:2011年7月7日学生指导教师课题名称学生学籍管理系统设计时间2011.6.27-2011.7.8设计地点图书馆506设计目的(1)加深对运用JA V A编程的方法、原理及过程(2)熟练对流程图的绘制(3)增强上机调试程序,善于发现问题并解决问题(4)学习用文档书写程序设计说明(5)让同学们初步了解对小程序的开发过程一.需求分析学生信息的管理是学校日常工作中的重要组成部分。

高校招生规模的逐步扩大和认识制度的改革,在校学生人数将不断增加,而学生管理人员则相对减少。

加上我国高等学校基层学生管理工作的头绪多,内容杂,管理细,要求高,传统管理办法已基本不适应新形势的要求。

在校生的基本信息的管理,选课及成绩的信息的管理,学生学籍的管理,稍有不慎就会出现错误。

当前学校对学生信息的管理不规范,不详细,而且管理信息费时费力浪费大量的人力物力。

不利于节省资源。

本程序就是为了快速便捷的存储,查找,修改,删除学生信息的。

二.设计目的(1)加深对运用JA V A编程的方法、原理及过程(2)熟练对流程图的绘制(3)增强上机调试程序,善于发现问题并解决问题(4)学习用文档书写程序设计说明(5)让同学们初步了解对小程序的开发过程三.函数作用及各类的关系1.StudentManager.java该类负责创建学生信息管理系统的主窗口,该类还有main方法,程序从该类开始执行。

2.Inquest.java该类创建的对象是StudentManager类的重要成员之一,负责提供录入学生基本信息的界面。

3.ModifySituation.java该类创建的对象是StudentManager类的重要成员之一,负责提供修改学生基本信息的界面。

4.Delete.java该类创建的对象是StudentManager类的重要成员之一,负责提供删除学生基本信息的界面。

学生学籍管理系统java课程设计

学生学籍管理系统java课程设计

学生学籍管理系统Java课程设计一、介绍学生学籍管理系统是一套用于学校管理学生信息的软件系统。

本系统旨在通过Java编程,实现学生信息的录入、管理、修改和查询等功能。

在课程设计中,我们将使用Java语言和相关技术,如面向对象的编程思想、GUI设计等,来完成这一学生学籍管理系统的设计与实现。

二、功能需求1.学生信息录入:包括学生的学号、姓名、性别、年龄等基本信息的录入;2.学生信息查询:根据学生学号或姓名等信息进行查询,并将查询结果显示在界面上;3.学生信息修改:可以修改学生的基本信息,如姓名、性别、年龄等;4.界面友好:设计简洁、美观的用户界面,提高用户体验。

三、设计思路1.数据结构设计:使用类和对象来表示学生信息,构建学生类(Student类),包含学号、姓名、性别、年龄等属性;2.界面设计:使用Java Swing库来构建用户界面,包括菜单栏、文本框、按钮等组件;3.功能模块设计:将学生信息录入、查询、修改等功能封装成不同的方法,并在主程序中调用;4.异常处理:在程序中添加异常处理机制,以应对用户错误输入等异常情况。

四、具体实现步骤1.创建学生类:定义一个Student类,包含学号、姓名、性别、年龄等属性,并编写构造方法和getter、setter方法;2.设计主界面:使用Swing库创建主界面,包括菜单栏和各个功能按钮;3.实现学生信息录入功能:在录入界面添加文本框和确认按钮,将输入的信息保存到学生类实例中;4.实现学生信息查询功能:在查询界面设计查询条件输入框和查询按钮,根据条件查询学生信息并在界面展示;5.实现学生信息修改功能:在修改界面允许用户选择要修改的学生信息,并提供文本框供用户修改;6.异常处理:在程序中添加必要的异常处理代码,如输入非法字符、查询结果为空等情况。

五、总结通过本次课程设计,我们深入学习了Java编程语言,掌握了面向对象的程序设计思想,提高了对GUI界面设计的理解。

java学生管理系统大作业代码

java学生管理系统大作业代码

java学生管理系统大作业代码Java学生管理系统是一个基于Java语言开发的学生信息管理系统,用于方便学校教务人员进行学生信息的管理和查询。

以下是该系统的代码实现。

1. 登录界面代码实现该界面是用户登录的入口,用户需要输入用户名和密码才能进入系统。

```javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class Login extends JFrame implements ActionListener {JLabel lb1, lb2, lb3;JTextField txtName;JPasswordField txtPwd;JButton btnOK, btnCancel;String userName = "admin";// 默认用户名String password = "123456";// 默认密码public Login() {setTitle("学生信息管理系统登录");// 设置窗体标题setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置窗体关闭方式setSize(350, 200);// 设置窗体大小setLocationRelativeTo(null);// 设置居中显示setLayout(new BorderLayout());JPanel pNorth = new JPanel();lb1 = new JLabel("欢迎使用学生信息管理系统", JLabel.CENTER); lb1.setFont(new Font("微软雅黑", Font.BOLD, 20));pNorth.add(lb1);add(pNorth, BorderLayout.NORTH);JPanel pCenter = new JPanel();pCenter.setLayout(new GridLayout(3, 2));lb2 = new JLabel("用户名:", JLabel.RIGHT);pCenter.add(lb2);txtName = new JTextField(20);pCenter.add(txtName);lb3 = new JLabel("密码:", JLabel.RIGHT);pCenter.add(lb3);txtPwd = new JPasswordField(20);txtPwd.setEchoChar('*');// 设置密码框的回显字符pCenter.add(txtPwd);btnOK = new JButton("登录");pCenter.add(btnOK);btnCancel = new JButton("取消");pCenter.add(btnCancel);add(pCenter, BorderLayout.CENTER);btnOK.addActionListener(this);btnCancel.addActionListener(this);setVisible(true);// 显示窗体}public void actionPerformed(ActionEvent e) {if (e.getSource() == btnOK) {String name = txtName.getText();// 获取用户名String password = new String(txtPwd.getPassword());// 获取密码 if (name.equals(userName) && password.equals(password)) {setVisible(false);new MainFrame();} else {JOptionPane.showMessageDialog(Login.this, "用户名或密码错误!", "登录失败", JOptionPane.ERROR_MESSAGE);}} else if (e.getSource() == btnCancel) {txtName.setText("");txtPwd.setText("");}}public static void main(String[] args) {new Login();}}```2. 主界面代码实现该界面是系统的主界面,包含了菜单栏、工具栏和表格显示区域。

基于java的学籍管理系统实训报告

基于java的学籍管理系统实训报告

基于Java的学籍管理系统实训报告一、引言本实训报告旨在详细介绍基于Java的学籍管理系统的设计与实现。

学籍管理系统是一套用于管理学校学生学籍信息的软件系统,能够方便地记录和查询学生的个人信息、学习成绩、奖惩情况等。

二、需求分析为了更好地满足学校对学籍管理的需求,我们分析了用户需求,并根据需求设计了系统的功能模块,包括学生信息管理、课程管理、成绩管理、奖惩管理等。

根据系统需求,我们选择使用Java语言进行开发。

三、系统设计3.1 学生信息管理在学生信息管理模块中,我们设计了以下功能:•添加学生信息:包括学生姓名、性别、年龄等基本信息。

•修改学生信息:可以对学生的基本信息进行修改。

•查询学生信息:可以根据学生的学号或姓名进行查询。

3.2 课程管理课程管理模块包括以下功能:•添加课程:包括课程名称、授课教师、学分等信息。

•修改课程信息:对课程的基本信息进行修改。

•查询课程信息:可以根据课程名称或教师姓名进行查询。

3.3 成绩管理成绩管理模块包括以下功能:•录入学生成绩:包括学生学号、课程名称、成绩等信息。

•修改学生成绩:可以对学生成绩进行修改。

•查询学生成绩:可以根据学生学号或课程名称进行查询。

3.4 奖惩管理奖惩管理模块包括以下功能:•添加奖惩信息:包括学生学号、奖惩类型、奖惩原因等信息。

•修改奖惩信息:可以对奖惩信息进行修改。

•查询奖惩信息:可以根据学生学号进行查询。

四、实现过程为了实现学籍管理系统,我们采用了Java语言和MySQL数据库。

以下是系统实现的步骤:1.设计数据库表结构:根据需求分析,设计了学生表、课程表、成绩表和奖惩表的结构,并创建了相应的表。

2.编写Java类:根据功能模块,编写了学生类、课程类、成绩类和奖惩类的Java类,定义了相应的属性和方法。

3.连接数据库:使用Java的JDBC技术连接MySQL数据库,并编写了数据库操作类,实现对数据库的增删改查操作。

4.编写用户界面:使用Swing组件库,设计了用户界面,包括添加学生信息、查询成绩、修改奖惩信息等操作的界面。

JAVA J2EE大作业——学生信息管理系统

JAVA J2EE大作业——学生信息管理系统

JA V A & J2EE大作业——学生信息管理系统/src/beanFind.javapackage bean;import java.io.File;import java.io.IOException;import java.util.Iterator;import javax.servlet.jsp.JspWriter;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class Find {public String[] find(String id,String name,JspWriter out,String studentInfoPath) throws DocumentException, IOException{SAXReader saxReader = new SAXReader();Document document = saxReader.read(new File(studentInfoPath));Element root = document.getRootElement();String[]str=new String[7];int j=0;//遍历根结点(students)的所有孩子节点(肯定是student节点)boolean flagid,flagname;for ( Iterator<?> iter = root.elementIterator(); iter.hasNext(); ){out.print("<tr>");int i=0;Element element = (Element) iter.next();flagid=false;flagname=false;//遍历student结点的所有孩子节点(即id,name,age,gender,email,java),并进行处理Iterator<?> iterInner = element.elementIterator();Element elementInner = (Element) iterInner.next();if(elementInner.getText().equals(id)){flagid=true;}elementInner = (Element) iterInner.next();if(elementInner.getText().equals(name)){flagname=true;}if(id!=null&&name!=null){if(flagid&&flagname){j++;for ( Iterator<?> iterInner1 = element.elementIterator(); iterInner1.hasNext(); ){Element elementInner1 = (Element) iterInner1.next();str[i]=elementInner1.getText();out.print("<th>"+elementInner1.getText()+"</th>");i++;}break;}}else if(name!=null&&id==null){if(flagname){j++;for ( Iterator<?> iterInner1 = element.elementIterator(); iterInner1.hasNext(); ){Element elementInner1 = (Element) iterInner1.next();str[i]=elementInner1.getText();out.print("<th>"+elementInner1.getText()+"</th>");i++;}}}else if(id!=null&&name==null){if(flagid){j++;for ( Iterator<?> iterInner1 = element.elementIterator(); iterInner1.hasNext(); ){Element elementInner1 = (Element) iterInner1.next();str[i]=elementInner1.getText();out.print("<th>"+elementInner1.getText()+"</th>");i++;}break;}}else{break;}out.print("</tr>");}str[6]=j+"";return str;}}ReadUserInfo.javapackage bean;import java.io.IOException;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.util.LinkedList;public class ReadUserInfo {//文件中读取出的用户信息LinkedList<String> nameList = new LinkedList<String>();LinkedList<String> passList = new LinkedList<String>();// StringTokenizer相关变量String temp;String[] st;//用来保存用户输入信息String username;String password;public String getUsername(){return username;}public void setUsername(String username){ername = username;}public String getPassword(){return password;}public void setPassword(String password){this.password = password;}public LinkedList<String> getNameList(){return nameList;}public LinkedList<String> getPassList(){return passList;}public void read(String path) throws IOException{File file = new File(path);BufferedReader br = new BufferedReader(new FileReader(file));while ((temp = br.readLine()) != null){st =temp.split(",");nameList.add(st[0]);passList.add(st[1]);}}public boolean checknp(String name,String pass){LinkedList<String> nlist = getNameList();LinkedList<String> plist = getPassList();if(!nlist.contains(name) || !plist.contains(pass)){return false;}if(nlist.indexOf(name) != plist.indexOf(pass)){return false;}return true;}}XmlPage.javapackage bean;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.util.Iterator;import java.util.List;import javax.servlet.jsp.JspWriter;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;public class XmlPage {public void Edit(String user,String Id,String Name,String Age,String Gender,String Email,String Java,String studentInfoPath) throws DocumentException, IOException {SAXReader reader = new SAXReader();Document document = reader.read(new File(studentInfoPath));Element root = document.getRootElement();Element element = null ;for ( Iterator<?> iter = root.elementIterator(); iter.hasNext(); ){element = (Element) iter.next();//遍历student结点的所有孩子节点(即id,name,age,gender,email,java),并进行处理Iterator<?> iterInner = element.elementIterator();Element elementInner = (Element) iterInner.next();if(elementInner.getText().equals(user))break;}if(!Id.isEmpty())element.element("id").setText(Id);if(!Name.isEmpty())element.element("name").setText(Name);if(!Age.isEmpty())element.element("age").setText(Age);if(!Gender.isEmpty())element.element("gender").setText(Gender);if(!Email.isEmpty())element.element("email").setText(Email);if(!Java.isEmpty())element.element("java").setText(Java);OutputFormat out = new OutputFormat(" ", true, "utf-8");XMLWriter writer = new XMLWriter(new FileOutputStream(studentInfoPath),out);writer.write(document);writer.close();}public boolean check(String id,String studentInfoPath) throws DocumentException{SAXReader reader = new SAXReader();Document document = reader.read(new File(studentInfoPath));Element root = document.getRootElement();boolean flag=true;for ( Iterator<?> iter = root.elementIterator(); iter.hasNext(); ){Element element = (Element) iter.next();//遍历student结点的所有孩子节点(即id,name,age,gender,email,java),并进行处理Iterator<?> iterInner = element.elementIterator();Element elementInner = (Element) iterInner.next();if(elementInner.getText().equals(id)){flag=false;break;}}return flag;}public void add(String Id,String Name,String Age,String Gender,String Email,String Java,String studentInfoPath) throws Exception {SAXReader reader = new SAXReader();Document document = reader.read(new File(studentInfoPath));Element root = document.getRootElement();Element parent = root.addElement("student");Element id= parent.addElement("id");id.setText(Id);Element name = parent.addElement("name");name.setText(Name);Element age= parent.addElement("age");age.setText(Age);Element gender = parent.addElement("gender");gender.setText(Gender);Element email = parent.addElement("email");email.setText(Email);Element java = parent.addElement("java");java.setText(Java);OutputFormat out = new OutputFormat(" ", true, "utf-8");XMLWriter writer = new XMLWriter(new FileOutputStream(studentInfoPath),out);writer.write(document);writer.close();}public void Del(String id,String studentInfoPath) throws Exception {SAXReader reader = new SAXReader();Document document = reader.read(new File(studentInfoPath));Element root = document.getRootElement();Element element = null ;for ( Iterator<?> iter = root.elementIterator(); iter.hasNext(); ){element = (Element) iter.next();//遍历student结点的所有孩子节点(即id,name,age,gender,email,java),并进行处理Iterator<?> iterInner = element.elementIterator();Element elementInner = (Element) iterInner.next();if(elementInner.getText().equals(id))break;}root.remove(element);OutputFormat out = new OutputFormat(" ", true, "utf-8");XMLWriter writer = new XMLWriter(new FileOutputStream(studentInfoPath), out);writer.write(document);writer.close();}public void Reader(int diPage,int pageFileSize,JspWriter out,String studentInfoPath) throws DocumentException, IOException{SAXReader saxReader = new SAXReader();Document document = saxReader.read(new File(studentInfoPath));Element root = document.getRootElement();// 用于记录学生编号的变量int num=0;//遍历根结点(students)的所有孩子节点(肯定是student节点)for ( Iterator<?> iter = root.elementIterator(); iter.hasNext(); ){out.print("<tr>");num++;Element element = (Element) iter.next();if(num>=(diPage*pageFileSize-(pageFileSize-1))&&num<=diPage*pageFileSize){//遍历student结点的所有孩子节点(即id,name,age,gender,email,java),并进行处理for ( Iterator<?> iterInner = element.elementIterator(); iterInner.hasNext(); ){Element elementInner = (Element) iterInner.next();out.print("<th>"+elementInner.getText()+"</th>");}}out.print("</tr>");}}public int Count(String studentInfoPath) throws DocumentException{SAXReader saxReader = new SAXReader();Document document = saxReader.read(new File(studentInfoPath));List<?> list = document.selectNodes("/students/student");int num = list.size();return num;}}/src/filterAuthorityFilter.javapackage filter;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class AuthorityFilter implements Filter{//FilterConfig可用于访问Filter的配置信息private FilterConfig config;//实现初始化方法public void init(FilterConfig config){this.config = config;}//实现销毁方法public void destroy(){this.config = null;}//执行过滤的核心方法public void doFilter(ServletRequest request,ServletResponse response, FilterChain chain)throws IOException,ServletException{//---------下面代码用于对用户请求执行预处理---------//获取ServletContext对象,用于记录日志ServletContext context = this.config.getServletContext();long before = System.currentTimeMillis();System.out.println("开始过滤...");//获取该Filter的配置参数String encoding = config.getInitParameter("encoding");String loginPage = config.getInitParameter("loginPage");String loginServlet = config.getInitParameter("loginServlet");String addsuccess = config.getInitParameter("addsuccess");String changePage = config.getInitParameter("changePage");String changesuccess = config.getInitParameter("changesuccess");String delete = config.getInitParameter("delete");//设置request编码用的字符集request.setCharacterEncoding(encoding);HttpServletRequest requ = (HttpServletRequest)request;HttpSession session = requ.getSession(true);//输出提示信息System.out.println("Filter已经截获到用户的请求的地址:" +requ.getServletPath());System.out.println("user:" +session.getAttribute("user"));//获取客户请求的页面String requestPath = requ.getServletPath();//如果session范围的user为null,即表明没有登录//且用户请求的既不是登录页面,也不是处理登录的页面if( session.getAttribute("user") == null&& !requestPath.endsWith(loginPage)&& !requestPath.endsWith(loginServlet)){request.setAttribute("tip", "nologin");request.getRequestDispatcher("/login.jsp").forward(request, response);}/*else if(requestPath.endsWith(addsuccess)||requestPath.endsWith(changePage)||requestPath.endsWith(changesuccess)||requestPath.endsWith(delete)){request.setAttribute("tip", "stop");request.getRequestDispatcher("/studentInfoDisplay.jsp").forward(request, response);}*///"放行"请求else{chain.doFilter(request, response);}//---------下面代码用于对服务器响应执行后处理---------long after = System.currentTimeMillis();//输出提示信息System.out.println("过滤结束");//输出提示信息System.out.println("请求被定位到" + ((HttpServletRequest) request).getRequestURI() +" 所花的时间为: " + (after - before));System.out.println("Session.tip:"+session.getAttribute("tip"));System.out.println("er:"+session.getAttribute("user"));}}/src/sevrvletLoginServlet.javapackage sevrvlet;import java.io.IOException;import java.io.PrintWriter;import javax.mail.Session;import javax.servlet.RequestDispatcher;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.jboss.weld.context.SessionContext;import bean.ReadUserInfo;public class LoginServlet extends HttpServlet {/*** Constructor of the object.*/public LoginServlet() {super();}/*** Destruction of the servlet. <br>*/public void destroy() {super.destroy(); // Just puts "destroy" string in log// Put your code here}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {ReadUserInfo r = new ReadUserInfo();r.read(request.getSession().getServletContext().getRealPath("")+"\\WEB-INF\\users.txt");String username = request.getParameter("username");String password = request.getParameter("password");HttpSession session = request.getSession(true);//RequestDispatcher dis = null;PrintWriter out = response.getWriter();if(!r.checknp(username,password)){out.print("<script>alert('Wrong username or password');location.href='../login.jsp';</script>");//dis = request.getRequestDispatcher("../login.jsp");}else{session.setAttribute("user", username);System.out.println("LoginServlet tip:"+session.getAttribute("tip"));//out.print("<script>alert('z!');location.href='../index.jsp';</script>");//dis = request.getRequestDispatcher("../studentInfoDisplay.jsp");out.print("<script>location.href='../studentInfoDisplay.jsp';</script>");}//dis.forward(request, response);}/*** Initialization of the servlet. <br>** @throws ServletException if an error occurs*/public void init() throws ServletException {// Put your code here}}/src/tagIteratorTag.javapackage tag;import java.io.IOException;import java.util.Collection;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.SimpleTagSupport;public class IteratorTag extends SimpleTagSupport {private String collection;private String item;//collection的setter与getter函数public void setCollection(String conllection){this.collection = conllection;}public String getCollection(){return this.collection;}//item的setter与getter函数public void setItem(String item){this.item = item;}public String getItem(){return item;}@Overridepublic void doTag() throws JspException, IOException {// TODO Auto-generated method stubCollection itemlist = (Collection)getJspContext().getAttribute(collection);for(Object itemTemp : itemlist){getJspContext().setAttribute(item, itemTemp);getJspBody().invoke(null);}}/srcmytaglib.tld<?xml version="1.0"encoding="GBK"?><taglib xmlns="/xml/ns/j2ee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"version="2.0"><tlib-version>1.0</tlib-version><short-name>mytaglib</short-name><!-- 定义该标签库的URI --><uri>/mytaglib</uri><tag><!-- 定义标签名 --><name>iterator</name><!-- 定义标签处理类 --><tag-class>tag.IteratorTag</tag-class><!-- 定义标签体支持JSP脚本 --><body-content>scriptless</body-content><!-- 配置标签属性:collection --><attribute><name>collection</name><required>true</required><fragment>true</fragment></attribute><!-- 配置标签属性:item --><attribute><name>item</name><required>true</required><fragment>true</fragment></attribute></tag></taglib>/WebRootadd.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"><title>添加信息</title></head><body><%-- <% if(request.getAttribute("tip") != null && request.getAttribute("tip").equals("stop")){request.removeAttribute("tip");out.print("<script>alert('不能直接访问该网页');</script>");}%> --%><center><jsp:useBean id="testBean"class="bean.XmlPage"scope="page"/><form action = "addsuccess.jsp"method = "post">请输入学生信息:<br><br>姓&nbsp;名:<input type= "text"name="name"style = "width = 165px;height = 22px;"value=""/><br><br>学&nbsp;号:<input type= "text"name="id"style= "width = 165px;height = 22px;"value=""/><br><br>年&nbsp;龄:<input type= "text"name="age"style = "width = 165px;height = 22px;"value=""/><br><br>性&nbsp;别:<input type= "text"name="gender"style style = "width = 165px;height = 22px;"value=""/><br><br>email:<input type= "text"name="email"style= "width= 165px;height = 22px;"value=""/><br><br>java&nbsp;:<input type= "text"name="java"style= "width= 165px;height = 22px;"value=""/><br><br><input type="submit"value="添加"/>&nbsp;&nbsp;<a href="studentInfoDisplay.jsp">返回</a></form></center></body></html>addsuccess.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"><title>find</title></head><body><%//System.out.println("11213213");if(application.getAttribute("lock") == "true"){out.print("<script>alert('他人正在操作中');location.href='studentInfoDisplay.jsp';</script>");}else{application.setAttribute("lock", "true");}%><jsp:useBean id="testBean"class="bean.XmlPage"scope="page"/><%String Id=request.getParameter("id"),Name=request.getParameter("name"),Age=request.getParameter("age"),Gender=request.getParameter("gender"),Email=request.getParameter("email"),Java=request.getParameter("java");//Name= new String(Name.getBytes("ISO8859_1"), "GBK");//Gender= new String(Gender.getBytes("ISO8859_1"), "GBK");System.out.println(request.getRealPath("/WEB-INF/students.xml")) ;if(Id.isEmpty()||Name.isEmpty()||Age.isEmpty()||Gender.isEmpty() ||Email.isEmpty()||Java.isEmpty()){application.setAttribute("lock", "false");out.print("<script>alert('学生信息未填写完整!');location.href='add.jsp';</script>");}else{if(testBean.check(Id,request.getRealPath("/WEB-INF/students.xml"))) {testBean.add(Id, Name, Age, Gender, Email, Java,request.getRealPath("/WEB-INF/students.xml"));application.setAttribute("lock", "false");out.print("<script>alert('成功添加!');location.href='studentInfoDisplay.jsp';</script>");}else{application.setAttribute("lock", "false");out.print("<script>alert('该学生已存在!');location.href='add.jsp';</script>");}}%></body></html>change.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"><title>修改信息</title></head><body><%-- <% if(request.getAttribute("tip") != null && request.getAttribute("tip").equals("stop")){request.removeAttribute("tip");out.print("<script>alert('不能直接访问该网页');</script>");}%> --%><center><jsp:useBean id="testBean"class="bean.XmlPage"scope="page"/><form action = "changesuccess.jsp"method = "post"><!-- 并发操作安全性代码 --><%String id=session.getAttribute("id").toString(),name=session.getAttribute("name").toString(),age=session.getAttribute("age").toString(),gender=session.getAttribute("gender").toString(),email=session.getAttribute("email").toString(),java=session.getAttribute("java").toString();%>在要修改处输入修改后信息:<br><br>姓&nbsp;名:<input type= "text"name="name"style= "width = 165px;height = 22px;"value=<%=name%>><br><br>学&nbsp;号:<input type= "text"name="id"style = "width = 165px;height = 22px;"value=<%=id %>><br><br>年&nbsp;龄:<input type= "text"name="age"style = "width = 165px;height = 22px;"value=<%=age %>><br><br>性&nbsp;别:<input type= "text"name="gender"style = "width = 165px;height = 22px;"value=<%=gender%>><br><br>email:<input type= "text"name="email"style= "width= 165px;height = 22px;"value=<%=email%>><br><br>java&nbsp;:<input type= "text"name="java"style= "width=165px;height = 22px;"value=<%=java%>><br><br><input type="submit"value="更改"/>&nbsp;&nbsp;<a href="studentInfoDisplay.jsp">返回</a></form></center></body></html>changesuccess.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"> <title>find</title></head><body><%System.out.println("11213213");if(application.getAttribute("lock") == "true"){out.print("<script>alert('他人正在操作中');location.href='change.jsp';</script>");}else{application.setAttribute("lock", "true");}%><jsp:useBean id="testBean"class="bean.XmlPage"scope="page"/><%String user=session.getAttribute("id").toString();String Id=request.getParameter("id"),Name=request.getParameter("name"),Age=request.getParameter("age"),Gender=request.getParameter("gender"),Email=request.getParameter("email"),Java=request.getParameter("java");//Name= new String(Name.getBytes("ISO8859_1"), "GBK");//Gender= new String(Gender.getBytes("ISO8859_1"), "GBK");%><%if(!Id.equals(user)){if(testBean.check(Id,request.getRealPath("/WEB-INF/students.xml"))) {testBean.Edit(user,Id, Name, Age, Gender, Email, Java,request.getRealPath("/WEB-INF/students.xml"));application.setAttribute("lock", "false");out.print("<script>alert('成功更改!');location.href='studentInfoDisplay.jsp';</script>");}else{application.setAttribute("lock", "false");out.print("<script>alert('该学生已存在!');location.href='change.jsp';</script>");}}else{testBean.Edit(user,Id, Name, Age, Gender, Email, Java,request.getRealPath("/WEB-INF/students.xml"));application.setAttribute("lock", "false");out.print("<script>alert('成功更改!');location.href='studentInfoDisplay.jsp';</script>");}%></body></html>delete.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"><title>删除</title></head><body><%if(application.getAttribute("lock") == "true"){out.print("<script>alert('他人正在操作中');location.href='studentInfoDisplay.jsp';</script>");}else{application.setAttribute("lock", "true");}%><jsp:useBean id="testBean"class="bean.XmlPage"scope="page"/><%String id=session.getAttribute("id").toString();%><%testBean.Del(id,request.getRealPath("/WEB-INF/students.xml")); %><%application.setAttribute("lock", "false");out.print("<script>alert('成功删除!');location.href='studentInfoDisplay.jsp';</script>");%></body></html>find.jsp<%@page language="java"contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@page import="java.io.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=GBK"><title>查找</title></head><body><%-- <% if(request.getAttribute("tip") != null &&。

《JAVA程序设计》课程设计大作业-Java学生管理系统

《JAVA程序设计》课程设计大作业-Java学生管理系统

《JAVA程序设计》课程设计大作业-Java学生管理系统山东理工大学计算机学院题目: Java学生管理系统班级姓名学号2011 年 12 月 6 日目录摘要.................................................................................3 第一章设计简介及设计方案 (4)1.1 系统功能分析 (4)1.2 系统功能模块设计 (4)1.3 数据库功能分析 (4)1.4 数据库需求分析.........................................................5 第二章详细设计 (6)2.1 数据库设计 (6)2 详细编程…………………………………………………………8 2.第三章设计结果及分析 (12)3.1 设计结果 (12)3.2 设计结果分析.........................................................19 总结..............................................................................17 参考文献 (17)2摘要随着计算机技术的飞速发展,当今社会正快速向信息化社会前进。

而如今学校的规模不断扩大,学生数量急剧加,有关学生的各种信息量也成倍增长,面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。

通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工用量。

此次设计我们使用JAVA编程,实现了学生信息管理系统的过程。

本系统采用Sun公司的j2sdk1.4.2_04和SQL SERVER 2000数据库管理系统作为开发工具,通过对学生信息管理系统进行可行性分析、需求分析和设计逐步将一个学生信息管理系统的开发过程呈现出来。

学籍管理系统java程序设计

学籍管理系统java程序设计

学籍管理系统java程序设计一、前言学籍管理系统是一个非常常见的校园信息管理系统,它可以方便地记录学生的个人信息、课程成绩、考勤情况等。

本文将介绍如何使用Java语言设计学籍管理系统。

二、需求分析在设计学籍管理系统之前,我们需要先进行需求分析,确定需要实现哪些功能。

一般来说,学籍管理系统需要实现以下功能:1. 学生信息管理:包括添加、修改、删除和查询学生信息等操作。

2. 课程信息管理:包括添加、修改、删除和查询课程信息等操作。

3. 成绩管理:包括添加、修改和查询成绩等操作。

4. 考勤管理:包括添加、修改和查询考勤情况等操作。

5. 用户权限管理:包括管理员和普通用户两种角色,并且管理员具有更高的权限。

三、技术选型在确定了需求之后,我们需要选择合适的技术来实现这些功能。

由于Java是一种跨平台的编程语言,所以我们选择使用Java语言来编写学籍管理系统。

同时,在实现这些功能时,我们还需要使用到以下技术:1. MySQL数据库:用于存储学生信息、课程信息、成绩和考勤情况等数据。

2. JDBC技术:用于连接MySQL数据库并进行数据操作。

3. Swing技术:用于实现用户界面。

四、系统设计在确定了技术选型之后,我们需要进行系统设计。

首先,我们需要设计数据库表结构,包括学生信息表、课程信息表、成绩表和考勤情况表等。

然后,我们需要设计Java类来对应这些数据库表,并实现相应的数据操作方法。

例如,我们可以设计一个Student类来对应学生信息表,并实现添加、修改、删除和查询学生信息的方法。

最后,我们需要使用Swing技术来实现用户界面,并将用户输入的数据传递给对应的Java类进行数据操作。

五、代码实现在进行系统设计之后,我们可以开始编写代码了。

以下是一个简单的示例:1. Student类public class Student {private int id;private String name;private String gender;private int age;// 省略getter和setter方法}2. 数据库连接类public class DBUtil {public static Connection getConnection() throws SQLException {String url = "jdbc:mysql://localhost:3306/student";String user = "root";String password = "123456";return DriverManager.getConnection(url, user, password); }}3. 添加学生信息方法public void addStudent(Student student) throws SQLException { Connection conn = null;PreparedStatement ps = null;try {conn = DBUtil.getConnection();String sql = "insert into student(name, gender, age) values(?, ?, ?)";ps = conn.prepareStatement(sql);ps.setString(1, student.getName());ps.setString(2, student.getGender());ps.setInt(3, student.getAge());ps.executeUpdate();} finally {if (ps != null) {ps.close();}if (conn != null) {conn.close();}}}4. 用户界面public class AddStudentFrame extends JFrame { private JTextField nameField;private JRadioButton maleRadioButton;private JRadioButton femaleRadioButton;private JSpinner ageSpinner;// 省略其他组件和事件处理方法}六、总结通过以上的代码示例,我们可以看出,使用Java语言设计学籍管理系统是非常简单的。

JAVA程序设计课程设计大作业Java学生管理系统(1)

JAVA程序设计课程设计大作业Java学生管理系统(1)

JAVA程序设计课程设计大作业Java学生管
理系统(1)
Java学生管理系统是一种为教师、学生和学校管理提供帮助的计算机软件。

它是一个完整的、模块化的解决方案,可以通过一个简单易用的用户界面来管理学生信息,并与教师和学生进行交互。

以下是Java 程序设计课程设计大作业Java学生管理系统的相关内容:
1.需求分析
学生管理系统需要具备以下功能:
(1)学生信息管理:包括添加、查询、修改和删除学生信息;
(2)成绩管理:包括录入、查询和修改学生成绩;
(3)课程管理:包括添加、查询和修改课程信息;
(4)教师管理:包括添加、查询和修改教师信息;
(5)登录系统:包括教师和学生的登录和注销系统。

2.系统架构设计
学生管理系统采用三层架构,包括用户界面、业务逻辑层和数据访问层。

用户界面负责显示数据,业务逻辑层负责处理用户请求,而数据访问层则负责从数据库获取数据。

3.技术选型
Java学生管理系统采用Java技术进行开发,后端采用Spring框架和MyBatis框架进行搭建。

前端使用Swing和JavaFX技术完成。

4.系统实现与测试
在完成开发后,需要对系统进行测试,以确保它的准确性和稳定性。

在测试过程中,需要对系统进行逐步测试,包括单元测试、集成测试
和系统测试等。

5.运维管理
在系统上线后,需要进行运维管理工作,包括监控系统运行情况、日志管理、数据备份和数据恢复等。

总之,Java学生管理系统是在实现学校智能化管理方面的重要应用之一,可以极大提高教学质量和效率。

需要考虑如何完善系统,满足不同用户的需求,同时需要注意系统的优化,提高性能。

学籍管理系统(简易)(java代码实现)实验报告

学籍管理系统(简易)(java代码实现)实验报告

学籍管理系统(简易)(j a v a代码实现)实验报告------------------------------------------作者------------------------------------------日期江西师范大学计算机信息工程学院学生实验报告专业: 计算机科学与技术 姓名:♉ ♉ 学号:♉ 日期:♉♉实验目的、熟悉和掌握字符串、数组等两种高级数据类型;、进一步应用 ♍♋⏹⏹♏❒类的对象,读取不同类型的数据;、进一步训练自顶向下逐步求精策略,并应用于实际问题;、在函数的参数传递中,传递 ♦❒♓⏹♑对象和数组对象。

实验内容设计的程序有如下功能:、能输入 个学生信息,学生信息中包含学号,姓名,年龄,语文,数学,英语等内容;、有统计功能,如统计个人的总分、平均分,以及整体的单科平均分、总分平均;、按语文、数学、英语、年龄、学号等中的任一种对学生进行排序;、能输出所有人的具体信息;、输入指定姓名或学号,输出符合条件的学生信息;、以循环菜单的方式列出上述功能供用户选择;输入 则退出系统。

注意:排序、统计、检索、打印等,必须用子程序单独实现,并以学生信息数组为参数。

、数学、语文、英语均为成绩,考虑重用同一程序实施排序;、考虑系统的可交互性,即对要求用户输入信息格式必须给出友好的提示;、在完成相关功能后给出结果信息。

设计思路、用以下数组存储 位学生的信息:☐◆♌●♓♍ ♦♦♋♦♓♍ ♓⏹♦☯ ⏹◆❍♌♏❒⏹♏♦ ♓⏹♦☯学号 ☐◆♌●♓♍ ♦♦♋♦♓♍ ♦❒♓⏹♑☯ ⏹♋❍♏⏹♏♦ ♦❒♓⏹♑☯ 名字☐◆♌●♓♍ ♦♦♋♦♓♍ ♓⏹♦☯ ♋♑♏⏹♏♦ ♓⏹♦☯年龄☐◆♌●♓♍ ♦♦♋♦♓♍ ♎☐◆♌●♏☯ ♍♒♓⏹♏♦♏⏹♏♦ ♎☐◆♌●♏☯ 语文☐◆♌●♓♍ ♦♦♋♦♓♍ ♎☐◆♌●♏☯ ❍♋♦♒⏹♏♦ ♎☐◆♌●♏☯ 数学英语☐◆♌●♓♍ ♦♦♋♦♓♍ ♎☐◆♌●♏☯ ☐♉♋❖♏⏹♏♦ ♎☐◆♌●♏☯ 平均分☐◆♌●♓♍ ♦♦♋♦♓♍ ♎☐◆♌●♏☯ ♦♉♦♍☐❒♏⏹♏♦ ♎☐◆♌●♏☯ 总分、对于功能( 排序 :统计 :检索 :打印) 分别用四个函数实现,具体算法见相应的代码;各函数对相应的数组进行操作。

基于java的学籍管理系统实训报告

基于java的学籍管理系统实训报告

基于java的学籍管理系统实训报告一、项目概述本项目是基于Java语言开发的学籍管理系统,旨在为学校提供一个高效、便捷的管理平台。

该系统可以实现学生信息的录入、查询、修改和删除等功能,同时也支持教师信息的管理和课程信息的维护。

此外,该系统还支持成绩查询和统计分析功能,方便教师和学生查看自己的成绩情况。

二、需求分析1. 用户需求该系统主要面向学校管理员、教师和学生三类用户。

管理员需要能够对整个系统进行配置和管理,包括用户权限设置、数据备份等操作;教师需要能够录入、修改和查询学生成绩,并能够进行统计分析;学生需要能够查询自己的个人信息和成绩情况。

2. 功能需求(1)用户登录:用户输入用户名和密码进行登录,并根据不同角色进入不同页面。

(2)学生信息管理:管理员可以添加、删除或修改学生信息,教师可以查询并修改自己所授课程下的学生信息。

(3)课程信息管理:管理员可以添加、删除或修改课程信息,教师可以查询并修改自己所授课程的相关信息。

(4)成绩录入与查询:教师可以录入每个学生在每个课程中的成绩,并能够查询和修改成绩信息。

(5)成绩统计分析:教师可以对学生的成绩进行统计分析,例如计算平均分、最高分、最低分等。

三、系统设计1. 技术选型本系统采用Java语言作为开发语言,使用Spring框架进行开发,数据库采用MySQL。

2. 数据库设计(1)学生表:包含学生的基本信息,如学号、姓名、性别、出生日期等。

(2)教师表:包含教师的基本信息,如工号、姓名、性别等。

(3)课程表:包含课程的基本信息,如课程编号、名称等。

(4)成绩表:包含每个学生在每个课程中的成绩信息。

3. 功能实现(1)用户登录功能:使用Spring Security框架进行权限控制,根据用户角色跳转到不同页面。

(2)学生信息管理功能:使用Spring MVC框架实现增删改查操作。

(3)课程信息管理功能:使用Spring MVC框架实现增删改查操作。

(4)成绩录入与查询功能:使用Spring MVC框架实现成绩录入和查询操作,并将数据存储到数据库中。

java课程设计学籍管理系统

java课程设计学籍管理系统

java课程设计学籍管理系统一、教学目标本节课的教学目标是使学生掌握Java语言基础,学会使用Java编写简单的学籍管理系统。

通过本节课的学习,学生应能够理解Java的基本语法,掌握面向对象编程的思想,熟练使用Java编写程序。

1.掌握Java基本语法。

2.理解面向对象编程思想。

3.熟悉Java常用数据结构。

4.能够使用Java编写简单的程序。

5.能够使用Java实现基本的学籍管理功能。

情感态度价值观目标:1.培养学生的编程兴趣,提高学生学习编程的自信心。

2.培养学生团队合作的精神,让学生明白团队协作的重要性。

二、教学内容本节课的教学内容主要包括Java基本语法、面向对象编程思想和Java常用数据结构。

具体包括以下几个部分:1.Java基本语法:变量、数据类型、运算符、控制语句等。

2.面向对象编程思想:类、对象、封装、继承、多态等。

3.Java常用数据结构:数组、链表、树、图等。

三、教学方法为了提高教学效果,本节课将采用多种教学方法相结合的方式进行。

具体包括以下几种方法:1.讲授法:教师讲解Java基本语法、面向对象编程思想和常用数据结构。

2.案例分析法:分析实际学籍管理系统的案例,让学生更好地理解编程思想。

3.实验法:学生动手编写程序,实现学籍管理系统的基本功能。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:Java编程基础。

2.参考书:Java核心技术、Java Web开发等。

3.多媒体资料:教学PPT、视频教程等。

4.实验设备:计算机、网络等。

五、教学评估为了全面、客观地评估学生在学籍管理系统课程中的学习成果,我们将采取以下评估方式:1.平时表现:通过课堂参与度、提问回答、团队合作等方面评估学生的学习态度和积极性。

2.作业:布置与课程相关编程作业,评估学生对知识的掌握程度和编程能力。

3.考试:期末进行闭卷考试,测试学生对Java基本语法、面向对象编程思想和数据结构的掌握情况。

JAVA程序设计课程设计大作业Java学生管理系统(一)

JAVA程序设计课程设计大作业Java学生管理系统(一)

JAVA程序设计课程设计大作业Java学生管理系统(一)Java学生管理系统是一款面向学生的信息管理软件,全面展示学生各个方面的信息。

随着信息技术的不断进步,学生管理系统已经成为学校教育管理中必不可少的一部分。

随着学生数量的增长以及学校管理的需要,对于管理系统的需求也越来越高,要求系统更加智能化、快捷化和便捷化。

Java程序设计课程设计大作业Java学生管理系统也是为此而生。

Java学生管理系统主要是为了解决学校学生的管理问题而设计的。

学生管理系统可以对学生的各项信息进行统一管理,包括学生的个人信息、学籍信息、社团信息、成绩信息、荣誉信息等。

这些数据可以随时查询,以方便老师、家长、学生等人根据需求查看、修改等操作。

Java学生管理系统中包含多个模块,主要包括学生信息模块、课程信息模块、成绩信息模块、荣誉信息模块以及社团信息模块。

在学生信息模块中,管理员可以添加、修改、查询和删除学生的个人信息。

在课程信息模块中,管理员可以添加、修改、查询和删除课程的信息。

在成绩信息模块中,管理员可以添加、修改、查询和删除学生的成绩信息。

在荣誉信息模块中,管理员可以查询学生的荣誉信息。

在社团信息模块中,管理员可以查询学生所在的社团信息。

Java学生管理系统还包括了多种安全机制,如登录验证、权限控制等。

只有管理员才能登录系统,并通过权限控制访问特定的模块,保证了系统的安全性。

Java学生管理系统设计的核心是系统的数据结构以及数据的交互方式。

在系统中,数据是以树状结构组织起来的,各个节点之间通过指针相连。

这种数据结构的形式可以降低系统的复杂度,并使得系统更加易于管理。

总之,Java程序设计课程设计大作业Java学生管理系统是一款高效、简便、安全的学生信息管理系统。

它可以满足学校管理的需求,为了更好地适应学校管理的需要,将不断进行完善和升级。

它对于学校管理和教育工作者都是非常有益的,为了使得学校管理更加高效、自动化,推动学校信息化建设的发展。

java实现简易的学籍管理系统

java实现简易的学籍管理系统

java实现简易的学籍管理系统本⽂实例为⼤家分享了java实现简易的学籍管理系统的具体代码,供⼤家参考,具体内容如下⼀、代码12345 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;public class TestStudentManager {private int rows = 0;private String[][] unit = new String[rows][5];private String[] name = {"姓名", "语⽂", "数学", "外语", "总分"};public JTable table;public static void main( String[] args ) {new TestStudentManager();}TestStudentManager() {JFrame frame = new JFrame("模拟学⽣管理系统");table = new JTable(unit, name);JPanel southPanel = new JPanel();southPanel.add(new JLabel("添加学⽣数"));JButton calc = new JButton("计算成绩");JButton save = new JButton("保存学⽣信息");JTextField input = new JTextField(5);southPanel.add(input);southPanel.add(calc);southPanel.add(save);frame.add(new JLabel("欢迎访问学⽣管理系统"), BorderLayout.NORTH);frame.add(southPanel, BorderLayout.SOUTH);frame.add(new JScrollPane(table), BorderLayout.CENTER);frame.setSize(400, 400);frame.setVisible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);input.addActionListener(new ActionListener() {public void actionPerformed( ActionEvent e ) {rows = Integer.valueOf(input.getText());unit = new String[rows][5];table = new JTable(unit, name);System.out.println("xx");frame.getContentPane().removeAll();frame.add(new JScrollPane(table), BorderLayout.CENTER);frame.add(southPanel, BorderLayout.SOUTH);frame.add(new JLabel("欢迎访问学⽣管理系统"), BorderLayout.NORTH); frame.validate();table.setRowHeight(25);}});calc.addActionListener(new ActionListener() {public void actionPerformed( ActionEvent e ) {for(int i = 0; i < rows; i++) {double sum = 0;5455565758596061626364656667686970717273747576777879808182838485868788899091929394959697booleanflag = true; for (int j = 1; j <= 3; j++) {try {sum += Double.valueOf(unit[i][j].toString());} catch (Exception ee) {flag = false;table.repaint(); } if (flag) { unit[i][4] = "" + sum; table.repaint();}}} } }); save.addActionListener(new ActionListener() {public void actionPerformed( ActionEvent e ) {try {write();} catch (IOException e1) {e1.printStackTrace();} } }); }void write() throws IOException {File f = new File("学⽣信息.txt");FileWriter fw = new FileWriter(f);for (int i = 0; i < 5; i++) {fw.write(name[i] + "\t");}fw.write("\r\n"); for (int i = 0; i < rows; i++) { for (int j = 0; j < 5; j++) { fw.write(unit[i][j] + "\t"); }fw.write("\r\n");}fw.close(); JOptionPane.showMessageDialog(null, "保存成功,存放⾄:学⽣信息.txt"); }}⼆、运⾏以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

JAVA程序设计课程设计大作业Java学生管理系统-V1

JAVA程序设计课程设计大作业Java学生管理系统-V1

JAVA程序设计课程设计大作业Java学生管理系统-V1正文:Java程序设计课程设计大作业Java学生管理系统随着社会的不断发展和教育水平的提高,学生人口不断增加,而传统的学生管理方式已经难以满足现代教育的需要。

因此,在学校教育管理过程中,采用信息技术手段对学生信息进行管理已成为一种趋势。

为了提高学校管理的效率,本文设计了一款Java学生管理系统。

1.系统功能设计Java学生管理系统的主要功能如下:1.1 学生信息录入学生信息录入功能包含录入学生的基本信息及成绩信息。

当学生信息录入完成后,系统会自动计算学生的总成绩、平均成绩和排名等信息。

1.2 学生信息查询学生信息查询功能包含对学生基本信息和成绩信息的查询,支持多种查询方式,如按姓名查询、按学号查询、按专业查询等。

1.3 学生信息修改及删除学生信息修改及删除功能可以对学生信息进行修改和删除,包括学生基本信息和成绩信息。

1.4 成绩统计成绩统计功能可以对学生的成绩进行统计,并输出学生的平均成绩、优秀率、不及格率等信息。

1.5 成绩趋势分析成绩趋势分析功能可以对学生的成绩趋势进行分析,比如成绩波动情况、成绩上升情况等。

2.系统框架设计Java学生管理系统采用B/S结构设计,通过Web前端页面和后端服务进行交互。

系统采用MVC设计模式,将系统分为三层:模型层、视图层和控制层。

2.1 模型层模型层主要包括数据存储和数据操作两部分。

系统数据采用关系型数据库(如MySQL)进行存储,数据操作采用Hibernate框架进行实现。

2.2 视图层视图层主要包括前端页面和展示数据两部分。

前端页面通过HTML、JavaScript、CSS等Web技术进行实现,展示数据通过JSP、Servlet 等Java Web技术进行实现。

2.3 控制层控制层主要负责处理系统的业务逻辑和数据流转,通过Java Web技术实现前后端交互。

3.系统运行环境Java学生管理系统需要在以下环境下运行:3.1 操作系统:Windows、Linux、Mac OS等。

Java大作业_ 简单的学籍管理系统方案

Java大作业_ 简单的学籍管理系统方案

上海电力学院期末作业:简单的学籍管理系统课程:Web应用程序设计院系:电气工程学院专业:电力系统及其自动化学生姓名:张富杰学号:17103060指导教师:曹渝昆2017年1月6日目录一、设计思路 (3)二具体实现 (4)三运行调试与分析 (4)四设计体会与小结 (10)五程序代码 (11)一、设计思路随着社会经济的发展,入学的同学越来越多,为方便对同学学籍信息的的管理,设计学籍管理软件来管理本班级同学的学籍信息。

该软件应支持添加、删除、修改、查询功能。

查询方式主要是支持学号查询,例如:输入“1”,则显示该学生的信息。

运用流式、卡片、整体布局方式对系统的主界面和各功能界面进行设计;通过连接数据库的方式来实现对数据的存储;各功能实现时访问数据库,并对数据信息进行读取,运用Java语句对其进行输出,学号查询时显示在文本框中;系统提示功能用来提醒用户的错误操作和输入时的错误信息,提醒用户进行改正。

二具体实现1.向班级里插入一个学生,但必须是插在已经建立的班级里。

2.输入学生信息,建立一个班级。

3.修改一个学生的所有资料。

4.删除某班的一个学生及其所有资料。

5.删除一个班级。

6.根据学生姓名查找某个学生信息。

每种功能通过一个类来实现:类分分为主类、查询类、修改类、添加类、增加类。

主类各功能界面的连接;精确查询类(SearchStudent)实现根据学生姓名查找某个学生信息;修改类(MdifyStudent)实现修改一个学生的所有资料;添加类(AddStudent)实现向班级里插入一个学生,但必须是插在已经建立的班级里。

;删除类(DeleteStudent)实现删除某班的一个学生及其所有资料。

;删除类(DeleteClass)实现删除一个班级;建立类(BuiltClass)实现输入学生信息建立一个班级。

三运行调试与分析系统的详细设计代码请查阅附带的代码。

以下仅对各个界面进行截图展示:图1:管理界面图2:添加学生到指定的班级界面图3:删除一个学生信息界面图4:修改一个学生信息界面图5:查询某个学生信息界面图6删除一个班级界面图7:输入一个学生建立一个班级界面运行JAVA程序中的StudentManager文件,显示系统的主界面,如图1所示,主界面有进入其他子功能的按钮,选择相应的按钮便可进入相应的功能。

java课程设计-学籍管理系统

java课程设计-学籍管理系统

java课程设计-学籍管理系统本科⽣课程设计课程名称Java程序设计课程编号学号学⽣姓名所在专业所在班级指导教师成绩教师签字年⽉⽇课程设计时间:2009年12⽉ 10 ⽇⾄2009年12⽉ 20 ⽇⽬录⼀.系统开发的⽬的 (3)⼆.设计内容 (3)三.设计要求 (3)四.本系统功能简介 (3)五.设计平台 (3)六.开发情况 (4)七.总体设计 (4)7.1系统模块设计 (4)7.3系统数据流程 (5)⼋.具体设计 (5)8.1运⾏效果与程序发布 (5)九.课程设计总结 (12)⼀.系统开发的⽬的随着科学技术的发展,社会进步,计算机迅速的发展,仓库管理的⽅法也⽇新⽉异,以前全是由⼈管理的⽅法现存在很多的缺点:管理效率低,劳动强度⼤,信息处理速度低⽽且准确率也不够令⼈满意。

为了提⾼仓库管理效率,减轻劳动强度提⾼,信息处理速度和准确性;为学籍信息管理员提供更⽅便、科学的服务项⽬。

为学籍信息管理员提供的⼀种更先进、科学的服务系统。

于是我们便选择了由计算机来设计⼀个学籍管理系统的⽅案。

让计算机对学⽣学籍进⾏⾃动管理,学籍信息管理员可以直接在计算机上实现对学⽣学籍的信息管理,并能在⼀定程度上实现⾃动化。

我们在现⾏系统初步调查的基础上提出了新系统⽬标,即新系统建⽴后所要求达到的运⾏指标,这是系统开发和评价的依据⼆.设计内容设计⼀个java平台的学籍管理系统。

三.设计要求要求本系统实现的功能如下:(1)学籍管理信息的增加、删除、修改。

(2)学籍信息的查询。

四.本系统功能简介学籍信息录⼊管理,录⼊学⽣学籍信息,确认信息并储存于系统。

学籍信息修改管理,填写要修改的学⽣编号,对相应的学⽣学籍进⾏修改管理,学籍信息删除管理,填写要删除的学⽣百年好,删除对应编号的学籍信息。

学籍信息的查询管理,填写相应的学⽣学籍编号,查看相应学籍学⽣信息。

五.设计平台本系统是在windows环境下开发的,使⽤的开发软件此产品包括由Apache Software Foundation 开发的软件Eclipse。

Java大作业_ 简单的学籍管理系统方案

Java大作业_ 简单的学籍管理系统方案

上海电力学院期末作业:简单的学籍管理系统课程:Web应用程序设计院系:电气工程学院专业:电力系统及其自动化学生姓名:张富杰学号:17103060指导教师:曹渝昆2017年1月6日目录一、设计思路 (3)二具体实现 (4)三运行调试与分析 (4)四设计体会与小结 (10)五程序代码 (11)一、设计思路随着社会经济的发展,入学的同学越来越多,为方便对同学学籍信息的的管理,设计学籍管理软件来管理本班级同学的学籍信息。

该软件应支持添加、删除、修改、查询功能。

查询方式主要是支持学号查询,例如:输入“1”,则显示该学生的信息。

运用流式、卡片、整体布局方式对系统的主界面和各功能界面进行设计;通过连接数据库的方式来实现对数据的存储;各功能实现时访问数据库,并对数据信息进行读取,运用Java语句对其进行输出,学号查询时显示在文本框中;系统提示功能用来提醒用户的错误操作和输入时的错误信息,提醒用户进行改正。

二具体实现1.向班级里插入一个学生,但必须是插在已经建立的班级里。

2.输入学生信息,建立一个班级。

3.修改一个学生的所有资料。

4.删除某班的一个学生及其所有资料。

5.删除一个班级。

6.根据学生姓名查找某个学生信息。

每种功能通过一个类来实现:类分分为主类、查询类、修改类、添加类、增加类。

主类各功能界面的连接;精确查询类(SearchStudent)实现根据学生姓名查找某个学生信息;修改类(MdifyStudent)实现修改一个学生的所有资料;添加类(AddStudent)实现向班级里插入一个学生,但必须是插在已经建立的班级里。

;删除类(DeleteStudent)实现删除某班的一个学生及其所有资料。

;删除类(DeleteClass)实现删除一个班级;建立类(BuiltClass)实现输入学生信息建立一个班级。

三运行调试与分析系统的详细设计代码请查阅附带的代码。

以下仅对各个界面进行截图展示:图1:管理界面图2:添加学生到指定的班级界面图3:删除一个学生信息界面图4:修改一个学生信息界面图5:查询某个学生信息界面图6删除一个班级界面图7:输入一个学生建立一个班级界面运行JAVA程序中的StudentManager文件,显示系统的主界面,如图1所示,主界面有进入其他子功能的按钮,选择相应的按钮便可进入相应的功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上海电力学院期末作业:简单的学籍管理系统课程: Web 应用程序设计院系:电气工程学院_____________________专业:电力系统及其自动化_______________学生姓名:张富杰学号:17103060指导教师:______________ 曹渝昆___________________2017年1月6日目录一、设计思路 (3)二具体实现......................................................................... 3.. .三运行调试与分析......................................................................... 3.. .四设计体会与小结......................................................................... 8.. .五程序代码......................................................................... 8.. .、设计思路随着社会经济的发展,入学的同学越来越多,为方便对同学学籍信息的的管理,设计学籍管理软件来管理本班级同学的学籍信息。

该软件应支持添加、删除、修改、查询功能。

查询方式主要是支持学号查询,例如:输入“1”,则显示该学生的信息。

运用流式、卡片、整体布局方式对系统的主界面和各功能界面进行设计;通过连接数据库的方式来实现对数据的存储;各功能实现时访问数据库,并对数据信息进行读取,运用Java 语句对其进行输出,学号查询时显示在文本框中;系统提示功能用来提醒用户的错误操作和输入时的错误信息,提醒用户进行改正。

二具体实现1.向班级里插入一个学生,但必须是插在已经建立的班级里。

2.输入学生信息,建立一个班级。

3.修改一个学生的所有资料。

4.删除某班的一个学生及其所有资料。

5.删除一个班级。

6.根据学生姓名查找某个学生信息。

每种功能通过一个类来实现:类分分为主类、查询类、修改类、添加类、增加类。

主类各功能界面的连接;精确查询类(SearchStude nt实现根据学生姓名查找某个学生信息;修改类(MdifyStude nt)实现修改一个学生的所有资料;添加类(AddStudent)实现向班级里插入一个学生,但必须是插在已经建立的班级里。

;删除类(DeleteStudent)实现删除某班的一个学生及其所有资料。

;删除类(DeleteClass) 实现删除一个班级;建立类(BuiltClasS实现输入学生信息建立一个班级。

三运行调试与分析系统的详细设计代码请查阅附带的代码。

以下仅对各个界面进行截图展示:国芋主营菩统—□X学生信息增加学生信息到指定班毅删除一个学生学轄信息眩改一个字生信息查甸某个学生信息删瞧一个斑级信息辎入一个学生建立一个班皴图1管理界面L±J 幫加学生至!Bf 定班级 □ X添加学生至惱定班级图2:添加学生到指定的班级界面图3:删除一个学生信息界面图4:修改一个学生信息界面图5:查询某个学生信息界面图6删除一个班级界面图7:输入一个学生建立一个班级界面运行JAVA程序中的StudentManager文件,显示系统的主界面,如图1所示,主界面有进入其他子功能的按钮,选择相应的按钮便可进入相应的功能。

添加学生到指定班级功能如图2所示,根据提示输入要添加的信息,点击确定,将弹出提示框,确认是否添加。

输入一个学生建立一个班级功能如图7 所示,根据提示输入要添加的信息,点击确定,将弹出提示框,确认是否建立。

删除一个班级信息功能如图 6 所示,根据提示输入班级号,点击删除。

删除一个学生信息功能如图 3 所示,根据提示输入学号,点击删除。

修改一个学生信息功能如图 4 所示,首先输入要修改的人姓名,点击开始修改,在下面的文本框现实当前数据库内所存该人的信息,同时录入修改键变化为可点击,在文本框内输入要修改的学号,点击录入修改,系统将新信息录如数据库。

点击查询某个学生信息按钮,将弹出查询对话框,输入姓名便可以精确查询到此人的所有学籍信息。

查询如图 5 所示,将显示数据库中所存的所有号码信息。

四设计体会与小结期末大作业的课设,自己通过查找资料、复习课本、编程调试,写实验报告等环节,进一步掌握了以前学到的知识,并且还对GUI组键的应用有了更深入的认识与掌握,另外还学到了一些新东西,比如JAVA的SWING AWT包,以前是没有接触过的,可是通过这次课程设计使得我们对这个包更了解。

通过与数据库的连接掌握了Java与数据库的连接技术。

通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习java 语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。

五程序代码package simplebighomework;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class StudentManager extends JFrame implements ActionListener { // 继承JFrame 类JMenuBar jmb; // 菜单栏JMenu Message; // 菜单JMenuItem Item1,Item2,Item3,Item4,Item5,Item6; // 菜单项public StudentManager(String s) { // 构造函数StudentManage // 添加按键jmb = new JMenuBar();Message = new JMenu(学生信息");Iteml = new JMenultemC增加学生信息到指定班级"); //菜单名Item2 = new JMenultem(‘删除一个学生学籍信息");Item3 = new JMenultem(‘修改一个学生信息");Item4 = new JMenultem("查询某个学生信息");Item5 = new JMenultem(‘删除一个班级信息");Item6 = new JMenultem(‘输入一个学生建立一个班级");Message.add(Item1);Message.add(Item2);Message.add(Item3);Message.add(Item4);Message.add(Item5);Message.add(Item6);jmb.add(Message);Item1.addActionListener(this);Item2.addActionListener(this);Item3.addActionListener(this);Item4.addActionListener(this);Item5.addActionListener(this);Item6.addActionListener(this);setTitle(s); // 设置窗口标题setBounds(500,300,500,500); //窗口的位置setVisible(true); // 组件可见setJMenuBar(jmb); // 菜单栏validate(); // 再次布置容器及其组件setDefaultCloseOperati on (JFrame.EXIT_ON_CLOSE设/置隐藏,关闭,放大窗口}public void actionPerformed(ActionEvent e){ //ActionEvent 包含一个事件,该事件为执行动作事件点击按钮等if (e.getSource() == Item1) {//e.getSource() == Item2) 返回的当前动作所指向的对象,包含对象的所有信息AddStudent ad = new AddStudent();} else if (e.getSource() == Item2) { // 通过获取事件源,获取相应的对象DeleteStudent ds = new DeleteStudent();} else if (e.getSource() == Item3) { ModifyStudent ms = newModifyStudent();} else if (e.getSource() == Item4) { SearchStudent ss = newSearchStudent();} else if (e.getSource() == Item5) { DeleteClass dc = new DeleteClass();} else if (e.getSource() == Item6) { BuiltClass bc = new BuiltClass();}}public static void main(String[] args) {StudentManager stu=new StudentManager(‘学生管理系统");}} package simplebighomework; import javax.swing.*; import java.awt.*;import java.awt.event.*;import java.sql.*;public class AddStudent extends JFrame implements ActionListener {继承java的窗口体类JLabel JL = new JLabe添加学生到指定班级", JLabel.CENTER);JLabel JLNumber = new JLabe 学号:"); // 显示输入学号JTextField JTNumber = new JTextField(); // 创建文本框JLabel JLName = new JLabe姓名:");JTextField JTName = new JTextField();JLabel JLClass = new JLabe班级:");ButtonGroup BG = new ButtonGroup();JRadioButt on JRB1 = new JRadioButton一班");JRadioButt on JRB2 = new JRadioButton二班");JButton JBAdd = new JButto n 添加");// 创建按钮JButton JBExit = new JButto n 退出");public AddStudent() {this.setTitle(”添加学生到指定班级"); this.setLayout(null);JL.setBounds(100, 30, 200, 40); this.add(JL);this.add(JLNumber);JTNumber.setBounds(180, 80, 80, 20); this.add(JTNumber);JLName.setBounds(140, 120, 60, 20); this.add(JLName); JTName.setBounds(180, 120, 80, 20); this.add(JTName);JLClass.setBounds(140, 160, 100, 20); this.add(JLClass); JRB1.setBounds(180, 160, 60, 20);JRB2.setBounds(240, 160, 60, 20); this.add(JRB1);this.add(JRB2);BG.add(JRB1);BG.add(JRB2);JBAdd.setBounds(120, 220, 60, 20); this.add(JBAdd); JBAdd.addActionListener(this);JBExit.setBounds(200, 220, 60, 20);this.add(JBExit);JBExit.addActionListener(this); this.setBounds(500, 300, 500, 400); this.setVisible(true);}public void actionPerformed(ActionEvent e) {if (e.getSource() == JBAdd) {String snumber = JTNumber.getText(); String sname = JTName.getText(); String sclass = 一" 班";if (JRB1.isSelected()) sclass = 一"班";elsesclass = 二" 班";Connection con; // 声明 Connection 对象String driver = "com.mysql.jdbc.Driver"; // 驱动程序名 // 遍历查询结果集 try {Class.forName(driver); // 加载驱动程序 conDriverManager.getConnection("jdbc:mysql://localhost:3306/database?useUnicode=t rue&characterEncoding=utf-8&useSSL=false","root","zfj151********"); //l.getConnection()方法,连接 MySQL 数据库! !Statement statement = con.createStatement(); //2. 创建statement 类对象,用来执行SQL 语句! !String sql = "select * from student where id='"+snumber+"'";//要执行的SQL 语句ResultSet rs = statement.executeQuery(sql); //3.ResultSet类,用来存放获取的结果集! !if (rs.next())JOptionPane.showMessageDialog(null,"该号已经存在");//提示else {sql = "insert into student values('" + snumber + "','"+ sname+ "','" + sclass +"')";int i = statement.executeUpdate(sql); // 执行 SQL语句,把返回值赋给i// 添加窗口的位置// 监听接口// 点击建立的时候生效 // 获取文本框中的信息// 单选按钮if (i > 0)JOptionPane.showMessageDialog(null, "建立成功");// 提示成功elseJOptionPane.showMessageDialog(null, "添加失败"); // 提示失败}}catch (Exception ee) { // 捕获异常}}if (e.getSource() == JBExit) { // 退出按钮监视setVisible(false);}}public static void main(String[] args) {new BuiltClass();}}package simplebighomework;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class BuiltClass extends JFrame implements ActionListener { JLabel JL = new JLabe输入一个学生建立一个班级", JLabel.CENTER); // 什么意思JLabel JLNumber = new JLabe 学号:”);// 显示输入学号JTextField JTNumber = new JTextField(); //创建文本框JLabel JLName = new JLabe姓名:");JTextField JTName = new JTextField();JLabel JLClass = new JLabe班级:");JTextField JTClass = new JTextField();JButton JBAdd = new JButto n 建立"); // 创建按钮JButton JBExit = new JButto n 退出");// 什么意思public BuiltClass() {this.setTitle("输入一个学生建立一个班级"); this.setLayout(null);JL.setBounds(100, 30, 200, 40); this.add(JL);JLNumber.setBounds(140, 80, 100, 20); 〃x 轴和y 轴,宽高this.add(JLNumber);JTNumber.setBounds(180, 80, 80, 20); this.add(JTNumber);JLName.setBounds(140, 120, 60, 20);this.add(JLName);JTName.setBounds(180, 120, 80, 20); this.add(JTName);JLClass.setBounds(140, 160, 100, 20); this.add(JLClass);JTClass.setBounds(180, 160, 80, 20); this.add(JTClass);JBAdd.setBounds(120, 220, 60, 20); this.add(JBAdd);JBAdd.addActionListener(this);JBExit.setBounds(200, 220, 60, 20); this.add(JBExit);JBExit.addActionListener(this);this.setBounds(500, 300, 500, 400); this.setVisible(true);}public void actionPerformed(ActionEvent e) {if (e.getSource() == JBAdd) {String snumber = JTNumber.getText(); String sname = JTName.getText(); String sclass = JTClass.getText();Connection con; // 声明 Connection 对象 String driver = "com.mysql.jdbc.Driver"; // 驱动程序名// 遍历查询结果集 try {Class.forName(driver); // 加载驱动程序 con =DriverManager.getConnection("jdbc:mysql://localhost:3306/database?useUnicode=t rue&characterEncoding=utf-8&useSSL=false","root","zfj151********"); //l.getConnection()方法,连接 MySQL 数据库! !Statement statement = con.createStatement(); //2.创建statement 类对象,用来执行SQL 语句!!String sql = "select * from student whereid='"+snumber+"'";ResultSet rs = statement.executeQuery(sql);〃3.ResultSet 类,用来存放获取的结果集! !if (rs.next())JOptionPane.showMessageDialog(null,"该号已经存在");//提示else {sql = "insert into student values('" + snumber + "','"+ sname+ "','" + sclass +"')";int i = statement.executeUpdate(sql);SQL 语句,把返回值赋给i if (i > 0)JOptionPane.showMessageDialog(null, "建立 成功 ");// 什么意思? 监听接口 // 点击建立的时候生效 // 获取文本框中的信息// 执行// 提示成功elseJOptionPane.showMessageDialog(null, "添加失败"); // 提示失败}}catch (Exception ee) { // 什么意思?}}if (e.getSource() == JBExit) { // 什么意思?setVisible(false);}}public static void main(String[] args) {new BuiltClass();}}package simplebighomework;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class DeleteClass extends JFrame implements ActionListener { JLabel JL = new JLabe删除一个班级信息",JLabel.CENTER);JLabel JLClass = new JLabe班级:");// 显示班级窗口JTextField JTClass = new JTextField()输入班级的窗口JButton JBDel = new JButto n 删除"); JButton JBExit = new JButto n 退出"); public DeleteClass() {this.setTitle("删除一个班级信息"); this.setLayout(null); JL.setBounds(100, 30, 200, 40); this.add(JL);JLClass.setBounds(140, 80, 60, 20); this.add(JLClass);JTClass.setBounds(180, 80, 80, 20); this.add(JTClass);JBDel.setBounds(120, 120, 60, 20); this.add(JBDel); JBDel.addActionListener(this);JBExit.setBounds(200, 120, 60, 20); this.add(JBExit); JBExit.addActionListener(this);this.setBounds(500, 300, 500, 400); this.setVisible(true);}public void actionPerformed(ActionEvent e){if (e.getSource() == JBDel) {String sclass = JTClass.getText();Connection con; // 声明 Connection 对象 String driver = "com.mysql.jdbc.Driver"; // 驱动程序名// 遍历查询结果集// 执行操作// 获取文本中输入的班级try {Class.forName(driver); // 加载驱动程序con =DriverManager.getConnection("jdbc:mysql://localhost:3306/database?useUnicode=t rue&characterEncoding=utf-8&useSSL=false","root","zfj151********");//l.getConnection()方法,连接MySQL数据库!!Statement statement = con.createStatement(); //2. 创建statement类对象,用来执行SQL语句!!String sql = "select * from student whereclass='"+sclass+"'";ResultSet rs = statement.executeQuery(sql); 〃3.ResultSet类,用来存放获取的结果集!!if (rs.next()) {sql = "delete from student where class='" + sclass + "'";int n = statement.executeUpdate(sql);if (n > 0)JOptionPane.showMessageDialog(null,删除成功"); elseJOptionPane.showMessageDialog(null,删除失败");} else {JOptionPane.showMessageDialog(null,不存在该班级");}}catch (Exception er) {}}if (e.getSource() == JBExit) {setVisible(false);}}public static void main(String[] args) {new DeleteClass();package simplebighomework;import javax.swing.*;}import java.awt.*;import java.awt.event.*;import java.sql.*;public class DeleteStudent extends JFrame implements ActionListener { JLabel JL = new JLabe删除一个学生信息",JLabel.CENTER); JLabelJLNumber = new JLabe 学号:");// 显示输入“学号” JTextField JTNumber = new JTextField(); /输/ 入学号的文本框JLabel JLClass = new JLabe班级:");// 显示输入“班级” JTextField JTClass = new JTextField();输入班级的文本框JLabel JLName = new JLabe姓名:"); // 显示输入“姓名”JTextField JTName = new JTextField(); 输// 入姓名的文本框JButton JBDel = new JButton删除");// 删除键JButton JBExit = new JButto n 退出");// 退出键public DeleteStudent() {this.setTitle(-删除一个学生信息");this.setLayout(null);JL.setBounds(100, 30, 200, 40); this.add(JL);JLNumber.setBounds(140, 80, 100, 20); //x 轴和y 轴,宽高this.add(JLNumber);JTNumber.setBounds(180, 80, 80, 20);this.add(JTNumber);JLName.setBounds(140, 120, 80, 20); //x 轴和y 轴,宽高this.add(JLName);JTName.setBounds(180, 120, 80, 20);this.add(JTName);JLClass.setBounds(140, 160, 80, 20); //x 轴和y 轴,宽高this.add(JLClass);JTClass.setBounds(180, 160, 80, 20); this.add(JTClass);JBDel.setBounds(120, 200, 60, 20);this.add(JBDel);JBDel.addActionListener(this);JBExit.setBounds(200, 200, 60, 20);this.add(JBExit);JBExit.addActionListener(this);this.setBounds(500, 300, 500, 400); this.setVisible(true);}public void actionPerformed(ActionEvent e){if (e.getSource() == JBDel) {String snumber = JTNumber.getText(); // 获取输入的学号Connection con; // 声明Connection 对象String driver = "com.mysql.jdbc.Driver"; // 驱动程序名// 遍历查询结果集try {Class.forName(driver); // 加载驱动程序con = DriverManager.getConnection("jdbc:mysql://localhost:3306/database?useUnicode=true&characterEncoding=utf-8&useSSL=false","root","zfj151********");Statement statement = con.createStatement(); //2. 创建statement类对象,用来执行SQL语句!!String sql = "select * from student whereid='"+snumber+"'";ResultSet rs = statement.executeQuery(sql);//3.ResultSet 类,用来存放获取的结果集!!if (rs.next()) {sql = "delete from student where id='" + snumber + "'";int n = statement.executeUpdate(sql);if (n > 0)JOptionPane.showMessageDialog(null," 删除成功"); //执行了返回删除成功elseJOptionPane.showMessageDialog(null,删除失败");}else {JOptionPane.showMessageDialog(null,不存在该学号学生");}}catch (Exception er) {}}if (e.getSource() == JBExit) { setVisible(false);}}public static void main (String[] args) {new DeleteStudent();}package simplebighomework;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class ModifyStudent extends JFrame implements ActionListener { JLabel JL = new JLabel修改一个学生信息",JLabel.CENTER);JLabel JLNumber = new JLabe 学号:"); // 显示学号JTextField JTNumber = new JTextField(); // 创建用于输入学号的文本JLabel JLName = new JLabe姓名:");JTextField JTName = new JTextField();JLabel JLClass = new JLabe班级:");JTextField JTClass = new JTextField();JButton JBGet = new JButton修改"); // 修改按钮JButton JBExit = new JButto n 退出");public ModifyStudent() {this.setTitle("修改一个学生信息"); this.setLayout(null); JL.setBounds(100, 30, 200, 40); this.add(JL);JLNumber.setBounds(140, 80, 100, 20); //x 轴和y 轴,宽高this.add(JLNumber);JTNumber.setBounds(180, 80, 80, 20);this.add(JTNumber);JLName.setBounds(140, 120, 60, 20); this.add(JLName);JTName.setBounds(180, 120, 80, 20);this.add(JTName);JLClass.setBounds(140, 160, 100, 20);this.add(JLClass);JTClass.setBounds(180, 160, 80, 20);this.add(JTClass);JBGet.setBounds(120, 220, 60, 20);this.add(JBGet);JBGet.addActionListener(this);JBExit.setBounds(200, 220, 60, 20);this.add(JBExit);JBExit.addActionListener(this);this.setBounds(500, 300, 500, 400);this.setVisible(true);}public void actionPerformed(ActionEvent e) {if (e.getSource() == JBGet) {String snumber = JTNumber.getText(); // 读取文本中输入的学号String sname = JTName.getText();String sclass = JTClass.getText();Connection con; // 声明Connection 对象String driver = "com.mysql.jdbc.Driver"; // 驱动程序名// 遍历查询结果集try {Class.forName(driver); // 加载驱动程序con =DriverManager.getConnection("jdbc:mysql://localhost:3306/database?useUnicode=t rue&characterEncoding=utf-8&useSSL=false","root","zfj151********");//l.getConnection()方法,连接MySQL数据库!!Statement statement = con.createStatement(); //2. 创建statement类对象,用来执行SQL语句!!String sql = "select * from student where id='"+snumber+"'"; // 根据id 对数据库查询ResultSet rs = statement.executeQuery(sql); //3.ResultSet 类,用来存放获取的结果集!!if (rs.next()){ sql = "UPDATE student SET name='" +sname+ "',class='"+sclass+ "'where id='" + snumber + "'";int n = statement.executeUpdate(sql);// 什么意思?if (n > 0)JOptionPane.showMessageDialog(null,修改成功");elseJOptionPane.showMessageDialog(null,修改失败");} else {JOptionPane.showMessageDialog(null,不存在该学号学生");}}catch (Exception er) {}}if (e.getSource() == JBExit) { setVisible(false);}} public static void main(String[] args) { new ModifyStudent();}package simplebighomework; import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class SearchStudent extends JFrame implements ActionListener {JLabel JL = new JLabe 查询某个学生信息",JLabel.CENTER);JLabel JLNumber = new JLabe 学号:"); JTextField JTNumber = newJTextField(); JLabel JLName = new JLabe 姓名 :"); JTextField JTName = new JTextField();JLabel JLClass = new JLabe 班级:");JTextField JTClass = new JTextField();JButton JBSet = new JButto n 查询"); JButtonJBExit = new JButto n 退出"); public SearchStudent() {// 设置窗口的大小,位置 this.setTitle(-查询某个学生信息");this.setLayout(null);JL.setBounds(100, 30, 200, 40);this.add(JL);JLNumber.setBounds(140, 80, 80, 20);//x 轴和 y 轴,宽高 this.add(JLNumber);JTNumber.setBounds(180, 80, 80, 20);this.add(JTNumber);JLName.setBounds(140, 120, 80, 20);//x 轴和 y 轴,宽高 this.add(JLName);JTName.setBounds(180, 120, 80, 20);this.add(JTName);JLCIass.setBounds(140, 160, 80, 20);〃x 轴和 y 轴,宽高 this.add(JLClass);JTClass.setBounds(180, 160, 80, 20); this.add(JTClass); // 输入学号的文本 // 查询按钮// 退出按钮JBSet.setBounds(120, 200, 60, 20);this.add(JBSet);JBSet.addActionListener(this);JBExit.setBounds(200, 200, 60, 20);this.add(JBExit);JBExit.addActionListener(this);this.setBounds(500, 300, 500, 400);this.setVisible(true);}public void actionPerformed(ActionEvent e) {if (e.getSource() == JBSet) {String sname = JTName.getText(); 获// 取文本中输入的学号Connection con; // 声明Connection 对象String driver = "com.mysql.jdbc.Driver"; // 驱动程序名// 遍历查询结果集try {Class.forName(driver); // 加载驱动程序con =DriverManager.getConnection("jdbc:mysql://localhost:3306/database?useUnicode=t rue&characterEncoding=utf-8&useSSL=false","root","zfj151********");//l.getConnection()方法,连接MySQL数据库!!Statement statement = con.createStatement(); //2.创建statement类对象,用来执行SQL语句!!String sql = "select * from student wherename='"+sname+"'";ResultSet rs = statement.executeQuery(sql); //3.ResultSet 类,用来存放获取的结果集!!if (rs.next()){ // 查询数据,然后返回String number = rs.getString(1);JTNumber.setText(number); String clas = rs.getString(3);JTClass.setText(clas); int n = statement.executeUpdate(sql); if(n > 0)JOptionPane.showMessageDialog(null, 查" 询成功"); elseJOptionPane.showMessageDialog(null, 查" 询失败");} else { JOptionPane.showMessageDialog(null," 不存在该姓名的学生");}}catch (Exception ee) {}}if (e.getSource() == JBExit) { // 退出按钮setVisible(false);}}public static void main(String[] args) {new SearchStudent();}。

相关文档
最新文档