JAVA学生管理系统期末大作业

合集下载

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

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

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

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

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

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

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

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

java ee 学生选课管理系统大作业报告

java ee 学生选课管理系统大作业报告

重庆科技学院《JavaEE企业级开发技术》非标准答案考试试题题目:学生选课成绩管理系统实现学生姓名:张XX 学号:2018XXXXXX 学院:智能技术与工程学院专业班级:计科XXX完成日期:2019年12月30日成绩(百分制):授课教师:目录一需求分析 (4)(一)项目设计目标 (4)(二)功能需求 (4)二概要设计 (7)(一)数据库设计 (7)(二)数据库实施 (9)三功能实现 (13)(一)模块设计 (13)(二)框架设计 (14)(三)编程实现 (14)(四)模块设计与实现 (41)四总结 (47)一需求分析(一)项目设计目标本系统针对学生选课成绩进行管理,通过本系统对学生选课成绩管理进行有效管理。

根据对学生选课管理系统的要求,制定简易学生管理系统。

因为最终使用的用户都是普通的老师学生,并不具全都备良好地计算机使用水平,所以本系统的界面比较简洁、美观,使用也比较方便,操作几次就可以熟悉使用方式,不需要针对最终用户进行使用培训。

本系统可以达到以下目标:(1)、灵活的人机交互界面,操作简单方便、界面简洁美观;(2)、可以通过菜单、导航栏灵活的操作;(3)、对学生选课成绩管理功能;(4)、可以实现对信息的查询;(5)、可以修改管理员密码;(6)、系统最大限度的实现了易维护性和易操作性;(7)、系统运行稳定、安全可靠。

(二)功能需求选课与成绩管理功能模块表:表1.2.9二概要设计(一)数据库设计1、构成系统的实体2、系统总体E-R图3、E-R图转化成物理模型4、学生选课管理系统的数据字典(二)数据库实施1、数据库脚本实现drop table if exists admin;drop index Relationship_7_FK on course; drop index Relationship_4_FK on course; drop index Relationship_2_FK on course; drop table if exists course;drop index Relationship_6_FK on grades; drop table if exists grades;drop index Relationship_5_FK on student;drop index Relationship_3_FK on student;drop index Relationship_1_FK on student;drop table if exists student;drop table if exists teacher;/*=========================================================*/ /* Table: admin *//*==========================================================*/ create table admin(adminId varchar(20) not null, adminPassword varchar(20),adminLimit varchar(2),primary key (adminId))type = InnoDB;/*==========================================================*/ /* Table: course *//*==========================================================*/ create table course(couId varchar(20) not null, adminId varchar(20),stuId varchar(20),teaId varchar(20),couName varchar(20),couTime varchar(20),couPlace varchar(20),couItem varchar(20),primary key (couId))type = InnoDB;/*==========================================================*/ /* Index: Relationship_2_FK *//*=========================================================*/ create index Relationship_2_FK on course(adminId);/*=========================================================*/ /* Index: Relationship_4_FK *//*==========================================================*/create index Relationship_4_FK on course(stuId);/*==========================================================*/ /* Index: Relationship_7_FK *//*==========================================================*/ create index Relationship_7_FK on course(teaId);/*========================================================*//* Table: grades *//*==========================================================*/ create table grades(gradeCouId varchar(20) not null, teaId varchar(20),gradeCouName varchar(20),gradeCouTime varchar(20),gradeCouPlace varchar(20),gradeTeacherId varchar(20),gradeCouItem varchar(20),gradeStuId varchar(20),gradeTest float(3),primary key (gradeCouId))type = InnoDB;/*==========================================================*/ /* Index: Relationship_6_FK *//*==========================================================*/ create index Relationship_6_FK on grades(teaId);/*=========================================================*/ /* Table: student *//*========================================================*/ create table student(stuId varchar(20) not null, adminId varchar(20),teaId varchar(20),gradeCouId varchar(20),stuName varchar(20),stuSex varchar(2),stuBirthday varchar(20),stuAddress varchar(40),stuMajor varchar(20),stuPassword varchar(20),primary key (stuId))type = InnoDB;/*=========================================================*/ /* Index: Relationship_1_FK *//*=========================================================*/ create index Relationship_1_FK on student(adminId);/*=======================================================*//* Index: Relationship_3_FK *//*======================================================*/ create index Relationship_3_FK on student(teaId);/*======================================================*//* Index: Relationship_5_FK *//*========================================================*/ create index Relationship_5_FK on student(gradeCouId);/*=======================================================*//* Table: teacher *//*======================================================*/ create table teacher(teaId varchar(20) not null,teaName varchar(20),teaSex varchar(2),teaBirthday varchar(20),teaAddress varchar(40),teaDep varchar(20),teaPassword varchar(20),primary key (teaId))type = InnoDB;alter table course add constraint FK_Relationship_2 foreign key (adminId) references admin (adminId) on delete restrict on update restrict;alter table course add constraint FK_Relationship_4 foreign key (stuId)references student (stuId) on delete restrict on update restrict;alter table course add constraint FK_Relationship_7 foreign key (teaId)references teacher (teaId) on delete restrict on update restrict;alter table grades add constraint FK_Relationship_6 foreign key (teaId)references teacher (teaId) on delete restrict on update restrict;alter table student add constraint FK_Relationship_1 foreign key (adminId) references admin (adminId) on delete restrict on update restrict;alter table student add constraint FK_Relationship_3 foreign key (teaId)references teacher (teaId) on delete restrict on update restrict;alter table student add constraint FK_Relationship_5 foreign key (gradeCouId) references grades (gradeCouId) on delete restrict on update restrict;三功能实现(一)模块设计本系统一共有三大模块,管理员模块、教师模块、学生模块。

