JSP+SQL基于JSP的学生信息管理系统(源代码+论文+答辩PPT)

news/2024/10/30 13:32:17/

随着学校规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长。面对如此庞大的信息量,开发学生信息管理系统来提高学生管理工作的效率就成为必然。通过该系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。

本文主要介绍了学生信息管理系统的主要任务,阐述了开发该系统用到的关键技术,如采用B/S结构,使用JSP编程、利用SQLServer2000建立数据库、采用HTML,JavaScript等编程技术。

本系统是采用B/S模式进行开发的,系统的用户权限有两种:学生和系统管理员,不同权限用户登入到不同的操作界面。该系统主要由学籍维护、选课管理、成绩查询等功能模块组成,本文具体介绍了各功能模块所包含的小模块的功能,学籍维护模块主要是对学生的基本信息进行添加、查询、修改、删除;选课管理模块主要是对选修的课程进行添加、删除、统计选修人数,以及学生进行选课和更改选课;成绩查询模块主要是对必修课进行添加、删除、录入成绩,以及学生进行查询成绩等功能。

第一章  绪论

1.1 选题的背景和意义

 随着我国教育产业化的飞速发展,社会对教育水平和教学管理软硬件的要求日益提高,尤其是对一个学校能够具有一整套完善的教学管理软件提出了更多的要求。为了适应这种形式,教育系统尤其是大学不仅首先要有坚实的硬件基础,还要有一整套完善的教学管理软件管理系统。而要实现这一功能,就要求学校管理者配备一套高效的教育管理网络系统,以便在学校内实施良好的一整套完善的管理且以最快地速度响应教师和学生的需求,及时为他们提供服务,为他们提供一个高效、便捷的环境。学生信息管理系统是校园网络中一个重要的应用系统,它大大改善了学校教学、科研与管理的基础环境,在一定程度上反映出学校管理现代化的水平。

随着国家对于教育的重视逐渐加大,学校正向着大型化、规模化发展,而对于大中型学校,跟学生信息管理有关的信息随之急剧增加。在这种情况下单靠人工来处理员工的工资不但显得力不从心,而且极容易出错。该系统就是设计一个学生信息数据库管理系统,由计算机代替人工执行一系列诸如增加新学生,删除旧学生,学生信息修改,查询,维护及打印等操作。这样就使学生部门管理人员可以轻松快捷地完成学生信息管理的任务。

1.2 国内外研究现状及发展趋势

    管理信息系统(MIS)是进行信息的采集、存储、加工、维护和使用的系统。它是随着管理科学和技术科学的发展而形成的。MIS的发展与计算机网络技术的发展是紧密相关的,随着Internet/Intranet技术的广泛应用,MIS的体系结构也发生很大的变化,从以往基于C/S结构的数据访问及安全体系发展到当前的基于B/S结构体系。学生信息管理系统是典型的管理信息系统(MIS),其系统开发主要包括数据库的规划设计与维护和客户端应用程序的开发两个方面。对于前者要求建立起的数据库具有完整性和一致性,且具有一定的数据安全性,而对于后者则要求程序界面友好、功能完备,容易使用,具有流行软件的操作习惯等特点。

随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长。面对庞大的信息量,有必要开发学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。

鉴于上述管理信息系统的日趋成熟和收集信息的情况,该学生信息管理系统充分运用MIS的总体思想,综合应用了B/S模式、SQL Server、JSP等技术,并具有学生对自己所需信息的操作和管理员对系统进行管理等功能,很好的将教学质量提升了,真正完好地达到服务于教学计划

1.3 本课题研究内容

本课题研究内容为学生信息管理系统,信息管理系统提供了强大的学生档案管理管理功能,方便管理员对学生信息的添加、修改、删除、查询等操作。本系统开发的总体任务是实现学生信息管理的系统化、规范化、自动化、达到提高学生信息管理效率的目的。

主要内容包过:

