Java学生信息管理系统
java学生信息管理系统课程设计
java学生信息管理系统课程设计一、课程目标知识目标:1. 理解Java面向对象编程的基本概念,掌握类与对象的关系、封装、继承和多态性;2. 学会使用Java集合框架管理学生信息,掌握ArrayList、HashMap等常用集合类的使用方法;3. 掌握Java异常处理机制,提高程序的健壮性;4. 理解数据库基本概念,学会使用SQLite数据库存储和管理学生信息。
技能目标:1. 能够运用面向对象思想设计学生信息管理系统,实现学生信息的增删改查功能;2. 能够使用Java集合框架对学生信息进行有效管理;3. 能够编写简单的数据库操作语句,实现对学生信息的数据存储和查询;4. 能够运用所学知识解决实际问题,具备一定的编程实践能力。
情感态度价值观目标:1. 培养学生团队协作精神,提高沟通与协作能力;2. 增强学生编程兴趣,激发创新意识,培养探索精神;3. 培养学生良好的编程习惯,注重代码规范和程序优化;4. 培养学生严谨的学习态度,面对问题敢于挑战,勇于克服困难。
课程性质:本课程为信息技术课程,以实践操作为主,注重培养学生的编程能力和实际应用能力。
学生特点:学生具备一定的Java基础,了解面向对象编程概念,但对实际项目开发经验不足。
教学要求:结合学生特点和课程性质,采用项目驱动教学法,引导学生自主探究,注重实践操作,提高学生的编程能力和解决问题的能力。
同时,关注学生的情感态度价值观培养,提高学生的综合素质。
通过本课程的学习,使学生能够独立完成一个简单的学生信息管理系统,为后续学习打下坚实基础。
二、教学内容1. 面向对象编程基础- 类与对象的关系- 封装、继承和多态性- 抽象类和接口2. Java集合框架- ArrayList、LinkedList、HashSet、HashMap等常用集合类- 集合类的使用场景和性能分析3. Java异常处理- 异常分类和异常处理机制- try-catch-finally结构- 自定义异常4. 数据库基础- 数据库概念和SQLite数据库- 数据表的设计与创建- SQL语句:增删改查操作5. 学生信息管理系统功能模块- 系统需求分析- 功能模块划分:学生信息管理、成绩管理、课程管理等- 编程实现各模块功能6. 项目实践与拓展- 系统测试与调试- 代码优化与重构- 项目拓展:增加用户权限管理、数据可视化等教学内容安排与进度:第一周:面向对象编程基础第二周:Java集合框架第三周:Java异常处理第四周:数据库基础第五周:学生信息管理系统功能模块设计第六周:项目实践与拓展教材关联:本教学内容与《Java程序设计》教材相关章节紧密关联,涵盖了面向对象编程、Java集合框架、异常处理和数据库基础等知识点。
java学生管理系统知识点
java学生管理系统知识点学生管理系统是一个常见的软件应用程序,用于管理学校或教育机构中的学生信息和相关数据。
以下是关于Java学生管理系统的一些主要知识点:1. Java编程语言:学生管理系统是使用Java编写的,因此你需要掌握Java编程语言的基本语法、面向对象编程(OOP)概念、类和对象、继承、多态等。
2. 数据库操作:学生管理系统通常需要与数据库进行交互来存储和检索学生信息。
你需要学习和理解如何使用Java数据库连接(JDBC)来连接和操作数据库,如MySQL、Oracle等。
3. 用户界面设计:学生管理系统需要一个用户友好的界面来展示学生信息、添加、编辑和删除学生等操作。
你可以学习和使用Java图形用户界面(GUI)库,如Swing或JavaFX来设计和实现界面。
4. 文件操作:学生管理系统还可以支持从文件中读取和保存学生信息。
你需要学习如何使用Java的输入输出流(I/O)来读写文件,如文本文件或CSV文件。
5. 数据结构和算法:在学生管理系统中,你可能需要使用一些常见的数据结构和算法来处理学生信息,例如数组、链表、排序算法等。
了解和掌握这些基本的数据结构和算法对于设计和实现学生管理系统非常重要。
6. 错误处理和异常处理:在开发学生管理系统过程中,你需要了解如何处理可能发生的错误和异常情况,例如数据库连接失败、文件读取错误等。
学习Java中的异常处理机制可以帮助你编写更健壮的程序。
7. 安全性:学生管理系统通常涉及学生的个人信息,因此安全性是非常重要的。
你需要学习如何保护和处理敏感数据,如加密存储密码、防止SQL注入等安全措施。
以上是Java学生管理系统的一些主要知识点,希望对你有所帮助!如果有其他问题,请随时提问。
JavaEE课程设计(学生信息管理系统)
JavaEE课程设计(学生信息管理系统)1000字学生信息管理系统是一种面向学生信息管理的软件系统,实现了对学生基本信息、课程信息、考试信息、成绩信息等的录入、查询、修改和删除等功能。
本课程设计主要实现了以下功能:1. 登录和注册功能学生和管理员均需要先进行登录才能使用系统,管理员可以对学生信息进行管理。
注册时需要填写基本信息,包括学号、姓名、学院等。
2. 学生基本信息管理学生基本信息包括学号、姓名、年龄、性别、出生日期、籍贯、班级、专业等。
管理员可以对学生基本信息进行添加、修改、查询和删除等操作。
3. 课程信息管理课程信息包括课程编号、课程名称、课程类型、教师名字等。
管理员可以对课程信息进行添加、修改、查询和删除等操作。
4. 考试信息管理考试信息包括考试名称、考试时间、考试地点等。
管理员可以对考试信息进行添加、修改、查询和删除等操作。
5. 成绩信息管理成绩信息包括学生学号、课程编号、考试名称、成绩等。
管理员可以对成绩信息进行添加、修改、查询和删除等操作。
6. 统计功能系统可以根据学院、专业、年龄等不同条件进行统计查询,可以得到对应结果的统计图表。
在实现以上功能中,我们使用了Java EE的相关技术,包括Java Servlet、JSP、JavaBean、数据库等。
其中Servlet负责接受用户请求,处理请求并返回相应结果,JSP用于实现用户界面,JavaBean实现数据操作,并将数据返回给JSP。
我们将数据存储在MySQL数据库中,使用JDBC进行连接和操作。
此外,我们还使用了Bootstrap实现了网页的美化和响应式设计,方便了不同尺寸的设备的访问使用。
总的来说,本课程设计实现了学生信息管理系统的基本功能,并对系统进行了优化和美化,具有实用性和可操作性。
学生信息管理系统java课程设计(含源代码)
JAVA 程序设计 课程设计陈述宇文皓月课 题: 学生信息管理系统 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间:目 录1、需要实现的功能32、设计目的3 1、功能模块划分32、数据库结构描述43、系统详细设计文档64、各个模块的实现方法描述95、测试数据及期望结果11一、系统描述1、需求实现的功能1.1、录入学生基本信息的功能学生基本信息主要包含:学号、姓名、年龄、出生地、专业、班级总学分,在拔出时,如果数据库已经存在该学号,则不克不及再拔出该学号。
1.2、修改学生基本信息的功能在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。
评阅意见:评定成绩:指导老师签名:年 月 日1.3、查询学生基本信息的功能可使用“姓名”对已存有的学生资料进行查询。
1.4、删除学生基本信息的功能在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。
1.5、用户登陆用分歧的登录权限可以进入分歧的后台界面,从而实现权限操纵。
1.6、用户登陆信息设置可以修改用户登陆密码2、设计目的学生信息管理系统是一个教育单位不成缺少的部分。
一个功能齐全、简单易用的信息管理系统不单能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将发生大量的文件和数据,这对于查找、更新和维护都带来了很多困难。
随着科学技术的不竭提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比较的优点。
例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。
java web学生管理系统课设报告
Java Web学生管理系统课设报告一、引言1.1 课题背景随着信息化技术的发展,学校需要一种能够方便管理学生信息的系统,以提高管理效率。
因此,开发一款基于Java Web的学生管理系统具有重要意义。
1.2 目的和意义本课题旨在设计和实现一个基于Java Web的学生管理系统,通过该系统实现学生信息的录入、查询、修改、删除等操作,从而方便学校对学生信息的管理,提高管理效率。
1.3 任务和要求本课题的任务是设计和实现一个基于Java Web的学生管理系统,要求系统能够实现以下功能:学生信息录入、查询、修改、删除等操作;学生信息按班级、学号、姓名等条件进行查询;数据持久化存储等。
二、系统分析2.1 系统需求分析根据学校对学生信息管理的实际需求,本系统需要实现以下功能:学生信息录入、查询、修改、删除等操作;学生信息按班级、学号、姓名等条件进行查询;数据持久化存储等。
2.2 业务流程分析学生管理系统的业务流程主要包括:学生信息录入、查询、修改、删除等操作。
其中,学生信息录入是整个业务流程的起点,通过录入学生信息,将数据存储到数据库中。
然后,可以通过查询功能根据不同条件对学生信息进行查询。
当学生信息需要修改或删除时,可以通过相应的操作进行修改或删除。
2.3 数据流程分析学生管理系统的数据流程主要包括:数据输入、数据处理和数据输出三个部分。
其中,数据输入主要是学生信息的录入;数据处理主要是对学生信息进行查询、修改、删除等操作;数据输出主要是将处理后的学生信息展示给用户。
在整个数据流程中,需要保证数据的准确性和完整性。
三、系统设计3.1 系统架构设计本系统采用MVC设计模式进行开发,分为模型层、视图层和控制层三个部分。
模型层主要负责业务逻辑的处理和数据的封装;视图层主要负责用户界面的展示;控制层主要负责接收用户的请求并调用模型层进行处理,然后将结果返回给视图层展示给用户。
3.2 数据库设计本系统采用MySQL数据库进行数据的存储和处理。
学生信息管理系统java功能模块
学生信息管理系统Java功能模块简介学生信息管理系统是一种用于管理学生信息的软件系统。
它可以帮助学校、教育机构或其他组织有效地记录、存储和处理学生的个人和学术信息。
Java是一种面向对象的编程语言,具有广泛的应用领域和强大的开发工具,非常适合用于开发学生信息管理系统。
本文将介绍学生信息管理系统的Java功能模块,包括以下几个方面:用户登录与权限管理、学生信息录入与查询、成绩管理、课程管理以及数据统计与报表生成。
用户登录与权限管理用户登录用户登录是系统的入口,通过输入用户名和密码进行身份验证。
在Java中,可以使用Swing或JavaFX等图形界面库创建一个登录界面,用户输入用户名和密码后,通过数据库验证用户身份。
权限管理不同用户可能具有不同的权限,例如管理员可以对系统进行全面管理,而普通教师只能查看和编辑自己所负责的班级或课程。
在Java中,可以使用角色-权限模型来实现权限管理。
每个用户被分配到一个或多个角色,并且每个角色具有一组特定的权限。
通过为每个操作配置相应的权限,并在代码中进行权限检查,可以确保只有具备相应权限的用户才能执行该操作。
学生信息录入与查询学生信息录入学生信息包括个人基本信息、家庭背景、学习成绩等。
在Java中,可以使用面向对象的思想,创建一个学生类,包含各种属性和方法。
通过用户界面,可以输入学生的各项信息,并将其保存到数据库中。
学生信息查询学生信息查询是系统的核心功能之一。
用户可以通过多种方式进行查询,例如按照学号、姓名、班级等进行精确查询,或者按照年级、性别等进行模糊查询。
在Java中,可以使用SQL语句来实现数据库查询操作,并将结果显示在用户界面上。
成绩管理成绩录入成绩管理是学生信息管理系统的重要组成部分。
教师可以根据课程安排录入学生成绩,并将其与相应的学生和课程关联起来。
在Java中,可以使用面向对象的思想,创建一个成绩类,包含相关属性和方法。
通过用户界面,教师可以输入学生成绩,并将其保存到数据库中。
JAVA课程设计报告,基于mysql的学生信息管理系统
总结16一、课题介绍课题介绍 ...................................... ...................................... 3二、目的和要求目的和要求 ................................... ................................... 3三、任务计划任务计划 ...................................... .. (3)需求分析需求分析 (5)一、学生管理系统的发展现状学生管理系统的发展现状 ................................ ................................ 5二、系统功能分析系统功能分析 ................................... .. (5)三、系统结构框图系统结构框图 ................................... .. (5)数据库设计.........................................创建数据表的结构创建数据表的结构 ................................. (7)各表功能及其关系各表功能及其关系 ................................. (7)系统模块功能的实现与界面设计 (8)一、系统主要模块系统主要模块 ................................... ................................... 8二、欢迎界面欢迎界面 ..................................... ..................................... 9三、主菜单界面主菜单界面 ............................ ............................ 错误!未定义书签。
java学生信息管理系统项目总结(一)
java学生信息管理系统项目总结(一)前言本文主要总结了我个人在开发Java学生信息管理系统项目中的经验和收获。
这个项目是我个人独立完成的,通过这个项目锻炼了我的编程能力和问题解决能力。
正文功能需求分析•通过需求分析,明确了项目的功能需求,了解了用户对系统的要求和期望。
•对学生信息的增删改查功能进行设计和实现,保证系统的完整性和数据的一致性。
系统设计与架构•设计了系统的架构,采用了MVC(Model-View-Controller)模式,实现了系统的分层和模块化。
•搭建了数据库,设计了学生信息表和关联的表结构,保证了数据的存储和查询效率。
技术选型与开发实践•选择了Java作为开发语言,利用Java的面向对象特性进行系统的设计和开发。
•使用了Java Swing作为前端界面库,实现了用户友好的界面和操作。
•利用JDBC技术完成了与数据库的连接和数据的增删改查操作。
•运用了异常处理机制,提高了系统的容错性和健壮性。
测试与优化•对系统进行了全面的测试,包括单元测试、集成测试和系统测试,确保系统的稳定性和可靠性。
•根据测试结果,对系统进行了优化和改进,提高了系统的性能和用户体验。
结尾通过这个项目,我不仅巩固了Java编程的基础知识,还学到了很多实践经验。
在开发过程中,遇到了很多问题,但通过不断的学习和尝试,我都克服了这些困难。
通过本次项目,我也提高了自己的项目管理能力和团队合作能力。
希望以后能继续不断学习和锻炼,提高自己的技术水平。
前言本文主要总结了我个人在开发Java学生信息管理系统项目中的经验和收获。
这个项目是我个人独立完成的,通过这个项目锻炼了我的编程能力和问题解决能力。
正文功能需求分析•通过需求分析,明确了项目的功能需求,了解了用户对系统的要求和期望。
•对学生信息的增删改查功能进行设计和实现,保证系统的完整性和数据的一致性。
系统设计与架构•设计了系统的架构,采用了MVC(Model-View-Controller)模式,实现了系统的分层和模块化。
JAVA学生信息管理系统实验报告
JA V A程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学生信息管理系统一、实验目的1.掌握Java基本语法2.理解面向对象编程特点3.理解Java I/O编程4.掌握Java图形界面编程5.掌握Java与不同数据库进行连接二、预习内容Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域网互联,安装Windows 2000/XP操作系统环境的JDK 1.6,my eclipse 或者EditPlus编程工具。
并安装MySQL数据库四、实验内容编写并调试运行Java程序,进行设计,掌握Java开发的基础。
五、实验任务设计学生信息管理系统。
要求包括1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。
而普通用户只可以查找学生信息。
2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。
六、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener; import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args) {FirstWindow win =new FirstWindow("学生信息管理系统");}}class FirstWindow extends JFrame implements ActionListener{JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17;public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel("欢迎使用学生管理系统",JLabel.CENTER);label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu("使用");menu2=new JMenu("用户管理");menu3=new JMenu("帮助");menu4=new JMenu("退出");a11=new JMenuItem("管理员登录");a12=new JMenuItem("查询学生信息");a13=new JMenuItem("更改学生信息");a14=new JMenuItem("删除学生信息");a15=new JMenuItem("添加学生信息");a16=new JMenuItem("超级管理员登录");a17=new JMenuItem("普通学生登录");a11.setEnabled(true);a16.setEnabled(true);a17.setEnabled(true);a12.setVisible(false);a13.setVisible(false);a14.setVisible(false);a15.setVisible(false);a21=new JMenuItem("添加用户");a22=new JMenuItem("删除用户");a23=new JMenuItem("更改用户");a24=new JMenuItem("修改密码");a21.setEnabled(false);a22.setEnabled(false);a23.setEnabled(false);a24.setEnabled(false);a3=new JMenuItem("系统介绍");a3.setEnabled(true);a4=new JMenuItem("退出");a4.setEnabled(true);btn=new JButton("再次确认登陆");pnl.add(btn,BorderLayout.EAST);btn.setSize(10,10); menu1.add(a11);menu1.addSeparator(); menu1.add(a16);menu1.addSeparator(); menu1.add(a17);menu1.addSeparator(); menu1.add(a12);menu1.addSeparator(); menu1.add(a13);menu1.addSeparator(); menu1.add(a14);menu1.addSeparator(); menu1.add(a15);menu1.addSeparator();menu2.add(a21);menu2.addSeparator(); menu2.add(a22);menu2.addSeparator(); menu2.add(a23);menu2.addSeparator();menu2.add(a24);menu2.addSeparator();menu3.add(a3);menu3.addSeparator();menu4.add(a4);menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); menubar.add(menu4); setJMenuBar(menubar);a11.addActionListener(this); a12.addActionListener(this); a13.addActionListener(this); a14.addActionListener(this); a15.addActionListener(this); a16.addActionListener(this); a17.addActionListener(this); a21.addActionListener(this); a22.addActionListener(this); a23.addActionListener(this); a24.addActionListener(this); a3.addActionListener(this);a4.addActionListener(this);btn.addActionListener(this);}public void setColor(Color black) {// TODO Auto-generated method stub}public void actionPerformed(ActionEvent event) {Object temp=new Object();temp=event.getSource();if(temp==a11){Login login=new Login();login.Login();}if(temp==a12){ShowStu show=new ShowStu();show.ShowStu();}if(temp==a13){AlterStu alter=new AlterStu();alter.AlterStu();}if(temp==a14){DeleteStu delete=new DeleteStu();delete.DeleteStu();}if(temp==a15){AddStu add=new AddStu();add.AddStu();}if(temp==a16){superlog superlog=new superlog();superlog.superlog();}if(temp==a17){stuLogin stu=new stuLogin();stu.stuLogin();a12.setVisible(true);}if(temp==a21){AddUser add=new AddUser();add.AddUser();}if(temp==a22){DeleteUser delete=new DeleteUser();delete.DeleteUser();}if(temp==a23){AlterUser alter=new AlterUser();alter.AlterUser();}if(temp==a24){AlterPword pword=new AlterPword(); pword.AlterPword();}if(temp==a3){SystemHelp help=new SystemHelp();help.SystemHelp();}if(temp==a4){SystemExit exit1=new SystemExit();exit1.SystemExit();}if(temp==btn){Connection con;Statement st;Statement st1;ResultSet rs,rs1;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st1=con.createStatement();rs=st.executeQuery("SELECT * FROM Login");rs1=st1.executeQuery("SELECT * FROM superlog");if(rs.next()){a12.setVisible(true);a21.setEnabled(true);a22.setEnabled(true);a23.setEnabled(true);a24.setEnabled(true);Login login=new Login();login.Clear();}if(rs1.next()){a12.setVisible(true);a13.setVisible(true);a14.setVisible(true);a15.setVisible(true);superlog superlog=new superlog();lear();}con.close();}catch(SQLException e){System.out.println(e);}}}}主页面class Login{void Login(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("用户名");JLabel label2=new JLabel("密码");loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 50, 50);label2.setBounds(80, 200, 50, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql,st;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();st=con.createStatement();rs=sql.executeQuery("SELECT username,password FROM users where username='"+name+"'");if(!rs.next()){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"账号有误" ,"消息对话框",RMATION_MESSAGE);}else{String username=rs.getString(1);String pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){st.executeUpdate("INSERT INTO Login VALUES('"+username+"','"+pass+"')");loginframe.dispose();JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);}else{text1.setText("");text2.setText("");JOptionPanea=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}void Clear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM Login");con.close();}catch(SQLException e){System.out.println(e);}}}管理员登陆与权限class superlog{superlog(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("超级用户名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();@SuppressWarnings("deprecation")String password=text2.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECT Cusername,Cpassword FROM super where Cusername='"+name+"'");if(!rs.next())JOptionPane b=new JOptionPane();b.showMessageDialog(null,"超级账号错误" ,"消息对话框",RMATION_MESSAGE);}else{String username=null;String pass=null;username=rs.getString(1);pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){sql.executeUpdate("INSERT INTO superlog VALUES('"+username+"',"+"'"+pass+"')");JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}public void superlog() {// TODO Auto-generated method stub }void Cclear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM superlog");con.close();}catch(SQLException e){System.out.println(e);}}}超级管理员登陆界面与权限class stuLogin{void stuLogin(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(15);final JPasswordField text2=new JPasswordField(15);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel(" 学生姓名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECTsname,sphone FROM student where sname='"+name+"' AND sphone='"+password+"'");if(rs.next()){JOptionPane a=new JOptionPane();a.showMessageDialog(null,"登陆成功","消息对话框" ,RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或密码有误","消息对话框" ,RMATION_MESSAGE);}con.close();}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}}普通学生登陆与权限class ShowStu{void ShowStu(){JFrame frame1=new JFrame("学生信息窗口");frame1.setBounds(300,300,500,400);frame1.setDefaultCloseOperation(2);JTable table;Object a[][]=null;Object name[]={"学号","姓名","年龄","性别","籍贯","电话"};Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan",""," ");st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITI VE,ResultSet.CONCUR_READ_ONLY);rs=st.executeQuery("SELECT * FROM student");st();int lastnumber=rs.getRow();a=new Object[lastnumber][6];int i=0;rs.beforeFirst();while(rs.next()){a[i][0]=rs.getString(1);a[i][1]=rs.getString(2);a[i][2]=rs.getString(3);a[i][3]=rs.getString(4);a[i][4]=rs.getString(5);a[i][5]=rs.getString(6);i++;}con.close();}catch(SQLException e){System.out.println(e);}table=new JTable(a,name);frame1.setLayout(new BorderLayout());frame1.add(newJScrollPane(table),BorderLayout.CENTER);frame1.setVisible(true);frame1.validate();}}class AlterStu{void AlterStu(){JFrame deleteframe=new JFrame("更改学生信息");deleteframe.setLayout(null);JLabel label=new JLabel("需要修改的学生学号",JLabel.CENTER);deleteframe.setVisible(true);deleteframe.setBounds(350,350,450,350);JButton btn=new JButton("确定");deleteframe.add(label);label.setForeground(Color.red);final JTextField text=new JTextField(10);text.setSize(100,60);deleteframe.add(text);deleteframe.add(btn);label.setBounds(150, 50, 150, 20);text.setBounds(150, 100, 100, 20);btn.setBounds(150, 150, 100, 20);btn.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String sno=text.getText();Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println(e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();rs=st.executeQuery("SELECT * FROM student WHERE sno=+'"+sno+"'");if(rs==null){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"该学生不存在" ,"消息对话框",RMATION_MESSAGE);}else{rs.next();final String no1=rs.getString(1);final String name1=rs.getString(2);final String age1=rs.getString(3);final String sex1=rs.getString(4);final String address1=rs.getString(5);final String phone1=rs.getString(6);JFrame addframe=new JFrame("修改学生信息");addframe.setDefaultCloseOperation(2);addframe.setBounds(400,200,450,600);addframe.setVisible(true);addframe.setResizable(true);addframe.validate();addframe.setLayout(newBorderLayout());Box basebox,box1,box2,box3,box4;basebox=Box.createHorizontalBox();box1=Box.createVerticalBox();box2=Box.createVerticalBox();box3=Box.createVerticalBox();box4=Box.createVerticalBox();JLabel no=new JLabel("学号");JLabel name=new JLabel("姓名");JLabel age=new JLabel("年龄");box1.add(Box.createVerticalStrut(90));box1.add(no);box1.add(Box.createVerticalStrut(90));box1.add(name);box1.add(Box.createVerticalStrut(90));box1.add(age);JLabel sex=new JLabel("性别");JLabel address =new JLabel("籍贯");JLabel phone=new JLabel("电话");box3.add(Box.createVerticalStrut(90));box3.add(sex);box3.add(Box.createVerticalStrut(90));box3.add(address);box3.add(Box.createVerticalStrut(90));box3.add(phone);final JTextField notext=new JTextField(15);final JTextField nametext=new JTextField(15);final JTextField agetext=new JTextField(15);final JTextField sextext=new JTextField(15);final JTextField addresstext=new JTextField(15);final JTextField phonetext=new JTextField(15);box2.add(Box.createVerticalStrut(90));box2.add(notext);box2.add(Box.createVerticalStrut(90));box2.add(nametext);box2.add(Box.createVerticalStrut(90));box2.add(agetext);box4.add(Box.createVerticalStrut(90));box4.add(sextext);box4.add(Box.createVerticalStrut(90));box4.add(addresstext);box4.add(Box.createVerticalStrut(90));box4.add(phonetext);basebox.add(box1);basebox.add(box2);basebox.add(box3);basebox.add(box4);。
学生管理系统 java 开题报告
学生管理系统 java 开题报告学生管理系统 Java 开题报告一、引言学生管理系统是一种用于学校或教育机构管理学生信息、课程安排和成绩记录的软件系统。
本文将介绍一个基于 Java 开发的学生管理系统,并提供该系统的设计思路和功能模块。
二、系统概述学生管理系统是为了方便学校管理学生信息和课程安排而开发的软件系统。
该系统主要包括学生信息管理、课程管理、成绩管理和报表生成等功能模块。
通过该系统,学校可以高效地管理学生信息,方便教师进行课程安排和成绩记录,提高学校的管理水平和工作效率。
三、系统设计思路1. 技术选型本系统采用 Java 作为开发语言,使用 MySQL 数据库进行数据存储。
Java 是一种跨平台的编程语言,具有良好的可移植性和扩展性,适合用于开发学生管理系统这样的大型软件系统。
2. 系统架构学生管理系统采用三层架构,分为表现层、业务逻辑层和数据访问层。
表现层负责与用户交互,接收用户的输入和显示系统的输出;业务逻辑层负责处理用户的请求,进行业务逻辑的处理;数据访问层负责与数据库进行交互,进行数据的读写操作。
3. 功能模块学生管理系统主要包括以下功能模块:- 学生信息管理:包括学生基本信息的录入、查询、修改和删除等操作。
- 课程管理:包括课程信息的录入、查询、修改和删除等操作。
- 成绩管理:包括学生成绩的录入、查询、修改和删除等操作。
- 报表生成:根据学生的成绩和课程信息生成各类统计报表,方便学校进行数据分析和决策。
四、系统功能详述1. 学生信息管理学生信息管理模块主要包括学生基本信息的录入、查询、修改和删除等功能。
教师可以通过该模块添加新的学生信息,包括学生姓名、学号、性别、年龄等。
同时,教师也可以查询和修改学生信息,以及删除不需要的学生记录。
2. 课程管理课程管理模块主要包括课程信息的录入、查询、修改和删除等功能。
教师可以通过该模块添加新的课程信息,包括课程名称、课程编号、授课教师等。
同时,教师也可以查询和修改课程信息,以及删除不需要的课程记录。
JAVAWEB程序设计课程设计-学生信息管理系统
课程设计报告课程名称《JAVAWEB程序设计》课题名称学生信息管理系统专业计算机科学与技术班级学号学号指导教师年月日湖南工程学院课程设计任务书课程名称《JAVAWEB程序设计》课题学生信息管理系统专业班级学生姓名学号指导老师审批任务书下达日期任务完成日期目录一.设计说明 (1)1.功能结构 (1)2. 数据库设计.................. 错误!未定义书签。
二.功能实现 (2)1.系统主界面 (2)2. 添加学生信息 (2)3. 查看学生信息 (2)4. 修改学生信息 (2)三.心得体会 (3)四.附录 (4)1. 源代码 (4)1)Index.jsp (4)2)addStudent.jsp (7)3)updateStudent.jsp (8)4)viewStudent.jsp (10)5)Student.java (11)6)StudentManager.java (13)7)StudentServlet.java (16)8)Web.xml (18)五.评分表 (20)一.设计说明1.功能结构图1-12.数据库设计图1-2学生信息管理系统 学生录入信息功能 查询学生信息功能 删除学生信息功能修改学生信息功能二.功能实现1.系统主界面图2-1 2.添加学生信息图2-2 3.查看学生信息图2-3 4.修改学生信息图2-4三.心得体会经过一个星期的课程设计,收获颇多。
也明白了自己在java语言上自己存在的一些问题,也解决了一些一直困恼我的问题。
以前自己觉得程序很简单,不放在心上。
经过课程设计才使我明白做程序需要的东西是很多的,你既要懂程序而且还要有耐心和恒心。
课程设计是对我的一次全面的测试,它既锻炼了我的动手的能力也磨练了我的心理素质。
设计这个系统,我们复习巩固java语言的基础知识,进一步加深对java 语言编程的理解和掌握。
了解深入java语言编程的方法和环境。
利用所学知识,把理论和实际结合,利用资源,采用模块化的结构,学会使用模仿、修改、自主设计相结合的方法。
学生信息管理系统java课程设计代码
学生信息管理系统java课程设计代码学生信息管理系统Java课程设计代码一、引言学生信息管理系统是一种方便、高效的信息管理工具,可以帮助学校或教育机构管理学生的个人信息、学籍信息等。
本文将介绍一个基于Java语言的学生信息管理系统的设计代码。
二、系统设计1. 需求分析学生信息管理系统需要满足以下需求:- 学生信息的录入、修改和删除- 学生信息的查询和显示- 学生成绩的录入、修改和查询- 学生课表的查询和显示- 学生考勤情况的记录和查询2. 数据库设计系统需要设计学生信息、学生成绩、课程表和考勤情况等相关数据库表。
每个表需要定义相应的字段,如学生姓名、学号、性别、年龄等。
3. 界面设计系统需要设计用户友好的界面,方便用户进行操作。
可以使用JavaSwing等图形界面库进行开发,界面要清晰、美观,并提供相应的按钮和输入框供用户使用。
4. 功能实现系统的功能实现需要编写相应的Java代码。
可以使用面向对象的编程思想,将学生、成绩、课程表和考勤等信息封装成对象,通过调用对象的方法来完成相应的操作。
5. 数据库连接系统需要与数据库进行连接,使用Java JDBC等技术来实现数据库的增删改查操作。
可以使用MySQL等关系型数据库管理系统。
6. 用户权限管理系统可以设计管理员和普通用户两种角色,管理员具有录入、修改和删除学生信息的权限,普通用户只能查询和显示学生信息。
三、代码实现以下是一个简单的学生信息管理系统的Java代码示例:```javaimport java.sql.*;import javax.swing.*;public class StudentManagementSystem {// 数据库连接信息private static final String URL = "jdbc:mysql://localhost:3306/student_db";private static final String USERNAME = "root";private static final String PASSWORD = "123456";public static void main(String[] args) {// 连接数据库Connection conn = null;try {conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);} catch (SQLException e) {e.printStackTrace();JOptionPane.showMessageDialog(null, "数据库连接失败!");System.exit(0);}// 界面初始化JFrame frame = new JFrame("学生信息管理系统");frame.setSize(800, 600);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 添加组件JPanel panel = new JPanel();JLabel label = new JLabel("学生信息管理系统");panel.add(label);frame.add(panel);// 显示界面frame.setVisible(true);}}```四、总结通过以上的代码示例,我们可以看到一个简单的学生信息管理系统的实现框架。
学生信息管理系统java技术点
学生信息管理系统Java技术点1. 简介学生信息管理系统是一种用于管理学生信息的软件系统,它可以帮助学校、教育机构或其他组织轻松地记录和管理学生的个人、学术和其他相关信息。
本文将介绍使用Java语言开发学生信息管理系统时需要关注的技术点。
2. 技术点2.1 Java基础开发学生信息管理系统需要熟悉Java编程语言的基础知识。
这包括掌握Java的语法规则、面向对象编程的概念、如何定义类和对象、如何使用变量和常量等。
还需要了解Java中常用的数据结构和集合类,如数组、列表、集合和映射等。
2.2 数据库操作学生信息管理系统通常需要使用数据库来存储和管理学生信息。
在Java中,可以使用JDBC(Java Database Connectivity)来连接数据库并进行数据操作。
开发者需要了解如何使用JDBC连接数据库、执行SQL语句、查询和更新数据等操作。
2.3 用户界面设计一个好的用户界面对于学生信息管理系统至关重要。
在Java中,可以使用Swing 或JavaFX等图形用户界面库来设计用户界面。
开发者需要了解如何创建窗口、添加组件、处理用户事件等。
还可以使用第三方UI库来美化用户界面,提升用户体验。
2.4 文件操作学生信息管理系统可能需要将数据保存到文件中,或者从文件中读取数据。
在Java中,可以使用File类和相关的输入输出流来进行文件操作。
开发者需要了解如何创建、读取和写入文件,以及如何处理异常和关闭文件流等。
2.5 数据校验与验证为了确保输入的数据的准确性和合法性,学生信息管理系统需要进行数据校验和验证。
开发者可以使用正则表达式或相关的验证库来实现数据校验,并给出相应的错误提示。
2.6 导入导出功能学生信息管理系统通常需要支持导入和导出学生信息的功能。
开发者可以使用CSV、Excel或XML等格式来实现数据的导入和导出。
在Java中,可以使用相关的库来解析和生成这些格式的文件。
2.7 安全性与权限控制学生信息是敏感数据,因此安全性是学生信息管理系统必须考虑的重要问题之一。
Java面向对象程序设计课程设计--学生信息管理系统程序设计
课程实践任务书信息技术的快速发展的同时也带来了社会各个行业的发展。
它的发展已经深入到社会的各个角落。
作为社会发展的前沿技术,各行各业只要对其合理的进行运用,必将会带来巨大的便捷。
成功的运用信息技术将为各类学校学生信息管理带来无限便利。
作为计算机应用的一部分,使用学生信息管理系统对学生档案进行管理,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,大地提高学生档案管理的效率。
本文介绍了系统开发的全过程。
该系统以Windows为操作平台,Java为开发语言,Access为数据库,Eclipse为开发工具,使用JDBC技术进行连接,实现了在可视化的基础上,利用数据库进行后台管理。
系统由学生和老师基本信息添加、学生和老师基本信息查询、学生和老师基本信息删除、学生和老师基本信息修改及退出系统等功能模块组成,基本功能较全面。
用户界面友好、清晰、操作简便,易学易用;系统可读性好,易于维护、更新,安全性较好。
采用传统下拉菜单功能选择,方便、快捷、一目了然,并且在一个窗体中进行操作,可视化强。
采用链入数据库进行存储,可动态进行查看、操作,这样的系统可修改性较强。
关键字:面向对象;Eclipse;JDBC1 前言 (1)1.1 课题简介 (1)1.2 设计目的 (1)2 需求分析 (2)2.1业务需求分析 (2)2.2功能需求分析 (2)2.2.1 学生信息 (2)2.2.2 教师信息 (2)2.2.3 成绩管理 (3)3 数据库设计 (4)3.1 Java连接数据库 (4)3.1.1 关系数据库概述 (4)3.1.2 通过JDBC访问数据库 (4)3.2 数据库与基本表设计 (4)4 系统设计与实施 (7)4.1 Eclipse Java Neon 3 (7)4.2 结构设计 (7)4.3 文件组织结构 (7)4.4 登录模块 (8)4.4.1 设计构想 (8)4.4.2 实现登录模块 (8)4.5 学生信息模块 (11)4.5.1 设计构想 (11)4.5.2 实现学生信息模块主界面 (11)4.5.3添加信息 (12)4.5.4 删除信息 (14)4.5.5修改信息 (15)4.5.6 基本信息查询 (17)4.5.7 成绩查询 (19)4.5.8 退出系统 (21)4.6 教师信息模块 (22)结束语 (26)参考文献 (27)附录A............................................. 错误!未定义书签。
Java课程设计_学生信息管理系统+代码
Java课程设计报告题目:学生信息管理系统2012年12月21日目录一、实验目的----------------------------------------------------1二、应用需求分析----------------------------------------------1三、主要功能(系统流程图)-------------------------------2四、数据库设计-------------------------------------------------5五、系统操作----------------------------------------------------7六、程序类的设计---------------------------------------------15七、系统使用说明及环境配置------------------------------16八、附录---------------------------------------------------------16一、实验目的掌握java编程技术、Microsoft SQL Server 2005数据库的建立使用以及java与Microsoft SQL Server 2005的连接技术。
二、应用需求分析学生信息管理系统需要满足来自二方面的需求,这两个方面分别是学生、管理员。
学生的需求是学生信息查看、成绩信息查看、个人信息管理;管理员对学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理。
学生可以直接查看个人信息情况,学生可以根据本人学号和密码登录系统,还可以修改个人登录密码。
一般情况下,学生只应该查询和维护本人的信息情况。
若查询和修改其他学生的信息情况,就要知道其他学生的学号和密码。
这些是很难得到的,特别是密码,所以不但满足了学生的要求,还保护了个人隐私。
管理员有管理员的使用权限,对系统有维护的权限。
JAVA程序设计课程设计大作业Java学生管理系统(一)
JAVA程序设计课程设计大作业Java学生管理系统(一)Java学生管理系统是一款面向学生的信息管理软件,全面展示学生各个方面的信息。
随着信息技术的不断进步,学生管理系统已经成为学校教育管理中必不可少的一部分。
随着学生数量的增长以及学校管理的需要,对于管理系统的需求也越来越高,要求系统更加智能化、快捷化和便捷化。
Java程序设计课程设计大作业Java学生管理系统也是为此而生。
Java学生管理系统主要是为了解决学校学生的管理问题而设计的。
学生管理系统可以对学生的各项信息进行统一管理,包括学生的个人信息、学籍信息、社团信息、成绩信息、荣誉信息等。
这些数据可以随时查询,以方便老师、家长、学生等人根据需求查看、修改等操作。
Java学生管理系统中包含多个模块,主要包括学生信息模块、课程信息模块、成绩信息模块、荣誉信息模块以及社团信息模块。
在学生信息模块中,管理员可以添加、修改、查询和删除学生的个人信息。
在课程信息模块中,管理员可以添加、修改、查询和删除课程的信息。
在成绩信息模块中,管理员可以添加、修改、查询和删除学生的成绩信息。
在荣誉信息模块中,管理员可以查询学生的荣誉信息。
在社团信息模块中,管理员可以查询学生所在的社团信息。
Java学生管理系统还包括了多种安全机制,如登录验证、权限控制等。
只有管理员才能登录系统,并通过权限控制访问特定的模块,保证了系统的安全性。
Java学生管理系统设计的核心是系统的数据结构以及数据的交互方式。
在系统中,数据是以树状结构组织起来的,各个节点之间通过指针相连。
这种数据结构的形式可以降低系统的复杂度,并使得系统更加易于管理。
总之,Java程序设计课程设计大作业Java学生管理系统是一款高效、简便、安全的学生信息管理系统。
它可以满足学校管理的需求,为了更好地适应学校管理的需要,将不断进行完善和升级。
它对于学校管理和教育工作者都是非常有益的,为了使得学校管理更加高效、自动化,推动学校信息化建设的发展。
java学生管理系统设计说明书
java学生管理系统设计说明书《Java学生管理系统设计说明书》一、引言学生管理系统是针对学校或教育机构的一种信息管理系统,用于管理学生的基本信息、课程信息、成绩信息等。
本文将详细介绍一个基于Java语言开发的学生管理系统的设计和实现。
二、系统需求分析1. 功能需求:(1) 学生信息管理:包括学生的基本信息(学号、姓名、性别、年龄等)的录入、修改、删除和查询功能。
(2) 课程信息管理:包括课程的录入、修改、删除和查询功能。
(3) 成绩管理:包括学生的成绩录入、查询和统计功能。
(4) 数据报表生成:包括学生基本信息报表、课程信息报表和成绩报表的生成功能。
2. 性能需求:(1) 系统响应速度要快,用户在进行操作时不会出现明显的卡顿现象。
(2) 系统要能够处理大量的数据,保证数据的准确性和完整性。
3. 可靠性需求:(1) 系统要具备数据备份和恢复功能,以防数据丢失或损坏。
(2) 系统要能够处理异常情况,保证系统的稳定性和可靠性。
三、系统设计1. 系统结构设计:(1) 前端界面:使用Java Swing或JavaFX等图形界面库实现用户交互界面,包括菜单、按钮、文本框等组件。
(2) 后端逻辑:使用Java编程语言实现系统的各项功能,包括数据的增删改查、数据的统计和报表的生成等。
(3) 数据库:使用关系型数据库(如MySQL、Oracle等)存储学生信息、课程信息和成绩信息等。
2. 系统模块设计:(1) 学生信息管理模块:实现学生信息的录入、修改、删除和查询功能。
(2) 课程信息管理模块:实现课程信息的录入、修改、删除和查询功能。
(3) 成绩管理模块:实现学生成绩的录入、查询和统计功能。
(4) 数据报表生成模块:实现学生基本信息报表、课程信息报表和成绩报表的生成功能。
3. 系统接口设计:(1) 用户界面接口:通过菜单、按钮等用户界面组件与用户进行交互,接收用户输入的指令。
(2) 数据库接口:通过Java JDBC等数据库访问方式与数据库进行交互,实现数据的增删改查操作。
JAVA课程设计学生信息管理系统代码
JAVA课程设计学生信息管理系统代码某Tochangethitemplate,chooeTool|Template某andopenthetemplateintheeditor.某/packagetudentinfo;importjava.awt.某;importjava某.wing.某;importjava.awt.event.某;importjava.awt.某;importjava.awt.event.某;importjava.util.某;importjava某.wing.border.某;importjava某.wing.JOptionPane;importjava某.wing.JLabel;importjava某.wing.JPanel;importjava某.wing.table.DefaultTableModel; importjava某.wing.table.TableColumn;importjava.ql.某;importjava.awt.GridLayout;//网格式布局//导入javar需要的jar包publicclaStudentInfo{publicStudentInfo()//构造方法{}publictaticvoidmain(String[]arg){//TODOcodeapplicationlogichereloginFramelf=newloginFrame();//加载窗体lf.etViible(true);//设置窗体可见lf.addWindowLitener(newWindowAdapter()//添加窗口监听以接受关闭事件{publicvoidwindowCloing(WindowEvente){Sytem.e某it(0);}});}}//学生成绩管理系统界面clamainFramee某tendJFrameimplementActionLitener{MenuBarmyMenuBar=newMenuBar();//菜单MenuItemmiNew,miOpen,miSave,miSaveA,miE某it;MenuItemmiAdd,miEdit,miDel,miFind,miShow,miUer,miAbout;public JTabletable=newJTable();//表格publicDefaultTableModelmm;//表格模型publicmainFrame(){myMenuFile=newMenu("文件");miNew=newMenuItem("新建");miOpen=newMenuItem("打开");miSave=newMenuItem("保存");miE某it=newMenuItem("退出");//miNew.enable(fale);//miOpen.enable(fale);//miSave.enable(fa le);//myMenuFile.add(miNew);//myMenuFile.add(miOpen);//myMenuFil e.add(miSave);myMenuFile.add(miE某it);myMenuEdit=newMenu("数据编辑");miFind=newMenuItem("查找数据");miAdd=newMenuItem("添加数据");miEdit=newMenuItem("修改数据");miDel=newMenuItem("删除数据");miShow=newMenuItem("全部显示");myMenuEdit.add(miFind);myMenuEdit.add(miAdd);myMenuEdit.add(m iEdit);myMenuEdit.add(miDel);myMenuEdit.add(miShow);myMenuUer=ne wMenu("用户管理");miUer=newMenuItem("编辑用户");myMenuUer.add(miUer);myMenuAbout=newMenu("关于我");miAbout=newMenuItem("我的信息");myMenuAbout.add(miAbout);myMenuBar.add(myMenuFile);myMenuBar.add(myMenuEdit);myMenuBar.add(myMenuUer);myMenuBar.add(myMenuAbout);String[]col={"学号","姓名","性别","班级","专业","大学语文","大学英语","高等数学"};//创建属性列名table.etModel(mm);JScrollPanetableScrollPane=newJScrollPane( table);//设置滚动条thi.etMenuBar(myMenuBar);thi.add(tableScrollPane);miE某it.addActionLitener(thi);//为各按钮注册事件监听器对象miFind.addActionLitener(thi);miAdd.addActionLitener(thi);miEdit. addActionLitener(thi);miDel.addActionLitener(thi);miShow.addActi onLitener(thi);miUer.addActionLitener(thi);miAbout.addActionLite ner(thi);}publicvoidfrehTable(Stringql){myConnectionconn=newmyCo nnection();//获得数据库连接ReultSetr;//保存查询返回结果对象r=conn.getReult(ql);if(r!=null){try{mm.etRowCount(0);table.etMod el(mm);while(r.ne某t()){String学号=r.getString("学号");String姓名=r.getString("姓名");String性别=r.getString("性别");String班级=r.getString("班级");String专业=r.getString("专业");String大学语文=r.getString("大学语文");String大学英语=r.getString("大学英语");String高等数学=r.getString("高等数学");String[]cloumn={学号,姓名,性别,班级,专业,大学语文,大学英语,高等数学};mm.addRow(cloumn);}//table.clearSelection();table.etModel(mm );}catch(E某ceptione){}}}//捕获异常publicvoidactionPerformed(ActionEvente)//重载动作事件接口中的方法{//退出if(e.getSource()==miE某it){Sytem.e 某it(0);//查找}eleif(e.getSource()==miFind){findFrameff=newfindFrame(thi);ff .etViible(true);//添加}eleif(e.getSource()==miAdd){addFrameaf=newaddFrame(thi);af.et Viible(true);//修改}eleif(e.getSource()==miEdit){if(table.getSelectedRow()==-1){JOptionPane.howMeageDialog(null,"请选择你要修改的内容","温馨提示",RMATION_MESSAGE);//弹窗提示}{editFrameef=neweditFrame(thi);ef.学号.etTe某t((String)table.getValueAt(table.getSelectedRow(),0));ef.姓名.etTe某t((String)table.getValueAt(table.getSelectedRow(),1));ef.性别.etTe某t((String)table.getValueAt(table.getSelectedRow(),2));ef.班级.etTe某t((String)table.getValueAt(table.getSelectedRow(),3));ef.专业.etTe某t((String)table.getValueAt(table.getSelectedRow(),4));ef.大学语文.etTe某t((String)table.getValueAt(table.getSelectedRow(),5));ef.大学英语.etTe某t((String)table.getValueAt(table.getSelectedRow(),6));ef.高等数学.etTe某t((String)table.getValueAt(table.getSelectedRow(),7));ef.etViibl e(true);thi.frehTable("elect某from学生成绩表");//刷新表格}//删除eleif(e.getSource()==miDel){if(table.getSelectedRow()==-1){JOptionPane.howMeageDialog(null,"请选择你要删除的行","温馨提示",RMATION_MESSAGE);}ele{Stringql="deletefrom学生成绩表where学号='"+table.getValueAt(table.getSelectedRow(),0)+"'";//JOptionPane.howMeageDialog(null,ql,"温馨提示",RMATION_MESSAGE);myConnectionconn=newmyConnection();if(conn.e某ecuteSql(ql)){JOptionPane.howMeageDialog(null,"成功删除","温馨提示",RMATION_MESSAGE);thi.frehTable("elect某from学生成绩表");ele{JOptionPane.howMeageDialog(null,"未知错误","删除失败",RMATION_MESSAGE);}}//显示}eleif(e.getSource()==miShow){//JOptionPane.howMeageDialog(null,"未知错误","删除失败",RMATION_MESSAGE);thi.frehTable("elect某from学生成绩表");//编辑用户}eleif(e.getSource()==miUer){uerFrameuf=newuerFrame();uf.etViible(true);//作业说明}eleif(e.getSource()==miAbout){aboutFrameaf=newaboutFrame();af.etViible(true);}}}clamyConnection{ReultSetre;Stringtrurl="jdbc:odbc:driver={MicrooftAcceDriver(某.mdb)};D BQ=学生管理数据库.mdb";//Stringtrurl="jdbc:odbc:driver={MicrooftAcceDriver(某.mdb)} ;DBQ=学生管理数据库.mdb";//Stringtrurl="jdbc:odbc:cah";//cah为数据源名称publicmyConnection(){}publicReultSetgetReult(Stringql){try{Cla.forName("un.jdbc.odbc.JdbcOdbcDriver");Connectionconn=DriverManager.getConnection(trurl);Statementtmt=conn.createStatement(ReultSet.TYPE_SCROLL_SENSITIVE,Reul tSet.CONCUR_UPDATABLE);ReultSetre=tmt.e某ecuteQuery(ql);returnre;}catch(E某ceptione){e.printStackTrace();//异常处理returnnull;}}publicbooleane某ecuteSql(Stringql){try{Cla.forName("un.jdbc.odbc.JdbcOdbcDriver"); Connectionconn=DriverManager.getConnection(trurl); Statementtmt=conn.createStatement();tmt.e某ecuteUpdate(ql);mit();returntrue;}catch(E某ceptione){e.printStackTrace();returnfale;}}}claaddFramee某tendJDialogimplementActionLitener {publictaticfinalintWIDTH=400;publictaticfinalintHEIGHT=400;JLabel学号1,姓名1,性别1,班级1,专业1,大学语文1,大学英语1,高等数学1;JTe某tField学号,姓名,性别,班级,专业,大学语文,大学英语,高等数学;JButtonb;JPanelp;mainFramemf;publicaddFrame(mainFramemmf){etT itle("添加学生成绩");etSize(WIDTH,HEIGHT);etLocation(120,180);ContainercontentPane =getContentPane();//创建一个容器对象contentPane.etLayout(newFlowLayout());//流式布局学号1=newJLabel("学号");姓名1=newJLabel("姓名");性别1=newJLabel("性别");班级1=newJLabel("班级");专业1=newJLabel("专业");大学语文1=newJLabel("大学语文");大学英语1=newJLabel("大学英语");高等数学1=newJLabel("高等数学");学号=newJTe某tField(5);姓名=newJTe某tField(5);性别=newJTe某tField(5);班级=newJTe某tField(5);专业=newJTe某tField(5);大学语文=newJTe某tField(5);大学英语=newJTe 某tField(10);高等数学=newJTe某tField(10);b=newJButton("确定");p=newJPanel();p.etLayout(newGridLayout(10,2,5,5));//表格布局p.add(学号1);p.add(学号);p.add(姓名1);p.add(姓名);p.add(性别1);p.add(性别);p.add(班级1);p.add(班级);p.add(专业1);p.add(专业);p.add(大学语文1);p.add(大学语文);p.add(大学英语1);p.add(大学英语);p.add(高等数学1);p.add(高等数学);p.add(newLabel(""));p.add(newLabel(""));p.add(b);contentPane .add(p);//添加按钮监听器b.addActionLitener(thi);mf=mmf;}publicvoidactionPerformed(ActionEvente){if(学号.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入学号","温馨提示",RMATION_MESSAGE);}eleif(姓名.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入姓名","温馨提示",RMATION_MESSAGE);}eleif(大学语文.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入大学语文","温馨提示",RMATION_MESSAGE);}ele{Stringql="elect某from学生成绩表where学号='"+学号.getTe某t()+"'";myConnectionconn=newmyConnection();ReultSetr;r=conn.getReult (ql);try{//Sytem.out.println(r.getRow());if(r.ne某t()){ JOptionPane.howMeageDialog(null,"此学号已经存在","温馨提示",RMATION_MESSAGE);误信息}//添加学生的时候,发现数据库已经有了,提示你学号已经存在,报错ele{ql="inertinto学生成绩表value('"+学号.getTe某t()+"','"+姓名.getTe某t()+"','"+性别.getTe某t()+"','"+班级.getTe某t()+"','"+专业.getTe某t()+"','"+大学语文.getTe某t()+"','"+大学英语.getTe某t()+"','"+高等数学.getTe某t()+"')";//实行数据库插入的语句if(conn.e某ecuteSql(ql))//插入语句{JOptionPane.howMeageDialog(null,"添加成功","温馨提示",RMATION_MESSAGE);}ele{mf.frehTable("elect某from学生成绩表");学号.etTe某t("");姓名.etTe某t("");性别.etTe某t("");班级.etTe某t("");专业.etTe某t("");大学语文.etTe某t("");大学英语.etTe某t("");高等数学.etTe某t("");JOptionPane.howMeageDialog(null,"添加失败","温馨提示",RMATION_MESSAGE);}//插入失败}}catch(E某ceptioner){Sytem.out.println(er.toString());}}}}claeditFramee某tendJDialogimplementActionLitener{publictaticfinalintWIDTH=400;publictaticfinalintHEIGHT=400;JLabel学号1,姓名1,性别1,班级1,专业1,大学语文1,大学英语1,高等数学1;JTe某tField学号,姓名,性别,班级,专业,大学语文,大学英语,高等数学;JButtonb;JPanelp;mainFramemf;publiceditFrame(mainFramemmf){et Title("修改学生信息");etSize(WIDTH,HEIGHT);etLocation(120,180);ContainercontentPane =getContentPane();contentPane.etLayout(newFlowLayout());学号1=newJLabel("学号");姓名1=newJLabel("姓名");性别1=newJLabel("性别");班级1=newJLabel("班级");专业1=newJLabel("专业");大学语文1=newJLabel("大学语文");大学英语1=newJLabel("大学英语");高等数学1=newJLabel("高等数学");学号=newJTe某tField(5);姓名=newJTe某tField(5);性别=newJTe某tField(5);班级=newJTe某tField(5);专业=newJTe某tField(5);大学语文=newJTe某tField(5);大学英语=newJTe 某tField(10);高等数学=newJTe某tField(10);学号.etEnabled(fale);b=newJButton("确定");p=newJPanel();p.etLayout(newGridLayout(10,2,5,5));p.add(学号1);p.add(学号);p.add(姓名1);p.add(姓名);p.add(性别);p.add(班级1);p.add(班级);p.add(专业1);p.add(专业);p.add(大学语文1);p.add(大学语文);p.add(大学英语1);p.add(大学英语);p.add(高等数学1);p.add(高等数学);p.add(newLabel(""));p.add(newLabel(""));p.add(b);contentPane .add(p);//添加按钮监听器b.addActionLitener(thi);mf=mmf;}//这是画界面publicvoidactionPerformed(ActionEvente){if(学号.getTe某t().toString().equal(""))//判断{JOptionPane.howMeageDialog(null,"请输入学号","温馨提示",RMATION_MESSAGE);//弹出的小窗口提示}eleif(姓名.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入姓名","温馨提示",RMATION_MESSAGE);}eleif(大学语文.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入大学语文","温馨提示",RMATION_MESSAGE);}ele{Stringql="update学生成绩表et姓名='"+姓名.getTe某t()+"',性别='"+性别.getTe某t()+"',班级='"+班级.getTe某t()+"',专业='"+专业.getTe某t()+"',大学语文='"+大学语文.getTe某t()+"',大学英语='"+大学英语.getTe某t()+"',高等数学='"+高等数学.getTe某t()+"'where学号='"+学号.getTe某t()+"'";myConnectionconn=newmyConnection();//打开数据库的连接try{//JOptionPane.howMeageDialog(null,ql,"温馨提示",RMATION_MESSAGE);if(conn.e某ecuteSql(ql))//执行ql语句,弹出窗口,查询学生表刷新table{JOptionPane.howMeageDialog(null,"修改成功","温馨提示",RMATION_MESSAGE);mf.frehTable("elect某from学生成绩表");thi.dipoe();//关闭当前窗体对象,隐藏}ele{JOptionPane.howMeageDialog(null,"修改失败","温馨提示",RMATION_MESSAGE);}}catch(E某ceptioner){er.printStackTrace();}}}}clafindFramee某tendJDialogimplementActionLitener{mainFramemf;JPanelp;JTe某tFieldt;JButtonb;JButtonfAll;Stringql="elect某fromtudent";String[]colStr={"学号","姓名","性别","班级","专业","大学语文","大学英语","高等数学"};publicfindFrame(mainFramemmf) {mf=mmf;p=newJPanel();t=newJTe某tField(10);b=newJButton("查找");fAll=newJButton("全部显示");b.addActionLitener(thi);fAll.addActionLitener(thi);p.add(newJLabel("选择"));p.add(c);p.add(newJLabel("查找内容"));p.add(t);p.add(b);p.add(fAll);thi.add(p);thi.etTitle("查找");thi.etSize(450,80);}publicvoidactionPerformed(ActionEvente){//查找if(e.getSource()==b){StringelectStr=c.getSelectedItem().toString(); if(electStr=="大学英语"){ql="elect某from学生成绩表"+t.getTe某t().toString();}ele{ql="elect某from学生成绩表'"+t.getTe某t().toString()+"'";}mf.frehTable(ql);//全部显示}if(e.getSource()==fAll){ql="elect某from学生成绩表";mf.frehTable(ql);}//监听程序,选择查成绩,最后是重新刷新table }}claaboutFramee某tendJDialog//关于我的信息{aboutFrame(){JPanelp1=newJPanel();where"+electStr+"where"+electStr+"== clauerFramee某tendJFrameimplementActionLitener//用户密码{JTe某tFielduer,pa;JButtonadd,del;JTablet;JPanelp1,p2,p3,p4,p5;DefaultTableModelm;publicuerFrame(){p1=newJPanel();p2=newJPanel();p3=newJPanel();p4=newJPanel();p5=newJPanel();uer=newJTe某tField(8);pa=newJTe某tField(8);add=newJButton("添加");del=newJButton("删除");String[]col={"用户名","密码"};m=newDefaultTableModel(col,0);t=newJTable();t.etModel(m);JScr ollPanep=newJScrollPane(t);p1.add(newJLabel("用户名"));p1.add(uer);p1.add(newJLabel("密码"));p1.add(pa);p1.add(add);p2.add(p);p3.add(del);add.addActionLi tener(thi);del.addActionLitener(thi);myConnectionconn=newmyConne ction();ReultSetr;r=conn.getReult("elect某from管理员");//开始时连接数据库,查询数据,返回结果集,if(r!=null){//把查询结果放到table里面try{//m.etRowCount(0);//table.etModel(mm);while(r.ne某t()){String用户名=r.getString("用户名");String密码=r.getString("密码");String[]cloumn={用户名,密码};m.addRow(cloumn);}t.etModel(m);}catch(E某ceptione){Sytem.out.println(e.toString());}}thi.add(p1,BorderLay out.NORTH);thi.add(p2,BorderLayout.CENTER);thi.add(p3,BorderLayo ut.SOUTH);thi.add(p4,BorderLayout.WEST);thi.add(p5,BorderLayout. EAST);thi.etTitle("用户管理");thi.etSize(600,400);}publicvoidactionPerformed(ActionEvente){ //用户添加if(e.getSource()==add){if(uer.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入用户名","温馨提示",RMATION_MESSAGE);eleif(pa.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入密码","温馨提示",RMATION_MESSAGE);}elemyConnectionconn=newmyConnection();ReultSetr;try{r=conn.getReult("elect某from管理员where用户名='"+uer.getTe某t().toString()+"'");if(r.ne某t()){JOptionPane.howMeageDialog(null,"此用户已经存在","温馨提示",RMATION_MESSAGE);}ele{if(conn.e某ecuteSql("inertinto管value('"+uer.getTe某t().toString()+"','"+pa.getTe某t().toString()+"')"))String[]newUer={uer.getTe某t(),pa.getTe某t()};m.addRow(newUer);t.etModel(m);理员JOptionPane.howMeageDialog(null,"添加成功","温馨提示",RMATION_MESSAGE);}ele{JOptionPane.howMeageDialog(null,"添加失败","温馨提示",RMATION_MESSAGE);}}}catch(E某ceptioner){Sytem.out.println(er.toString());}}//删除}eleif(e.getSource()==del){if(t.getSelectedRow()==-1){JOptionPane.howMeageDialog(null,"请选择你要删除的行","温馨提示",RMATION_MESSAGE);}ele{=",Stringql="deletefrom管理员where用户名'"+t.getValueAt(t.getSelectedRow(),0)+"'";//JOptionPane.howMeage Dialog(null,ql,"温馨提示RMATION_MESSAGE);myConnectionconn=newmyConnection();if(conn.e某ecuteSql(ql)){m.removeRow(t.getSelectedRow());t.etModel(m);//t.removeRowSelectionInterval();JOptionPane.howMeageDialog(null,"成功删除","温馨提示",RMATION_MESSAGE);}ele{JOptionPane.howMeageDialog(null,"未知错误","删除失败",RMATION_MESSAGE);}}}}}claloginFramee某tendJDialogimplementActionLitener//登陆{JPanelp;JTe某tFielduer,pa;JButtonlogin,cancel;publicloginFrame(){p=newJPanel();uer=newJTe某tField(10);pa=newJTe某tField(10);login=newJButton("登录");cancel=newJButton("退出");uer.etTe某t("");pa.etTe某t("");login.addActionLitener(thi);cancel.addActionLitener(thi);p.add(newJLabel("账号"));p.add(uer);p.add(newJLabel("密码"));p.add(pa);p.add(login);p.add(cancel);thi.add(p);thi.etTitle("学生成绩管理系统");JLabelimg=newJLabel(newImageIcon("1.jpg"));p.add(img);thi.etSize(700,600);}publicvoidactionPerformed(ActionEvente){//查找if(e.getSource()==login){if(uer.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入用户名","温馨提示",RMATION_MESSAGE);}eleif(pa.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入密码","温馨提示",RMATION_MESSAGE);}ele{myConnectionconn=newmyConnection();ReultSetr;Stringql="elect某from管理员where用户名='"+uer.getTe某t().toString()+"'and密码='"+pa.getTe某t().toString()+"'";try{r=conn.getReult(ql);if(r.ne某t()){thi.dipoe();//JOptionPane.howMeageDialog(null,"此用户已经存在","温馨提示",RMATION_MESSAGE);ql="elect某from学生成绩表";mainFramemf=newmainFrame();mf.etTitle("学生成绩管理系统");mf.etSize(600,486);mf.frehTable(ql);mf.etViible(true);mf.addWindowLitener(newWindowAdapter(){publicvoidwindowCloing(WindowEvente){Sytem.e某it(0);}});}ele{JOptionPane.howMeageDialog(null,"用户名或密码错误","登录失败",RMATION_MESSAGE);}}catch(E某ceptioner){Sytem.out.println(er.toString());}}}}//全部显示}if(e.getSource()==cancel){Sytem.e某it(0);}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MainClass.javapublic class MainClass{ public static void main(String args[]){ new ManagerWindow();}}Student.javapublic class Studentimplements java.io.Serializable{ String number,name;public void setNumber(String number){ this.number=number;}public String getNumber(){ return number;}public void setName(String name){ =name;}public String getName(){ return name;}}ManagerWindow.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.Hashtable;public class ManagerWindow extends Frame implements ActionListener{ InputStudent 基本信息录入=null;Inquest 基本信息查询=null;Button 查询;Hashtable 基本信息=null;File file=null;public ManagerWindow(){ 基本信息=new Hashtable();查询=new Button("查询");查询.addActionListener(this);file=new File("基本信息.txt");if(!file.exists()){ try{ FileOutputStream out=new FileOutputStream(file);ObjectOutputStream objectOut=new ObjectOutputStream(out);objectOut.writeObject(基本信息);objectOut.close();out.close();}catch(IOException e){}}基本信息录入=new InputStudent(file);基本信息查询=new Inquest(this,file);add(基本信息录入,BorderLayout.CENTER);add(查询,BorderLayout.SOUTH);addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);}});setVisible(true);setBounds(100,50,420,380);validate();}public void actionPerformed(ActionEvent e){ 基本信息查询.setVisible(true);}}InputStudent.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class InputStudent extends Panel implements ActionListener { Hashtable 基本信息表=null;TextField 学号,姓名;Student 学生=null;Button 录入;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;public InputStudent(File file){ this.file=file;学号=new TextField(10);姓名=new TextField(10);录入=new Button("录入");录入.addActionListener(this);add(new Label("学号:",Label.CENTER));add(学号);add(new Label("姓名:",Label.CENTER));add(姓名);add(录入);validate();}public void actionPerformed(ActionEvent e){ if(e.getSource()==录入){ String number="";number=学号.getText();if(number.length()>0){ try { inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();}catch(Exception ee){}if(基本信息表.containsKey(number)){ String m="信息已存在,新的信息将覆盖原信息!";int ok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTION,RMATION_MESSAGE);if(ok==JOptionPane.YES_OPTION){ record(number);}}else{ record(number);}}else{ String warning="必须要输入学号!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}}}public void record(String number){ String name=姓名.getText();学生=new Student();学生.setNumber(number);学生.setName(name);try{ outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);基本信息表.put(number,学生);outTwo.writeObject(基本信息表);outTwo.close();outOne.close();学号.setText(null);姓名.setText(null);}catch(Exception ee){}}}Inquest.javaimport java.awt.*;import java.awt.event.*;import java.io.*;import java.util.*;import javax.swing.*;public class Inquest extends Dialog implements ActionListener{ Hashtable 基本信息表=null;TextField 学号;Button 按学号查询,查询全部;TextArea show=new TextArea(6,28);FileInputStream inOne=null;ObjectInputStream inTwo=null;File file=null;public Inquest(Frame f,File file){ super(f,"查询对话框",false);setLayout(new FlowLayout());this.file=file;学号=new TextField(10);按学号查询=new Button("按学号查询");按学号查询.addActionListener(this);查询全部=new Button("查询全部");查询全部.addActionListener(this);add(new Label("输入要查询的学号:",JLabel.CENTER));add(学号);add(按学号查询);add(查询全部);add(show);setBounds(100,200,360,270);addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ setVisible(false);}});}public void actionPerformed(ActionEvent e){ show.setText(null);readHashtable();if(e.getSource()==按学号查询){ String number="";number=学号.getText();if(number.length()>0){ if(基本信息表.containsKey(number)){ Student stu=(Student)基本信息表.get(number);show.setText("学号:"+stu.getNumber()+" 姓名:"+stu.getName()); }else{ String warning="该学号不存在!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}}else{ String warning="必须要输入学号!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}}if(e.getSource()==查询全部){ Enumeration enum=基本信息表.elements();while(enum.hasMoreElements()) //遍历当前散列表{ Student stu=(Student)enum.nextElement();show.append("学号:"+stu.getNumber()+" 姓名:"+stu.getName()+"\n"); }}}public void readHashtable(){ try { inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();}catch(Exception ee) {}}}。