java期末实验总结

java期末实验总结

java期末实验总结一、实验题目与内容本学期的Java课程实验项目分为两个部分,分别是学生信息管理系统和图书管理系统。

下面将对这两个实验进行总结。

1. 学生信息管理系统学生信息管理系统是一个简单的系统,用于管理学生的基本信息,包括学生的姓名、学号、性别、年龄和成绩等。

该系统的主要功能包括添加学生信息、查询学生信息、修改学生信息和删除学生信息。

2. 图书管理系统图书管理系统是一个全面的图书馆管理系统,用于管理图书的借阅、归还、查询和统计等功能。

该系统的主要功能包括添加图书信息、借阅图书、归还图书、查询图书信息、统计图书借阅量和统计图书逾期次数等。

二、实验过程与难点在完成实验的过程中,我首先对实验的要求进行了详细的分析和设计工作。

然后,根据功能要求逐步实现各个模块。

在实现的过程中,我遇到了一些难点和问题,下面分别进行总结。

1. 学生信息管理系统在学生信息管理系统的实现中,最大的困难是如何实现学生信息的增删改查功能。

为了解决这个问题,我首先设计了一个学生类,包括学生的姓名、学号、性别、年龄和成绩等属性。

然后,我设计了一个学生管理类,用于实现学生信息的增删改查功能。

在实现过程中,我使用了数组来保存学生信息,并通过遍历数组来实现信息的查找、修改和删除等操作。

2. 图书管理系统在图书管理系统的实现中,最大的困难是如何实现图书的借阅和归还功能。

为了解决这个问题,我首先设计了一个图书类,包括图书的名称、作者、出版社和数量等属性。

然后,我设计了一个图书管理类,用于实现图书的借阅和归还功能。

在实现过程中,我使用了集合来保存图书信息,并通过遍历集合来实现借阅和归还等操作。

三、实验结果与总结在完成实验的过程中,我不仅学到了许多Java编程的知识和技巧,还提高了自己的分析和设计能力。

最终,我成功地完成了学生信息管理系统和图书管理系统,并且实现了所有的功能要求。

通过本次实验,我对Java编程语言有了更深入的理解,对面向对象的思想有了更深刻的认识。

学生管理系统java作业

学生管理系统java作业

学生管理系统java作业学生管理系统是一个集合管理学生信息、课程信息、教师信息和成绩信息的软件系统。

在学校中,学生管理是一个非常重要的环节,它不仅可以帮助学校更好地了解学生情况,优化学生管理,也可以方便教师更好的掌握学生的学习情况,为学生的学习提供更好的保障。

本文将围绕在Java编程语言下实现学生管理系统的作业展开讲解。

一、学生管理系统设计1、需求分析首先,我们需要对学生管理系统进行一个需求分析,明确需要实现的功能和操作流程,定义系统的架构,以便我们进行具体的设计和编写。

(2)课程信息管理:包括课程的名称、编号、学分、教师编号等。

(4)成绩信息管理:包括学生学号、课程编号、成绩等。

2、系统设计学生管理系统的设计包括数据库设计和界面设计。