(1) 学籍维护模块:

       1. 管理员可以对学生进行添加(包过基本信息)、删除、查看、修改信息。

       2. 学生可以查看自己的基本信息,添加、修改详细个人信息。

(2) 选课管理模块:

       1. 管理员可以对选修课程进行添加、删除、统计每门课程选修的人数以及查找

          单个学生所选的课程。

       2. 学生可以查看所有选修课程并进行选修以及查看自己所选课程并进行修改。

(3)  成绩管理模块:

       1. 管理员可以进行添加、删除、修改基本课程,录入、修改学生基本课程成绩,

          查找单个学生的所有成绩以及查找单门基础课程所有学生的成绩。

       2. 学生可以查询自己的基础课程成绩。   

学生信息管理系统主要提供方便高效的管理功能以及网上的信息查阅平台,学生可以通过该系统查阅相关信息、选课及修改相关信息,管理员可以管理所有信息。该系统使用JSP编程语言,Microsoft SQL2000数据库以及Apache Tomcat作为开发平台,运用软件工程思想方法,对系统进行快速有效开发, 系统分为以下几个方向:

(1)用户管理。实现对不同用户分配不同的权限。

(2)数据库连接。使程序能访问数据库,并能对其中的数据进行操作。

(3)数据录入。通过程序能实现往数据库中增加记录。

(4)数据查询。通过各种查询组合实现对数据的精确选取。

(5)数据维护。包括对数据的修改及删除操作。

    系统依据Apache Tomcat构架的运行平台,利用Dreamweaver 进行整体框架的设计,连接数据库,最后进行全面的系统调试而完成。

1.4 本课题研究的目标及主要特色

     一、研究目标:建立一个B/S层结构的学生信息管理系统,实现管理员对学生信息的获取、统计等各环节的计算机管理。

二、主要特点:

1、实现学生信息管理的基本要求,对学生学习进行完善管理。

2、界面友好,简单易用。

3、系统操作简单,功能强大,易于维护。

第二章  系统设计使用技术介绍

 2.1 JSP(Java Server Pages)和Java Bean技术介绍

2.1.1 JSP概述

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。

2.1.2 JSP工作原理

JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个servlet。而这个引擎本身也是一个servlet,在JSWDK(java服务器网络开发包)中,它就是JspServlet。JSP引擎先把该JSP文件转换成一个Java源文件,在转换时如果发现jsp文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息;如果转换成功, JSP引擎用javac把该Java源文件编译成相应的class文件。然后创建一个该SERVLET的实例,该SERVLET 中的jspInit()方法被执行,jspInit()方法在servlet的生命周期中只被执行一次。然后jspService()方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间.但应该注意多线程的编程限制,由于该servlet始终驻于内存,所以响应是非常快的。 如果.jsp文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的servlet,并继续上述处理过程。 虽然JSP效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延迟。 此外,如果在任何时候如果由于系统资源不足的原因,JSP引擎将以某种不确定的方式将servlet从内存中移去。当这种情况发生时jspDestroy()方法首先被调用, 然后servlet实例便被标记加入"垃圾收集"处理。 jspInit()及jspDestory()格式如下:可在jspInit()中进行一些初始化工作,如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在jspDestory()中释放相应的资源。 

2.1.3  JavaBean技术介绍

JavaBean是一种软件组件模型,它与其他软件对象相互作用,决定如何建立和重用软件组件,这些可重用软件组件被称为Bean。Bean使用现有的Bean帮助开发新的计划,进而建立它们之间的关系。

JavaBean是基于Sun公司的JavaBean规范的,可在编程工具中被可视化处理的可复用的软件组件。因此JavaBean具有4个基本特性:

  1. 独立性;
  2. 可重用性;
  3. 在可视化开发工具中使用

用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。这样JavaBean就变成了一个组件了,达到代码的重用性和隔离性,在调用JavaBean的时候,不用关心JavaBean的实现过程,只要知道方法的功能、输入参数和输出参数就可以了。

2.2 B/S体系结构介绍

