基于JSP的学生信息管理系统-论文参考_第1页
基于JSP的学生信息管理系统-论文参考_第2页
基于JSP的学生信息管理系统-论文参考_第3页
基于JSP的学生信息管理系统-论文参考_第4页
基于JSP的学生信息管理系统-论文参考_第5页
已阅读5页,还剩45页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE45基于JSP的学生信息管理系统摘要随着学校规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长。面对如此庞大的信息量,开发学生信息管理系统来提高学生管理工作的效率就成为必然.通过该系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。本文主要介绍了学生信息管理系统的主要任务,阐述了开发该系统用到的关键技术,如采用B/S结构,使用JSP编程、利用SQLServer2000建立数据库、采用HTML,JavaScript等编程技术。本系统是采用B/S模式进行开发的,系统的用户权限有两种:学生和系统管理员,不同权限用户登入到不同的操作界面.该系统主要由学籍维护、选课管理、成绩查询等功能模块组成,本文具体介绍了各功能模块所包含的小模块的功能,学籍维护模块主要是对学生的基本信息进行添加、查询、修改、删除;选课管理模块主要是对选修的课程进行添加、删除、统计选修人数,以及学生进行选课和更改选课;成绩查询模块主要是对必修课进行添加、删除、录入成绩,以及学生进行查询成绩等功能.关键字:学生信息管理,B/S,JSP,Script,SQLServer2000。BasedonJSPstudentinformationmanagementsystemAbstractAlongwiththeschoolscaleunceasingexpansion,thestudentquantitysharpgrowth,concernedstudent’seachkindofinformationalsobecomesdoublesthegrowth.Facingthesohugeinformationcontentdevelopsthestudentinformationmanagementsystemtoenhancethestudentsupervisoryworktheefficiencytobecomeinevitably.Throughthissystem,mayachievetheinformationthestandardmanagement,thesciencestatisticsandthefastinquiry,thusreducedmanagementaspectworkload。Thisarticlemainlyintroducedthestudentinformationmanagementsystemprimarymission,elaborateddevelopsessentialtechnologywhichthissystemuses,likeusestheB/Sstructure,usestheJSPprogramming,usingtheSQLServer2000establishmentdatabase,usesHTMLandJavaScript,andsoonprogrammingtechnology。ThissystemusestheB/Spatterntocarryonthedevelopment;thesystemuserjurisdictionhastwokinds:Thestudentandthesystemmanager,thedifferentjurisdictionuserrecordstothedifferentoperationcontactsurface.Thissystemmainlybytheschoolregistermaintenance,choosesfunctionmoduleandsoonclassmanagement,resultinquirytobecomposed,thisarticlespecificallyintroducedvariousfunctionsmodulecontainsthesmallmodulefunction,theschoolregistermaintenancemodulemainlyiscarriesontheincrease,theinquiry,therevision,andthedeletiontostudent'sbasicinformation;Choosestheclassadministrationmodulemainlyistothecurriculumwhichtakesasanelectivecarriesontheincrease,thedeletion,thestatisticstakesasanelectivethepopulation,aswellasthestudentcarriesonchoosestheclassandre-electstheclass;Theresultinquirymodulemainlycarriesontheincrease,thedeletion,theinputresulttotherequiredcourse,aswellasthestudentcarriesonfunctionandinquiryresultandsoon.目录TOC\o”1—3”\h\z\uHYPERLINK\l”_Toc166656459"摘要ﻩPAGEREF_Toc166656459\hIHYPERLINK\l”_Toc166656460”AbstractﻩPAGEREF_Toc166656460\hIIHYPERLINK\l”_Toc166656462"引言ﻩ66656462\h1HYPERLINK\l”_Toc166656463"第一章绪论ﻩPAGEREF_Toc166656463\h2HYPERLINK\l”_Toc166656464"1。1选题的背景和意义ﻩPAGEREF_Toc166656464\h2HYPERLINK\l"_Toc166656465”1.2国内外研究现状及发展趋势 PAGEREF_Toc166656465\h2HYPERLINK\l”_Toc166656466”1。3本课题研究内容ﻩPAGEREF_Toc166656466\h2HYPERLINK\l”_Toc166656467”1.4本课题研究的目标及主要特色ﻩPAGEREF_Toc166656467\h3HYPERLINK\l”_Toc166656468"第二章系统设计使用技术介绍 PAGEREF_Toc166656468\h4HYPERLINK\l”_Toc166656469”2。1JSP(JavaServerPages)和JavaBean技术介绍ﻩPAGEREF_Toc166656469\h4HYPERLINK\l”_Toc166656470"2.1。1JSP概述ﻩPAGEREF_Toc166656470\h4HYPERLINK\l”_Toc166656471"2.1.2JSP工作原理ﻩPAGEREF_Toc166656471\h4HYPERLINK2。2B/S体系结构介绍ﻩPAGEREF_Toc166656473\h5HYPERLINK\l”_Toc166656474”2。3JavaScrit技术介绍ﻩPAGEREF_Toc166656474\h6HYPERLINK\l"_Toc166656475"2。4SQLServer2000数据库ﻩPAGEREF_Toc166656475\h6HYPERLINK\l"_Toc166656476"2.4.1数据库介绍ﻩPAGEREF_Toc166656476\h6HYPERLINK2.4.3JDBC数据访问接口 PAGEREF_Toc166656478\h7HYPERLINK\l"_Toc166656479"第三章系统设计ﻩPAGEREF_Toc166656479\h9HYPERLINK\l"_Toc166656480”3。1需求分析ﻩPAGEREF_Toc166656480\h9HYPERLINK\l"_Toc166656481”3。1.1运行环境ﻩPAGEREF_Toc166656481\h9HYPERLINK\l”_Toc166656482"3.2系统总体设计ﻩPAGEREF_Toc166656482\h9HYPERLINK\l"_Toc166656483"3.2.1系统目标设计ﻩPAGEREF_Toc166656483\h9HYPERLINK4.3实体及ER图ﻩPAGEREF_Toc166656491\h16HYPERLINK\l”_Toc166656492"4.3.1实体介绍ﻩPAGEREF_Toc166656492\h16HYPERLINK\l"_Toc166656493”4。3.2实体的ER图以及各实体之间联系的ER图 PAGEREF_Toc166656493\h16HYPERLINK\l"_Toc166656494”4.4数据库表的关系图ﻩPAGEREF_Toc166656494\h19HYPERLINK\l”_Toc166656495”4.5数据库表的视图 PAGEREF_Toc166656495\h20HYPERLINK\l"_Toc166656496”4。6数据库连接ﻩPAGEREF_Toc166656496\h20HYPERLINK\l"_Toc166656497”第五章系统具体实现ﻩPAGEREF_Toc166656497\h23HYPERLINK\l"_Toc166656498”5。1登入界面ﻩPAGEREF_Toc166656498\h23HYPERLINK\l"_Toc166656499"5.2学生界面ﻩPAGEREF_Toc166656499\h25HYPERLINK5。3学生界面功能实现 PAGEREF_Toc166656500\h26HYPERLINK\l”_Toc166656501”5.3.1查看公告页面ﻩPAGEREF_Toc166656501\h26HYPERLINK\l"_Toc166656502"5.3.2学生修改密码页面 PAGEREF_Toc166656502\h26HYPERLINK\l”_Toc166656503"5。3。3学生学籍维护页面ﻩPAGEREF_Toc166656503\h28HYPERLINK\l”_Toc166656504"5.3。4成绩查询ﻩPAGEREF_Toc166656504\h30HYPERLINK\l”_Toc166656505”5。3。5查看学修课表并进行选修 PAGEREF_Toc166656505\h30HYPERLINK\l"_Toc166656506”5.4管理员界面ﻩPAGEREF_Toc166656506\h32HYPERLINK\l”_Toc166656507"5。5管理员界面功能实现 PAGEREF_Toc166656507\h33HYPERLINK\l”_Toc166656508”5.5。1查看学生基本信息ﻩPAGEREF_Toc166656508\h33HYPERLINK\l"_Toc166656509"5。5.2添加新学生和选修课ﻩPAGEREF_Toc166656509\h35HYPERLINK\l”_Toc166656510"5.5.3查看学修课表和必修课表ﻩPAGEREF_Toc166656510\h36HYPERLINK\l”_Toc166656511"5.5。4查看学生选课情况和学生成绩ﻩPAGEREF_Toc166656511\h37HYPERLINK\l”_Toc166656512”5。5。5添加必修课表和学生成绩ﻩPAGEREF_Toc166656512\h40HYPERLINK\l"_Toc166656513”第六章全文总结ﻩPAGEREF_Toc166656513\h44HYPERLINK\l”_Toc166656514"致谢ﻩPAGEREF_Toc166656514\h45处理。jspInit()及jspDestory()格式如下:可在jspInit()中进行一些初始化工作,如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在jspDestory()中释放相应的资源。2.1.3JavaBean技术介绍JavaBean是一种软件组件模型,它与其他软件对象相互作用,决定如何建立和重用软件组件,这些可重用软件组件被称为Bean。Bean使用现有的Bean帮助开发新的计划,进而建立它们之间的关系.JavaBean是基于Sun公司的JavaBean规范的,可在编程工具中被可视化处理的可复用的软件组件.因此JavaBean具有4个基本特性:独立性;可重用性;在可视化开发工具中使用用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象.这样JavaBean就变成了一个组件了,达到代码的重用性和隔离性,在调用JavaBean的时候,不用关心JavaBean的实现过程,只要知道方法的功能、输入参数和输出参数就可以了。2.2B/S体系结构介绍在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由WebServer完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层体系结构如图1所示。数据库数据库BrowseWeb服务器图2。。1采用该结构软件的优势在于:(1)无须开发客户端软件,维护和升级方便;(2)可跨平台操作,任何一台机器只要装有WWW浏览器软件,均可作为客户机来访问系统;(3)具有良好的开放性和可扩充性;(4)可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求.这种三层结构层与层之间相互独立,任何一层的改变不影响其他层的功能。三层B/S结构将应用的三个部分明确的分开:表示部分、应用逻辑部分、数据访问部分。这三个部分在逻辑上独立的分开,分别加以实现,称之为:客户端、应用服务器、数据库服务器。而在客户端和应用服务器之间加入一个WEB服务器,就形成了一种特殊的B/S结构:Browser/Server,只在客户端安装浏览器软件即可。客户端使用InternetExplore时,就可以让InternetExplore变成为能够处理数据的应用系统。由于这种模式是提供一个跨平台的、简单一致的应用环境,实现了开发系统与应用系统的分离,因此避免了为多重不同的操作系统开发同一应用系统的重复操作,便于用户群的扩展、变化以及应用系统的管理。因此该结构在管理信息系统开发领域中获得飞速发展,成为应用软件开发中一种流行的体系结构.所以在开发本系统时采用这种模式。2。3JavaScrit技术介绍JavaScript是一种基于对象(object)和事件驱动(eventdriven)并具有安全性能的脚本语言。它的目的是与html超文本标记语言、java脚本语言(java小程序)一起实现在一个web页面中链接多个对象,与web客户交互作用。它被嵌入HTML的文件之中.通过JavaScript可以做到响应用户的需求事件(如表单的输入),这样当一位使用者输入一项信息时,它不需要通过网络传送到服务器端进行处理再传回来的过程,而可以直接在客户端进行事件的处理.它的出现弥补了html语言的缺陷。JavaScript是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个易的开发过程。ﻫ它的基本结构形式与C、C++、VB、Delphi十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。2.4SQLServer2000数据库2。4.1数据库介绍SQLServer2000具有较好的可伸缩性和可靠性,提供了以Web标准为基础的扩展数据库编程功能,可以满足电子商务和企业应用程序的要求.SQLServer2000支持XML和Internet标准,具有基于Web的分析能力,允许使用内置的存储过程以XML格式存储、更新、删除、检索数据。SQLServer2000能提供超大型系统所需的数据库服务。大型服务器可能有成千上万的用户同时连接到SQLServer2000的情况,SQLServer2000为这些环境提供了全面的保护,具有防止问题发生的安全措施,例如,可以防止多个用户试图同时更新相同的数据.SQLServer2000还在多个用户之间有效地分配可用资源,比如内存、网络带宽和磁盘I/O等。SQLServer2000不仅能作为一个功能强大的数据库服务器有效地工作,而且数据库引擎也用在需要在客户端本地存储独立数据库的应用程序中。SQLServer2000可以动态地将自身配置成能有效地使用客户端桌面或膝上型电脑中的可用资源,而不需要为每个客户端专设一个数据库管理员。应用程序供应商还可以将SQLServer2000作为应用程序的数据存储组件嵌入到应用程序中.SQLServer在网络组件的顶部添加了服务器特有的中介组件,诸如开放式数据库连接(ODBC)后能使不同客户机进行相互连接,它可处理基于Internet的应用程序,帮助用户把SQLServer数据库信息集成到Web页面.SQL语句介绍:SQL(StructuredQueryLanguage,结构查询语言)是一个功能非常强大的数据库语言,可以用在一些大型数据库的建立。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中插入数据、更新数据、删除数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracle、Sybase、DB2、MySQL、MicrosoftSQLServer、Access等。绝大多数SQL结构化查询语言都可以在数据库之间通用,虽然不同的数据库在SQL语言上有些差异。但是,标准的SQL命令如”Select"、”Insert"、”Update”、"Delete”、"Create"和”Drop"用于完成绝大多数数据库的操作,在不同数据库之间几乎没有差异。SQL功能强大,但是概括起来,它可以分成以下几部分:DML(DataManipulationLanguage数据操作语言)用于检索或者修改数据;DDL(DataDefinitionLanguage数据定义语言)用于定义数据的结构,如创建、修改、删除等命令;DCL(DataControlLanguage数据控制语言)用于赋予或取消用户的权限。2.4。2ODBC数据访问接口开放数据库互连(OpenDataBaseConnectivity,ODBC)是Microsoft公司开发的一套开发数据库系统应用程序接口规范,它支持应用程序以标准的ODBC函数和SQL语句操作各种不同的数据库。在这一实现过程中,ODBC驱动程序起了关键作用,简单地说,ODBC驱动程序相当于一个转换开关,它负责将应用程序发送来的标准SQL语句传递给各种数据库驱动程序处理,再将处理结构送回使用程序。于是,应用程序开发者只须面对统一的ODBC数据源,而不必针对各种数据库进行不同的设置,这样的程序具备更好的适用性和可移植性,甚至可以访问多种不同的数据库,如图2所示应应用程序ODBC驱动程序Oracle驱动程序SQLserver驱动程序Access驱动程序其他数据库驱动OrcaleSQLserverAccess……图2.2ODBC工作原理2.4.3JDBC数据访问接口为支持Java程序的数据库操作功能,Java语言采用了专门的Java数据库编程接口(JavaDataBaseConnecivity,JDBC),用于在Java程序中实现数据库操作功能并简化操作过程。JDBC支持基本SQL语句,提供多样化的数据库连接方式,为各种不同的数据库提供统一的操作界面。JDBC工作原理如图3所示。应应用程序JDBC驱动程序管理器JDBC驱动程序forOracleSQLserver驱动程序forDB2JDBC-ODBC桥驱动程序JDBC网络驱动程序OrcaleDB2……ODBC连接的数据库图2。3JDBC工作原理第三章系统设计3.1需求分析本系统主要是针对各个学校的学生信息进行管理,本系统满足以下几点要求:系统安全性。由于该系统的使用对象多,要求有较好的权限管理。不同权限进入不同的界面,为了防止数据的并发现象的出现,数据的编辑必须由合法用户来操作,并对每个学生的信息进行良好的保密。系统内容的全面性.学生信息管理系统不仅是对学生的基本信息进行管理,还包过学生选课管理,成绩管理等,因此,本系统能够很好的满足学校对学生的信息进行完善、统一的管理。系统灵活性。要求有良好的人机界面,操作简单(数据的添加、删除、修改、查询等方便快捷)。可扩展性。站点的数据承载量、功能模块的单个或整体调整都可以满足变化的需要,这种适应性称为可扩展性。固定资产管理系统的可扩展性,体现在不同用户群需要处理不同类型的数据、数据与用户之间进行交互、数据要符合个用户的使用需求、多表查询系统化、避免性能下降等方面。易维护性.本系统采用B/S结构,系统的升级只需要在服务器端完成,更新软件系统的数据库、文件也只需要更新服务器端即可。在进行系统的维护时,只需要远程登录服务器系统,减少了维护系统的成本和周期。3.1。1运行环境操作系统:Windows2000(Advanced)Server/2003Server/XPProfessional数据库:SQLServer2000;JSP服务器:Tomcat;开发工具:JBuilderX。3.2系统总体设计3.2。1系统目标设计系统开发的总体任务是实现学校学生信息管理系统化、规范化和自动化,从而达到学生信息管理高效率的目的。使得教务处人员能够方便快捷地管理学生信息以及学生能够方便快捷的查看修改个人信息,从而提高工作效率和经济效益.计算机的资源是受到限制的,因此要充分利用JSP的功能,设计出功能强大的软件,同时要尽可能减少对系统资源的占用,同时对本系统要求有良好的灵活性和完善性。3。2。2系统设计思想学生信息管理系统主要是对学生的学籍,选课,成绩等的管理.学生信息管理首先就应该有学生,所以系统应该有对学生的添加和删除以及学生信息的修改;选课,固然要有课程让学生选,就应该有添加、删除选修课程的功能,要让学生选就应该有学生查看、添加、修改选修课程;成绩管理就是学生能够在网上平台上快速查询自己的分数,这个功能的实现首先应该有添加、删除基础课程的功能,学生登入界面后能够查询功能。根据所需功能以及数据库、JSP所能提供的功能来设计该系统。3.2.3系统功能描述本系统功能主要包过三大块:学籍维护(管理员添加、删除学生基本信息;学生查看、修改个人附加信息);选课管理(添加、删除选修课表,查看单个学生选课情况以及单门课程被学生选修情况;学生查看、选修课程并可对所选课程进行修改);成绩查询(管理员添加、删除成绩课表,添加学生分数以及查询单人或单课分数情况;学生查看自己所学基础课成绩)。由于该系统权限有2个,学生和管理员,故这两个权限范围内的都应该具有上述功能,即将上述三大功能模块划分给这2个权限去具体实现.学生学生管理员信息管理系统权限管理模块图学生页面应具有的功能模块如下:学生学生修改密码学籍维护选修课程查看成绩学生功能模块修改密码:学生进入页面后可以修改自己的密码,以达到保密性;学籍维护:学生可以查看自己的基本信息(基本信息由管理员录入不能修改),并填写修改自己的学籍情况;选修课程:该功能主要是让学生查看已有的选修课程并进行选修,可以查看自己已选的课程如不满意可以删除重选,每个学生至多能选3门;查看成绩:学生可以查看自己的必修课成绩。管理员页面应具有的功能,总括为:管理员管理员学生管理选课管理成绩管理管理员功能模块学生管理:该模块主要添加新学生基本信息;查看已有学生基本信息及可对其修改,删除多余或出错学生信息。选课管理:可以添加新选修课程;查看已有选修课程并对起进行删除修改;查看学生选课情况,可以根据输入学号查看个人选课情况,还可以输入课程号查看该课被选情况;统计每门课程选修的人数以便打印出给任课老师。成绩管理:可以添加学生所学的基本课程并修改;添加学生成绩;查看学生成绩(根据输入学号和课程号来查看不同的成绩情况);可以对学生成绩进行修改。下图是学生信息管理系统的总功能模块图:学生信息管理系统学生信息管理系统学籍维护选课管理成绩管理管理员学生修改密码查看信息修改学籍添加学生删除学生修改信息添加课程删除课程修改课程选课情况查看选课选修课程修改选课添加课程删除课程查看成绩添加分数查看成绩管理员学生管理员学生图3.1系统功能图3.2.4系统用例图ﻩﻩ ﻩﻩﻩﻩ ﻩﻩﻩ修改密码修改密码查看学籍信息查看选修课表修改学籍信息选修课程成绩查询修改选修课退出系统图3。2学生用例图查看学生信息查看学生信息添加新学生删除学生查看选修课删除选修课添加选修课查看选课情况查看必修课查看成绩添加成绩添加必修课退出系统图3。3管理员用例图3。2.5系统UML活动图系统主页系统主页选定登入模块选定登入模块管理员操作学生操作管理员操作学生操作查看成绩选修课程学籍维护修改密码查看成绩选修课程学籍维护修改密码成绩管理选课管理学生管理成绩管理选课管理学生管理第四章数据库设计在本系统中使用的是SQLServer2000数据库管理系统。本系统使用的数据库名为yuqingpeng,下面具体讲解数据库中各数据表的创建和逻辑结构。4。1总体表设计本系统中共用到了6个数据表,如下:admin表:记录管理员信息;student表:记录学生学籍信息;kechengbiao表:记录选修课信息;chegnji表:记录学生基础课信息;成绩关联表:记录学生基础课成绩信息;6。选课关联表:记录学生选课信息。4。2数据库表的结构表1:admin表的定义:字段名字段描述是否主键数据类型长度约束说明admin_id管理员ID是varchar20Notnull唯一标识password密码否varchar20Notnull表2:Student表的定义:字段名字段描述是否主键数据类型长度约束说明name学生姓名否varchar20Notnullstu_id学号是varchar20Notnull唯一标识password密码否varchar20Notnullsex性别否varchar20Notnullzy专业否varchar20Notnullmz民族否char10Notnullzzmm政治面貌否varchan20Notnullcym曾用名否varchar20sfz身份证否varchar20csrq出生日期否varchar20jg籍贯否varchar20jkzk健康状况否varchar20rxnf入学年份否varchar20jtdz家庭地址否varchar50jtdh家庭电话否varchar20yzbm邮政编码否varchar10brlxfs联系方式否varchar20email邮件否varchar20qtlxfs其他联系否varchar20bz备注否varchar20表3:Chengji表的定义:字段名字段描述是否主键数据类型长度约束说明学期号学期号否varchar20课程号课程号是varchar20Notnull唯一标识课程名课程名否varchar20Notnull学分学分否varchar20主讲教师主讲教师否varchar20表4:Kechengbiao表的定义:字段名字段描述是否主键数据类型长度约束说明课程号课程号是varchar20Notnull唯一标识课程名课程名否varchar20Notnull任课教师任课教师否varchar20星期几星期几否varchar20时间时间否varchar20上课教室上课教室否varchar20表5:成绩关联表的定义:字段名字段描述是否主键数据类型长度约束说明id自动标识是int4Notnull唯一标识stu_id学号否varchar20Notnull课程号课程号否varchar20Notnull成绩成绩否varchar20Notnull重修成绩重修成绩否varchar20Notnull表6:选课关联的定义:字段名字段描述是否主键数据类型长度约束说明id自动标识是int4Notnull唯一标识stu_id学号否varchar20Notnull课程号课程号否varchar20Notnull4。3实体及ER图4。3.1实体介绍本系统中的实体共有4个,分别为:实体1:学生(姓名name,学号stu_id,密码password,性别sex,专业zy,民族mz,政治面貌,曾用名cym,身份证sfz,出身日期csrq,籍贯jg,健康状况jkzk,入学年份rxnf,家庭地址jtdz,家庭电话jtdh,邮政编码yzbm,联系方式lxfs,Emailemail,备注bz);关键字为:学号实体2:选修课(课程号,课程名,任课教师,星期几,时间,上课教室);关键字为:课程号实体3:基础课(学期号,课程号,课程名,学分,主讲教师)关键字为:课程号实体4:成绩(id,学号,课程号,成绩,重修成绩);4。3。2实体的ER图以及各实体之间联系的ER图实体1的ER图:学生学生姓名学号密码性别专业民族政治面貌曾用名身份证出生日期健康状况籍贯入学年份家庭地址联系方式图4。1实体1实体2的ER图选修课选修课课程号任课教师星期几时间上课教室课程名图4.2实体2实体3的ER图必修课必修课课程号课程名主讲教师学分学期号图4。3实体3实体4的ER图:成绩成绩学号课程号成绩重修成绩ID图4。4实体4实体1与实体2之间的联系:选修(学号,课程号)学生学生选修选修课图4.5实体1与实体2(m:n)关系实体1与实体3之间的关系:学习(学号,课程号,成绩)学习学习必修课学生图4。6实体1与实体3(m:n)关系4.4数据库表的关系图在本系统中共有6个表,其中有些表之间存在着联系,并建立起了关系:4。5数据库表的视图4.6数据库连接JDBC是Java数据库连接(JavaDataBaseConnectivity)技术的简称,是为各种常用的数据库提供无缝连接的技术。JDBC定义了Java语言同各种SQL数据之间的应用程序设计接口(API),提高了软件的通用性。JDBC的关键技术是数据库连接驱动程序,针对这点大量的数据库厂商和第三方开发商支持Java的JDBC的标准,并开发了不同的数据库JDBC驱动程序。这些驱动程序可以分成四种:JDBC—ODBCBridge驱动程序、JDBCNativeBridge驱动程序、JDBC—NetworkBridge驱动程序、PureJavaJDBCDriver.本系统正是利用JDBC—ODBCBridge驱动程序来连接数据库的,连接数据库时用到了JavaBean技术,起代码为:packageyu;importjava.io。*;importjava。sql。*;publicclassdbconn{StringSd=”sun。jdbc.odbc.JdbcOdbcDriver”;//建立一个联接机StringSc="jdbc:odbc:yqp";//建立一个Odbc源Connectioncon=null;//Connection对象ResultSetrs=null;//建立一个记录集PreparedStatementprepstmt=null;StringuserName=”sa”;Stringpassword=”";publicdbconn(){try{Class.forName(Sd);//用classforname方法加载驱动程序类}catch(java。lang.ClassNotFoundExceptione){//当没有发现这个加载这个类的时候抛出的异常System.err.println(e);//执行系统的错误打印}}publicResultSetexecuteQuery(Stringsql){//可以执行添加删等操作try{con=DriverManager.getConnection(Sc,userName,password);Statementstmt=con.createStatement(ResultSet。TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=stmt.executeQuery(sql);}catch(SQLExceptioner){System.err。println(er.getMessage());}returnrs;}publexecuteUpdate(Stringsql){//数据库的更新操作intresult=0;try{con=DriverManager.getConnection(Sc,userName,password);Statementstmt=con。createStatement();result=stmt。executeUpdate(sql);}catch(SQLExceptionex){System。err。println(ex。getMessage());}returnresult;}publicvoidclose(){try{if(con!=null)con。close();}catch(Exceptione){System.out.print(e);}try{if(rs!=null)rs。close();}catch(Exceptione){System。out。println(e);}}publicPreparedStatementpreparedstatements(Stringsql){try{con=DriverManager。getConnection(Sc,userName,password);prepstmt=con.prepareStatement(sql);}catch(SQLExceptionex){System.err.println(ex。getMessage());}returnprepstmt;}}在JSP程序中调用这个JavaBean时只需加一条语句:〈jsp:useBeanid=”a”scope="page"class=”yu。dbconn"/>就与数据库连接上了,可以进行数据调用、修改。第五章系统具体实现按照上面所说的学生信息管理系统应具有的具体功能来具体实现该系统,尽量完善系统的每一个要求,做到精益求精.5。1登入界面由于系统设置了2个不同的权限,所以登入时首先应该对权限进行判断,然后对所属权限范围内的用户进行用户名和密码验证,验证成功才进入相应的页面。输入用户名和密码输入用户名和密码系统验证通过选择权限当用户或密码错误判断用户名和密码判断权限学生界面管理员界面登入系统界面如下:当用户输入ID和密码后会根据选择的权限对ID和密码进行验证验证成功时进入下一页面,判断用户权限及密码正确与否的代码如下:Login。jsp页面代码:<%@pagecontentType=”text/html;charset=GB2312"%〉〈%@pageimport="java.sql。*"%〉<%@pagelanguage=”java”%〉<%@pageimport=”java。util.*"%〉<%@pageimport=”yu.*”%〉<jsp:useBeanid=”a"scope="page”class="yu。dbconn"/>〈html〉<head〉〈title>身份验证</title〉〈/head〉<bodybgcolor=”#ffffff"〉<%request。setCharacterEncoding("GBK");if(sel。equals("student")){ ﻩﻩsql="SELECT*FROMstudentwherestu_id='"+user+"’andpassword=’”+pwd+"’”;URL=”student.jsp";ResultSetrs=stmt.executeQuery(sql);if(rs.next()){Stringa=rs.getString(”name");request.getSession(true);session.setAttribute(”name”,a);session。setAttribute(”id”,user);response.sendRedirect(URL);}elseresponse.sendRedirect("error。jsp”);}elseif(sel.equals("admin")){sql=”SELECT*FROMadminwhereadmin_id='”+user+"'andpassword='”+pwd+”'”;URL="admin.jsp";ResultSetrs=stmt.executeQuery(sql);if(rs.next()){request。getSession(true);session.setAttribute(”id",user);response。sendRedirect(URL);}elseresponse.sendRedirect(”error。jsp”);}//使用executeQuery执行SQL查询语句%〉〈/body></html〉5。2学生界面当验证用户名和密码正确后进入学生界面:学生主页面主要就是显示学生的一些功能,在右边设置了一个frame框来显示学生选择功能后进入的页面。5.3学生界面功能实现在学生主页面中有学生所需要的一些功能,如查看公告,修改自己的登入密码,查看学籍并进行修改,查看选修课表并进行选修,查看已选课程并可修改.5。3。1查看公告页面5.3.2学生修改密码页面修改密码代码:Change。Jsp页面:<bodybgcolor=”#ffffff">〈%request。setCharacterEncoding(”GBK");Stringpwd="";Stringnumber=(String)session.getAttribute(”id");Stringsql=””;sql="SELECT*FROMstudentwherestu_id='”+number+"'”;ResultSetrs=a.executeQuery(sql);if(rs。next()){pwd=rs.getString(”password");}%〉〈SCRIPTLANGUAGE=”javascript”〉functionb(){if(form2.pwd1。value!=”〈%=pwd%>”||form2.pwd1.value==""){alert(”输入的原始密码不正确,请重新输入");form2。pwd1。focus();returnfalse;}if(form2。pwd2。value==”"){alert(”请输入新密码”);form2。pwd2.focus();returnfalse;}elseif(form2.pwd2.value!=form2。pwd3.value){alert("两次输入的新密码不同,请重新输入”);form2.pwd3.focus();returnfalse;}else{alert(”密码修改成功");returntrue;}returntrue;}〈/SCRIPT>以输入一个密码修改框的table已删,下面是修改后把新密码导入数据库:Change_pwd.jsp页面代码:〈bodybgcolor="#ffffff”〉〈%request。setCharacterEncoding(”GBK");Stringsql="";Stringpassword=request.getParameter("pwd2");Stringnumber=(String)session.getAttribute(”id");sql="updatestudentsetpassword=’”+password+"’wherestu_id='”+number+”’”;a。executeUpdate(sql);response。sendRedirect(”welcome.jsp”);%〉〈/body〉5.3.3学生学籍维护页面学生可以查看自己的信息以及修改自己的学籍信息.学籍维护页面代码主要有两个页面来实现:Xueji.jsp页面:用来显示已有信息,并能让学生进行修改提交;change_xueji。jsp页面用来把学生新提交信息保存到数据库中:Change_xueji。jsp页面代码:〈%request。setCharacterEncoding(”GBK”);Stringsql="”;Stringxuehao=(String)session。getAttribute("id”);Stringcym=request.getParameter(”cym”);Stringsfz=request.getParameter("sfz”);Stringcsrq=request。getParameter("csrq”);Stringjg=request.getParameter("jg”);Stringjkzk=request。getParameter(”jkzk");Stringrxnf=request。getParameter(”rxnf”);Stringjtdz=request.getParameter(”jtdz”);Stringjtdh=request.getParameter("jtdh");Stringyzbm=request.getParameter(”yzbm”);Stringbrlxfs=request.getParameter(”brlxfs”);Stringemail=request。getParameter("email”);Stringqtlxfs=request.getParameter("qtlxfs");Stringbz=request.getParameter("bz");sql="updatestudentsetcym=’”+cym+”',sfz=’”+sfz+”’,csrq=’”+csrq+”’,jg='"+jg+"’,jkzk=’"+jkzk+"’,rxnf=’”+rxnf+"’,jtdz=’"+jtdz+”’,jtdh=’"+jtdh+”’,yzbm=’”+yzbm+"’,brlxfs=’”+brlxfs+”’,email=’"+email+"',qtlxfs=’"+qtlxfs+"’,bz=’"+bz+”’wherestu_id='"+xuehao+"'";a.executeUpdate(sql);response.sendRedirect("xueji.jsp”);%>5.3。4成绩查询学生可以查看自己以前学期所学课程的成绩,省了寄成绩单的麻烦。该功能主要是跟数据连接,管理员录入的信息给掉出来,显示在页面上,没什么特别之处。5.3.5查看学修课表并进行选修学生可以在该页面进行查看已有的学修课程,并进行选修。每个学生只能选修3门课程。查看已选课程并修改:这2个功能页面由kecheng1。jsp,kecheng2.jsp,kecheng3.jsp,kecheng4。jsp来具体实现.Kecheng3.jsp页面部分代码:该页面是主要是实现从数据库中掉课程表及选课保存到选课关联表中去,并限制每人至多能选3门课程。<%request.setCharacterEncoding("GBK”);Stringkechenghao=request.getParameter("id2”);Stringxuehao=(String)session.getAttribute(”id”);Stringsql="”;Stringsql2="”;Stringsql3="”;inttotalrecord=0;sql3="SELECTcount(*)asrecordcountFROM选课关联wherestu_id='”+xuehao+"’";ResultSetrs=a.executeQuery(sql3);if(rs。next())totalrecord=rs。getInt(”recordcount”);if(totalrecord〈3){sql=”SELECT*FROM选课关联wherestu_id=’"+xuehao+"'and课程号='"+kechenghao+”’”;ResultSetrs1=a。executeQuery(sql);if(rs1。next()){%><scriptlanguage="javascript”>alert(”你已经选了这门课,请重新选择");〈/script〉<%}else{sql2="INSERTINTO选课关联(stu_id,课程号)values(’"+xuehao+"’,’"+kechenghao+”’)”;a.executeUpdate(sql2);%〉<scriptlanguage=”javascript"〉alert(”选课成功,请继续选课");</script〉<%}}else{%><scriptlanguage="javascript”>alert("你只能选3门课程,请确认后在选");〈/script>〈%}%〉<scriptlanguage=”javascript"〉history。go(-1);〈/script>5。4管理员界面该界面是管理员通过验证后进入的页面,管理员可以今选择进行自己所需要的操作.5.5管理员界面功能实现进入管理员界面后,后台工作人员可以选择不同功能进行操作,主要功能有:查看学生基本信息并进行修改、删除;添加新学生信息;查看选修课表并进行修改;查看学生选课情况;添加新选修课;查看必修课表并进行修改;查看学生成绩;添加必修课程;添加学生成绩。5。5。1查看学生基本信息该页面可以对学生进行删除,以及对学生基本信息进行修改。修改学生基本信息页面:该功能主要有xuesheng.jsp;xuesheng1.jsp;xuesheng2。jsp;xuesheng3。jsp页面来完成。<tablealign="center”border=”2"width=”100%”bordercolorlight=”#CC99FF"cellpadding=”2”bordercolordark=”#FFFFFF”cellspacing=”2”><%Stringid2=request.getParameter(”id”);Stringsql="select*fromstudentwherestu_id=’”+id2+”’”;ResultSetrs=a.executeQuery(sql);while(rs.next()){%><tr〉<tdalign=centercolspan=2><fontcolor=bluesize=5〉〈b〉修改学生信息</font>〈/td>〈tralign=center〉〈td>姓名:〈/td〉<td>〈INPUTTYPE="text"NAME="name”value=〈%=rs.getString(1)%>〉</td〉</tr〉〈/tr〉〈tralign=center〉〈td>学号:</td〉〈td〉<INPUTTYPE=”text"readonly="readonly"NAME="stu_id"value=〈%=rs。getString(2)%>></td>ﻩ〈/tr> <tralign=center><td〉ﻩ性别:</td〉〈td>〈INPUTTYPE=”text"NAME="sex”value=〈%=rs.getString(4)%〉〉〈/td〉ﻩ</tr>ﻩ<tralign=center〉<td>ﻩ专业:〈/td><td〉〈INPUTTYPE="text"NAME="zy"value=<%=rs。getString(5)%>〉</td>ﻩ</tr〉ﻩ<tralign=center〉〈td〉 民族:</td><td〉<INPUTTYPE=”text"NAME="mz”value=<%=rs。getString(6)%〉〉</td〉ﻩ</tr>ﻩ〈tralign=center>〈td〉 政治面貌:</td>〈td>〈INPUTTYPE="text"NAME=”zzmm"value=<%=rs。getString(7)%〉>〈/td〉 〈/tr>〈%}rs.close();%><tr><tdalign=centercolspan=2〉<INPUTalign=centerTYPE=”submit"value=”提交"onclick=”returna()”>〈/td></tr〉〈/table>以上是修改页面xuesheng2。jsp的代码。5.5.2添加新学生和选修课该页面主要是用来添加新的学生及其基本信息。代码主要有add1。jsp和add1_stu.jsp完成。Add1_stu。jsp部分代码如下:〈%request。setCharacterEncoding(”GBK”);Stringname=request.getParameter(”name”);Stringstu_id=request.getParameter("stu_id”);Stringpassword=request。getParameter("password");Stringsex=request.getParameter("sex");Stringzy=request。getParameter("zy");Stringmz=request。getParameter("mz");Stringzzmm=request。getParameter("zzmm”);Stringsql=”";Stringsql2=”";sql=”SELECT*FROMstudentwherestu_id='"+stu_id+"'";ResultSetrs=a.executeQuery(sql);if(rs。next()){%>〈scriptlanguage=”javascript"〉alert(”你已添加了该学生信息,请添加其他学生”);history。go(-1);history.go(0);〈/script〉<%}else{sql2=”INSERTINTOstudent(name,stu_id,password,sex,zy,mz,zzmm)values('”+name+”’,’”+stu_id+”',’"+password+”','"+sex+"’,’"+zy+”’,’”+mz+"’,’"+zzmm+"')";a。executeUpdate(sql2);%〉〈scriptlanguage="javascript">alert("添加成功,请继续添加”);history。go(-1);history。go(0);〈/script〉〈%}%>添加新选修课该页面有add2.jsp和add2_xkb.jsp来完成。5。5.3查看学修课表和必修课表该功能是让管理员能够查看所有选修课程并删除多余的课程,该页面还添加了一个统计每门课程选修人数的功能,让教师能够清楚了解该课选修情况。由kebiao.jsp页面完成。查看必修课表功能就是查看学生的基础课表,可以对其进行删除,方便添加学生成绩。该功能是由bixiu.jsp和bixiu1。jsp来完成.统计人数功能实现为一个简单的数据库数据查询语句,如下:<%〈jsp:useBeanid="a”scope=”page”class=”yu.dbconn”/〉Stringsql2=”";sql2=”SELECTcount(*)asrecordcountFROM选课关联where课程号='”+kechenghao+"'”;ResultSetbs=a.executeQuery(sql2);if(bs.next())totalrecord2=bs.getInt("recordcount”);%〉5.5.4查看学生选课情况和学生成绩查看选课该功能分为2个:输入学号查看单个学生的选课情况;输入课程号查看选修该课的学生信息。该功能的实现主要由:xuanke.jsp,xuanke1.jsp和xuanke2.jsp来实现。根据选择进入不同的界面:Xuanke.jsp页面部分代码2个功能函数,2个form表如下:functiona(){if(form6。stu_id。value==""){alert(”请输入学号在查看");returnfalse;}}functionb(){if(form7。kechenghao.value==””){alert("请输入课程号在查看");returnfalse;}}<formaction=”xuanke_1。jsp"method=”POST”name="form6”〉输入学号查看个人选课情况<inputtype="text"name=”stu_id”>〈inputtype=”submit”name="chakan”value=”查看"onclick=”returna()"〉</form〉<br〉〈br〉<br>〈hr〉〈br><br>〈formaction="xuanke_2.jsp”method="POST"name="form7"〉输入课程号查看选修该课学生:<inputtype="text”name="kechenghao”〉<inputtype="submit"name=”chakan"value="查看”onclick="returnb()”〉〈/fo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论