(1)数据库设计根据需求,我们可以设计四个表格:学生信息表、课程信息表、教师信息表和成绩信息表,分别存储相关的信息。

其中,学生信息表与成绩信息表之间存在一对多的关系,课程信息表和教师信息表之间也存在一对多的关系。

(2)界面设计在设计界面时,我们需要考虑到用户体验和易用性,保证用户方便的操作。

界面设计不仅需要美观,还需要易于操作和维护,设计人员需要根据实际需求进行选择和设计。

二、学生管理系统实现1、数据库设计我们可以选择使用MySQL数据库存储学生信息、课程信息、教师信息和成绩信息,以下是四个表格的具体设计。

(1)学生信息表表格名:stu_information字段名数据类型stu_id varchar(12)stu_name varchar(20)stu_gender varchar(2)class_name varchar(40)stu_native varchar(60)stu_tel varchar(20)(2)课程信息表表格名:course_information 字段名数据类型course_id varchar(12) course_name varchar(40) course_credit varchar(4) teacher_id varchar(12)(3)教师信息表表格名:tea_information字段名数据类型teacher_id varchar(12) teacher_name varchar(20) teacher_gender varchar(2) teacher_degree varchar(20) teacher_course varchar(40) teacher_tel varchar(20)(4)成绩信息表表格名:score_information字段名数据类型stu_id varchar(12)course_id varchar(12)score varchar(6)2、界面设计学生管理系统包括学生信息管理、教师信息管理、课程信息管理和成绩信息管理。

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程序设计大作业报告1. 引言本报告是关于Java程序设计大作业的报告,旨在总结和描述本次大作业的设计和实现过程。

本次大作业的主题是设计一个学生成绩管理系统。

2. 需求分析在开始设计和实现学生成绩管理系统之前,首先需要明确系统的需求。

本次大作业的学生成绩管理系统需要包含以下功能: - 学生信息管理:包括学生的基本信息和成绩信息。

- 成绩录入和查询:教师能够录入学生的成绩,并能够查询和修改学生的成绩信息。

- 成绩统计和分析:系统能够对学生的成绩进行统计和分析,例如计算平均分、最高分、最低分等。

3. 系统设计根据需求分析的结果,我们可以开始进行系统设计。

以下是学生成绩管理系统的设计步骤:3.1 类设计首先,我们需要定义学生类(Student)和成绩类(Grade)来管理学生和成绩信息。

学生类包含学生的基本信息,如学号、姓名、性别等,成绩类包含学生的各科成绩信息。

此外,我们还需要设计一个教师类(Teacher),用于录入和查询学生的成绩信息。

3.2 数据结构设计在设计学生成绩管理系统时,我们需要选择适合的数据结构来存储和管理学生和成绩信息。

例如,可以使用数组、链表或哈希表等数据结构来存储学生和成绩信息,根据具体需求进行选择。

3.3 用户界面设计学生成绩管理系统需要有一个用户友好的界面,方便教师进行操作。

可以使用图形界面(GUI)或命令行界面(CLI)来实现用户界面。

4. 系统实现在完成系统设计后,我们可以开始实现学生成绩管理系统。

4.1 学生类实现首先,我们需要实现学生类。

学生类应该包含学生的基本信息和成绩信息的操作方法,例如获取学生的基本信息、添加和修改成绩等。

4.2 成绩类实现接下来,我们需要实现成绩类。

成绩类应该包含学生的各科成绩信息,并提供计算平均分、最高分、最低分等操作方法。

4.3 教师类实现然后,我们需要实现教师类。

教师类应该包含录入和查询学生成绩的操作方法,例如录入学生成绩、查询学生成绩等。

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数据库管理系统作为开发工具,通过对学生信息管理系统进行可行性分析、需求分析和设计逐步将一个学生信息管理系统的开发过程呈现出来。

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

JA V A学生管理系统大作业
课程名称:JA V A编程基础
题目:学生信息管理系统
专业:计算机软件
班级:计算机软件121班
学号:8000612030
学生姓名:李俊楠
完成人数:1人
起讫日期:第十六周至第十八周
任课教师:龚根华职称:副教授
部分管主任:
完成时间:2015-1-2
目录 ------------------------------2 课题设计内容------------------------------3 程序功能简介
需求分析--------------------------------------------------3 总体设计---------------------------------------------------3 模块详细设计---------------------------------------------------4 数据库设计 ------------------------------5 主体内容 ------------------------------6 心得体会 -----------------------------11 参考书籍 -----------------------------12
一:课题设计内容
学生管理系统
学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。