在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。

采用该结构软件的优势在于:

(1)无须开发客户端软件,维护和升级方便;

(2)可跨平台操作,任何一台机器只要装有WWW浏览器软件,均可作为客户机来访问系统;

(3)具有良好的开放性和可扩充性;

(4)可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。

这种三层结构层与层之间相互独立,任何一层的改变不影响其他层的功能。

三层B/S结构将应用的三个部分明确的分开:表示部分、应用逻辑部分、数据访问部分。这三个部分在逻辑上独立的分开,分别加以实现,称之为:客户端、应用服务器、数据库服务器。而在客户端和应用服务器之间加入一个WEB服务器,就形成了一种特殊的B/S结构:Browser/Server,只在客户端安装浏览器软件即可。客户端使用Internet Explore时,就可以让Internet Explore变成为能够处理数据的应用系统。

由于这种模式是提供一个跨平台的、简单一致的应用环境,实现了开发系统与应用系统的分离,因此避免了为多重不同的操作系统开发同一应用系统的重复操作,便于用户群的扩展、变化以及应用系统的管理。

因此该结构在管理信息系统开发领域中获得飞速发展,成为应用软件开发中一种流行的体系结构.所以在开发本系统时采用这种模式

未完待续...


http://www.ppmy.cn/news/58700.html

相关文章

【web基础】html常用标签+作品展示

前言 小亭子正在努力的学习编程,接下来将开启javaEE的学习~~ 分享的文章都是学习的笔记和感悟,如有不妥之处希望大佬们批评指正~~ 同时如果本文对你有帮助的话,烦请点赞关注支持一波, 感激不尽~~ 说明:此部分是java web基础知识&a…

IDEA部署tomcat项目

文章目录 只是部署一下看到这里即可war和war exploded的区别warwar exploded update的动作update resourcesupdate classes and resourcesredeployrestart server 解决了拿到了一个tomcat项目后如何将它部署到IDEA里面的问题。 file->open 选中pom.xml并open as project …

【UE】坦克开火

1. 添加开火的操作映射 2. 创建一个actor蓝图类,添加一个静态网格体组件 添加发射物移动组件 设置初始速度和最大速度 发射物重力范围设为0.05 添加音频组件 设置音效 3. 打开炮管的静态网格体 在插槽管理器中创建插槽 将创建的插槽放到炮口位置 4. 打开“BP_BaseT…

【SQL】面试篇之排序和分组练习

1587 银行账户概要 II 1587题目 # Write your MySQL query statement below select name, balance from (select u.account, name, sum(amount) as balancefrom Users uleft join Transactions ton u.account t.accountgroup by u.account ) temp where balance > 10000总…

rockchip rk3568 openwrt修改根文件系统分区

rk3568的openwrt根文件系统分区大小如何修改? 1、rootfs大小取决于rk356x_config的配置,默认CONFIG_TARGET_ROOTFS_PARTSIZE512,如果需要修改2G,CONFIG_TARGET_ROOTFS_PARTSIZE2048,单位Mb。 2、修改parameter.txt。 …

【Spring Security】| 从0到1编写一个权限认证 | 学会了吗?

目录 一. 🦁 认证前的工作1. 添加依赖2. 创建数据库表(数据自行添加)3. 编写用户实体类4. 编写Dao接口5. 在启动类中添加 MapperScan 注解6. 继续添加各种包 二. 🦁 自定义逻辑认证原理—UserDetailsService三. 🦁 数据…

6---N字形变化

将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: P A H N A P L S I I G Y I R 之后,你的输出需要从左往右逐…

生物信息学中---数据集不平衡的处理方法

1.NearMiss: NearMiss 是 Mani 等人根据数据分布特征,基于 KNN 算法提出的欠采样方案, 对多数类样本利用随机欠采样来达到数据平衡。 根据不同数据采样的距离,可以分为三类: NearMiss-1、 NearMiss-2 和 NearMiss-3。…