基于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

相关推荐

  • 基于Springboot和Mysql实现的大学生招聘网站系统

    基于Springboot和Mysql实现的大学生招聘网站系统 1,项目简介 1,1 系统研究背景 伴随着中国经济的飞速发展,城市化进程的加快,求职者队伍的不断壮大
    2024年05月14日
    69 1 9
  • 基于Java+SSH+mysql的实验课程管理系统

    这是一个🔥🔥基于SSH+mysql的实验课程管理系统🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 实验课程管理系统开发技术栈为SSH项目,可以作为毕业设计课程设计作业基于Java+SSH框架+mysql数据库实现一个学生实验课程管理系统
    2024年05月23日
    15 1 2
  • 基于Python实现机器学习相关技术

    一,线性回归和逻辑回归 (一)什么是机器学习 利用大量的数据样本,使得计算机通过不断的学习获得一个模型,用来对新的未知数据做预测, 有监督学习(分类
    2024年05月14日
    1 1 1
  • 基于SpringBoot框架的技术的智慧生活商城

    这是一项利用🔥🔥SpringBoot框架构建的智慧生活购物中心的开发项目,源代码提供,项目采用Java编程语言,结合SpringBoot和Vue技术栈进行开发,适用于Idea或Eclipse集成开发环境
    2024年05月23日
    5 1 1
  • 基于Python实现简易C语言编译器

    参考文献 基于Python的非结构化数据检索系统的设计与实现(南京邮电大学·董海兰) 山西思软科技实训管理系统的设计与实现(大连理工大学·李勇兵) 基于C#的甜品店现金交易系统的设计与实现(电子科技大学·张晟) 基于Web系统的计算机编程语言书籍交流系统设计与开发(吉林大学·刘峰兵) 基于动易网的B/S结构学校网站设计与实现(吉林大学·於月红) 在线考试系统的设计与实现(山东大学·张莉) 基于ASP
    2024年05月14日
    3 1 1
  • 基于Struts2框架的用户登录模块

    Struts 基础应用——基于 Struts2 框架的用户登录模块 一,基础实验——Struts2 框架搭建 (一)实验目的 掌握 Struts2 应用的基本开发步骤和常规配置; 观察表单参数与 Action 属性的赋值关系
    2024年05月14日
    12 1 5
  • Java+SSM学生公寓宿舍寝室管理系统

    学生公寓宿舍寝室管理系统是一种针对学生宿舍管理的软件系统,随着教育行业的发展,学生宿舍管理变得日益复杂,需要一种高效,便捷的管理方式来提高管理效率和服务质量,基于SSM框架与MySQL技术的Java+SSM学生公寓宿舍寝室管理系统
    2024年05月07日
    4 1 2
  • 使用 python 进行音频处理

    使用 python 进行音频处理 实验目的及实验内容 (本次实验所涉及并要求掌握的知识;实验内容;必要的原理分析) 实验目的: 使用 python 进行音频处理 实验内容: 学习音频相关知识点
    2024年05月14日
    3 1 1
  • 基于Python和Mongodb实现的珠宝管理系统

    基于Python和Mongodb实现的珠宝管理系统 一,需求分析 为了能让非关系数据库在日常系统中应用,让更多用户体验到 Mongdb 带来的便利,并且 MongoDB 能在每秒上万条数据的并发写入
    2024年05月14日
    8 1 2
  • 基于javaweb的记账系统、java+ssh+mysql实现

    这是一个🔥🔥基于javaweb的记账系统,ssh+mysql实现🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 记账系统开发技术栈为SSH项目
    2024年05月23日
    5 1 1

发表回复

登录后才能评论