随着在校大学生人数的不断增加,教务系统的数量也不断的上涨。

学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。

并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。

然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。

所以如何自动高效地管理信息是这些年来许多人所研究的。

二:程序功能简介
2.1 需求分析
本系统需要实现的功能:
(1)、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。

(2)、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。

2.2 总体设计
学生信息管理系统主要包括管理员和学生两大模块。

管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。

用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。

系统总体结构如图所示。

总体结构图
2.3 模块详细设计
1、学生信息管理模块
学生信息管理模块包括增加、删除、修改、查询、显示全部等。

具体的结构图如图所
示。

学生信息管理模块结构图
2、课程信息管理模块
课程信息管理模块包括增加、删除、修改、查询、显示全部等。

具体的结构图如图所示。

课程信息管理模块结构图
3、选课信息管理模块
选课信息管理模块包括查询、显示全部等。

具体的结构图如图所示。

选课信息管理模块结构图
4、成绩信息管理模块
成绩信息管理模块包括修改成绩、查询、显示全部等。

具体的结构图如图所示。

成绩信息管理模块结构图
5、用户信息管理模块
用户信息管理模块包括修改、查询、显示全部等。

具体的结构图如图所示。

用户信息管理模块结构图
三:数据库设计
在数据库student中共有4张数据表:s(学生信息表)、c(课程信息表)、sc(选课信息表)、unpw(用户信息表),下面定义每张表的字段名称和数据类型。

字段名称数据类型描述
sno char (10) 学号,关键字
sn char (20) 姓名
sa int 年龄
ss char (10) 性别
sd char (10) 院系
字段名称数据类型描述
cno char (10) 课程号,关键字
cn char (30) 课程名
pcno char (10) 先行课程号
字段名称数据类型描述
sno char (10) 学号,关键字
cno char (10) 课程号,关键字
g int 成绩
unpw(用户信息表)
四:主体内容
4.1概述:
本统提供了学生信息管理中常见的基本功能,主要包括管理员和学生两大模块。

管理员的主要功能有对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。

学生的主要功能有对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。

4.2 分析与设计文档:
SimpleStudentManager 主函数类
DLFrame 登陆界面类
ManagerFrane 管理员界面类
StudentFrame 学生界面类
SM 学生信息管理的类
SAdd 用于学生信息管理中增加或修改某条记录的界面的类
SSelect 用于学生基本信息管理中查询时输入学号的界面的类
CM 课程信息管理的类
CAdd 用于课程信息管理中增加或修改某条记录的界面的类
CSelect 用于课程信息管理中查询时输入课程号的界面的类
SCM 选课信息管理的类
SCSelect 用于选课信息管理中查询时输入学号的界面的类
GM 成绩信息管理的类
GAdd 用于成绩信息管理中修改成绩的界面的类
GSelect 用于成绩信息管理中查询时输入学号的界面的类
PM 用户信息管理的类
UAdd 用于用户信息管理中修改密码的界面的类
PSelect 用于用户信息管理中查询时输入用户名的界面的类
StudentS 用于学生信息查看时输入学号的界面的类
StudentSelect 用于成绩信息查看时输入学号的界面的类
PPM 个人信息管理的类
PPSelect 用于个人信息管理查询时输入用户名的界面的类
4.3程序说明:
操作环境:SQL Server 2005,WINDOWS XP,eclipse
登陆用户名和密码:管理员账号密码为admin admin
学生的账号密码为自己的学号(前端显示自己的学号所对应的学科)
此程序登陆界面分为管理员登陆和学生登陆,这样可以做到保密性和安全性,方便学生查询和管理员的管理。

登陆主界面:
一:管理员角色登陆:以管理员角色登陆后界面
学生信息管理功能的界面
课程信息管理功能的界面
选课信息管理功能的界面
成绩信息管理功能的界面
用户信息管理功能的界面
二:学生角色登陆:以学生角色登陆后界面
学生信息查看功能的界面
成绩信息查看功能的界面
个人信息管理功能的界面
五:心得体会
通过这次实验报告大作业,巩固了这一个学期对于JAVA 的学习,更深刻的理解了JAVA的语句和编程思想,用JAVA 和数据库相互关联可以做出很多已知的熟悉的程序,可以做出一个完整的程序来使用,并且能更加熟练的运用数据库中的操作,可谓一举两得。

参考书籍:
《java编程思想》《JAVA嵌入式编程》。

相关文档
最新文档