基于JSP和MYSQL实现的学生信息管理系统

基于JSP和MYSQL实现的学生信息管理系统 摘 要 进行学生信息管理是学校的重要工作之一,传统的学生信息管理由于是手工操作,工作量大且容易出错,随着计算机和网络技术的迅速发展

本文包含相关资料包-----> 点击直达获取<-------

基于JSP和MYSQL实现的学生信息管理系统

摘 要

进行学生信息管理是学校的重要工作之一。传统的学生信息管理由于是手工操作,工作量大且容易出错。随着计算机和网络技术的迅速发展,越来越多的院校都拥有了自己的学生信息管理系统,而采用B/S架构的学生信息管理系统进行学生信息的管理则是其趋势。

Java web技术的基础就是核心Java平台,它有许多优点,例如:“编写一次、随处运行”的特性、方便存取数据库的JDBC API技术以及能够在Internet应用中保护数据的安全模式等等。J2EE体系结构提供中间层集成框架用来满足高可用性、高可靠性以及可扩展性的应用需求,为搭建具有可伸缩性、灵活性、易维护性的网络应用系统提供了良好的机制。

本文基于Java web平台技术、采用Browser/Server结构,设计并实现了该系统的简化版学生信息管理系统。

论文首先介绍了系统开发涉及的相关技术及开发平台,主要围绕学生信息管理系统实现的相关技术和系统的体系结构,介绍了学生信息管理系统的总体分析与设计,包括需求分析、功能模块分析和数据库设计。最后,利用Jsp+Servlet+JavaBean模式对简单学生信息管理子系统进行了实现,并作了详细描述,主要采用图片与代码结合的方式详细地叙述了系统功能的实现。

关键词 :学生信息管理系统,Java web,Servlet,JSP

一、绪论

1.1 课题背景及现状

随着信息技术在学生信息管理上的广泛应用,学生信息管理系统的实施在技术上已逐步成熟。学生信息的管理对于学校管理者来说至关重要,是学校不可缺少的数据资源。特别是近几年,学生数量的增多使学校的管理面临更大压力和挑战。目前大多数学校仍然采用传统的人工管理方式,对学生信息的管理还停留在纸介质的基础上,这既不易于规范化,管理效率也不高,浪费了大量人力物力财力。

作为计算机应用的一部分,使用计算机进行学生信息的管理,有着手工管理无法比拟的优点。本系统针对学校及学生的信息特点,可以对学生信息进行高效率、规范化的管理,大大减轻了人员的工作负担,并避免了人工管理时容易出现的错误。

1.2 开发环境及工具介绍

1.2.1 操作系统及配置

  • Windows 10 专业版 x64位

  • Pentium(R) Dual-Core CPU

  • 2GB

1.2.2 编译环境

1.2.2.1 Eclipse Neon Release (4.6.0)

Eclipse是著名的跨平台开源集成开发环境(IDE)。最初主要用来Java语言开发,目前亦有人通过插件使其作为C++、Python、PHP等其他语言的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较佳的灵活性,所以许多软件开发商以Eclipse为框架开发自己的IDE。

1.2.2.2 JetBrains WebStorm 2016.2.4

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

1.2.2.3 Apache Tomcat v8.0

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

1.2.2.4 MySQL Workbench 6.3 CE

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS应用软件之一。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

1.3 编程语言

  • Java

  • html

  • css

  • javascipt

二、需求分析

2.1 面向人群

学校的学生信息管理人员以及老师和学生。

2.2 总体功能描述

本系统利用Java Web技术实现了学生信息管理系统,具有简单的学生信息管理功能。

实现了以下功能模块:

  • 院系信息管理模块

  • 学生信息管理模块

  • 课程信息管理模块

  • 成绩管理模块

并能根据登入用户的权限自动展示相关操作。

2.3 功能描述

2.3.1 用户登录系统实现功能

  • 查看全部用户,用页面返回结果

  • 查看全部院系,用页面返回结果

  • 查看全部学生信息,用页面返回结果

  • 查看全部课程信息,课程平均分,课程不及格率,用页面返回结果

  • 查看全部成绩,用页面返回结果

2.3.2 管理员登录系统实现功能

  • 对用户进行增删改查,用页面返回处理以及查询结果

  • 对院系进行增删改查,用页面返回处理以及查询结果

  • 对学生进行增删改查,用页面返回处理以及查询结果

  • 对课程进行增删改查,并可以查看平均分、不及格率和成绩排名,用页面返回处理以及查询结果

  • 对成绩进行增删改查,用页面返回处理以及查询结果

三、总体设计

3.1 运行环境

  • 硬件环境 :Windows 7 及以上

  • 处理器 :Intel Pentium及以上

  • 内存 :2G以上

  • 浏览器 :IE9 以上及Chrome,FireFox,Safari等现代浏览器

3.2 基本处理流程

3.2.1 用户登录流程图

3.2.2 子模块操作处理流程图

3.3 模块结构

3.3.1 系统结构图

3.3.2 功能模块简介

  • 用户管理模块 :对用户的信息进行增删改查

  • 院系管理模块 :对院系的信息进行增删改查

  • 班级管理模块 :对班级的信息进行增删改查

  • 学生管理模块 :对学生的基本信息进行增删改查

  • 课程管理模块 :对课程进行增删改查,并能查看平均分,不及格率,成绩排名

四、详细设计

4.1 子管理模块设计

4.1.1 程序流程图

4.1.2 算法描述

  • 用户在前台操作,向后台发送带参数的GET请求

  • AdminDao.java捕捉到请求,根据类型分发到不同处理方法中

  • 处理方法中实例化XXXDao对象并调用DBUtils.java提供的方法连接和操作数据库

  • 用ajax向前台user.jsp或者admin.jsp发送操作后的数据

4.2 关键类说明

  • LoginServlet.java :负责处理用户登录操作

  • RegisterServlet.java :负责处理用户注册操作

  • AdminDao.java :一个Servlet文件,接收前台发送的操作指令

  • XXXDao.java :封装了关于该信息在数据库中增删改查的方法

  • DBUtils.java :封装了获取数据库连接和释放数据库连接的方法

  • Admin.jsp :管理员操作界面

  • User.jsp :用户操作界面

五、数据库设计

5.1 概念结构设计

E-R图

本数据库有实体集:User(用户),Department(院系),Class(班级),Student(学生),Course(课程)

它们之间的联系有:

  • 1对1 :Student和User

  • 1对多 :Department和Class,Class和Studen

  • 多对多 :Course和Student

5.2 逻辑结构设计

关系模式(下划线为主键,#表示外键)

  • User(Username,Password,Level)

  • Department(Dno,Dname)

  • Class(Clno,Clname,#Dno)

  • Student(Sno,Sname,Ssex,Sage,#Clno)

  • Course(Cno,Cname,Cteacher,Ccredit)

  • SC(#Sno,#Cno,Grade)

5.3 物理结构设计

表汇总

表名 功能说明
User 账号
Department 院系
Class 班级
Student 学生
Course 课程
SC 成绩

User表(用户表)

列名 数据类型(精度范围) 空/非空 约束条件
Username Char(12) 非空
Password Char(12)
Level Char(6) 用户or管理员

Department表(院系表)

列名 数据类型(精度范围) 空/非空 约束条件
Dno Char(12) 非空
Dname Char(12)

Class表(班级表)

列名 数据类型(精度范围) 空/非空 约束条件
Clno Char(12) 非空
Clname Char(12)
Dno Char(12)

student表(学生表)

列名 数据类型(精度范围) 空/非空 约束条件
Sno Char(12) 非空
Sname Char(8)
Ssex Char(2) ‘男’or‘女’
Sage Smallint(6) >0
Clno Char(12)

SC表(成绩表)

列名 数据类型(精度范围) 空/非空 约束条件
Sno Char(12) 非空
Cno Char(12) 非空
Grade Smallint(6) 0~100

六、编码与测试

6.1 操作界面截图

登录界面

登录失败界面

管理员操作界面

用户操作界面

新增信息界面

删除信息界面

修改信息界面

操作提示界面

6.2 调试过程

我在调试这些功能时选择了按操作类型逐项调试,进行增删改查的调试,过程持续地比较久。在调试中出现了点击修改信息完成后,数据库中未进行更新的错误,后来经分析,是由于发送的请求里缺少了一些属性,导致操作失败。有的时候会出现用户注册信息为空也能注册成功并登录,后来给前台输入信息时加了js输入限制避免了此类错误。

七、实验总结

本次实验遇到了许多问题,由于我对Servlet和Jsp以及前后台交互不熟悉导致前期进度相对缓慢,并且在代码上出现了很多重复的地方,导致了代码比较混乱,功能重复度太高,这个地方我还有很大的改进空间。在编程中,因为我采用了Ajax进行操作界面的异步刷新,而我不太会编写javascript代码,所有在这方面实现起来比较吃力,最后通过从图书馆借阅资料,百度解决方案,观看Java Web教学视频还是比较顺利地解决这个问题。其次,在本系统的界面设计上,我也琢磨了比较长的时间,经过不断地试错修正,利用所学的Html5以及CSS 3设计出了一个较为美观的界面。

虽然在这次课程设计中,我遇到了许许多多的问题,但在这几天的时间里,我还是实现了学生信息管理系统的大致功能。虽然过程比较辛苦,但通过这次的学习与实践,我对Java Web编写动态页面更加熟悉了,也收获了很多解决此类问题的经验,相信面对以后的课程设计或者实际开发项目,我能更好地去处理解决它。

参考文献

  • 基于B/S模式和JSP技术的教师办公管理系统的设计与实现(华东师范大学·包子建)
  • 基于JSP技术动态教学管理系统设计与实现(电子科技大学·董豪)
  • 基于J2EE的学生信息管理系统(电子科技大学·钟海琴)
  • 基于Web Services的学生数据共享的研究(东北大学·杨川)
  • 高校学生信息综合管理系统开发实践(电子科技大学·窦继惠)
  • 基于JSP的校园网站的设计与实现(吉林大学·张帆)
  • 基于JSP技术动态教学管理系统设计与实现(电子科技大学·董豪)
  • 基于J2EE的学生信息管理系统(电子科技大学·钟海琴)
  • 基于JSP的校园网站的设计与实现(吉林大学·张帆)
  • 基于Web Services的学生数据共享的研究(东北大学·杨川)
  • 基于MVC和ExtJS的高校学生信息管理系统的设计与实现(大连理工大学·顾立业)
  • 浙江横店影视职业学院学生管理信息系统的设计与实现(电子科技大学·杨韬)
  • 基于Web Services的学生数据共享的研究(东北大学·杨川)
  • 四川文理学院学生管理系统的设计与实现(电子科技大学·贺建英)
  • 基于J2EE的学生信息管理系统(电子科技大学·钟海琴)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码海岸 ,原文地址:https://bishedaima.com/yuanma/35456.html

相关推荐

发表回复

登录后才能评论