计算机专业毕业论文JSP网上选课系统.docx

上传人:b****2 文档编号:2474127 上传时间:2023-05-03 格式:DOCX 页数:69 大小:546.93KB
下载 相关 举报
计算机专业毕业论文JSP网上选课系统.docx_第1页
第1页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第2页
第2页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第3页
第3页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第4页
第4页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第5页
第5页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第6页
第6页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第7页
第7页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第8页
第8页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第9页
第9页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第10页
第10页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第11页
第11页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第12页
第12页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第13页
第13页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第14页
第14页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第15页
第15页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第16页
第16页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第17页
第17页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第18页
第18页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第19页
第19页 / 共69页
计算机专业毕业论文JSP网上选课系统.docx_第20页
第20页 / 共69页
亲,该文档总共69页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机专业毕业论文JSP网上选课系统.docx

《计算机专业毕业论文JSP网上选课系统.docx》由会员分享,可在线阅读,更多相关《计算机专业毕业论文JSP网上选课系统.docx(69页珍藏版)》请在冰点文库上搜索。

计算机专业毕业论文JSP网上选课系统.docx

计算机专业毕业论文JSP网上选课系统

摘要

随着计算机及互联网的普及,网络选课系统作为高校信息化的一个重要组成部分,正逐渐改变着传统的人工教务管理选课模式,逐步提高着教务管理人员以及师生的工作效率。

应用此系统,学生可以通过网络在任意地点、指定的时间进行选课。

网络选课系统具有无可比拟的优势,如大量数据的存储与查询,信息的完全公开,而且通过计算机系统的设计可以做到公平公正,尽量减少错误。

在此背景下,充分利用现有网络资源,建立网上选课系统势在必行。

目前的选课系统的实现方式有很多种,既有C/S结构的,也有B/S结构的,总体来说,基于Web的B/S结构的选课系统是最适合当前高校教务管理需要的,因此是目前的发展主流。

关键词:

网络选课、B/S、效率

ABSTRACT

WiththepopularityofcomputersandtheInternet,onlineNetworkElectivesystemasaimportantpartofcollegeinformation.itisgraduallychangingthetraditionalofartificialEducationalAdministrationElective.Andalsograduallyincreasetheefficiencyofteachersandstudents.Studentscouldchoosecoursesanywhereanytimeviainternetbythissystem.TheNetworkElectivesystemhasanunparalleledadvantage,forexample,likelargeamountsofdatastorageandquery,disclosureofinformation,anditcanbefair,justiceandminimizeerrorsbycomputerdesign.Inthiscontext,itisnecessarytoestablishaonlineregistersystembyfulluseofexsitingnetworkresources.TherearemanywaystorealizeaNetworkElectivesystem,notonlyC/Sstructure,alsoexsitsB/Sstructure.Overall,thesystembasedonB/Sstructureisthebestsuitedtocurrentneeds.Soitisthetrendofdevelopment.

Keywords:

Network,Elective,B/S,Efficiency

第1章引言

1.1开发背景

随着计算机及互联网的普及,传统的教务人工管理已经很难适应新环境。

传统的选课方式是随堂报名,无法预见上课人数,浪费教学资源。

以现代网络技术环境为依托,将传统选课模式转换为利用现代网络技术进行选课操作和管理的网上选课系统已经成为一项重要的改革。

现有选课系统存在以下不足:

(1)系统运行不够稳定

选课系统时常无法登陆,这显然是网络服务器的不稳定造成的。

应在发布前进行充分的性能测试。

(2)操作复杂,不够人性化

网上选课应满足操作简单方便,但现有系统忽略了操作的简单性,从而导致选课要经过多个步骤。

系统界面不友好,不够人性化。

(3)系统性能差

没有进行充分的优化,导致在选课高峰期的时候,大量学生同时选课时经常出现登陆和选课速度极慢,甚至出现服务器死机瘫痪现象,导致某些学生不能选课

1.2系统构架

本文重点研究基于J2EE的网络选课系统。

采用了J2EE技术作为系统构架开发。

本系统体现了较为先进的设计思想,主要有以下几点:

(1)系统采用较为流行的J2EE技术体系,具有良好的可伸缩性和跨平台性,为日后功能的扩展提供了良好的升级空间。

(2)采用MVC模式Struts2架构设计,将系统的表示层、逻辑层和web表示层分离,便于日后系统的开发与维护。

(3)应用连接池和线程池,使系统可同时容纳大量用户。

1.3系统目标

本课题设计并实现了一个基于网络平台的选课系统,具体的实现目标是:

(1)教务管理模块

教务管理员通过该模块,可以发布教学公告、发布选课信息、发布课程信息、制定系统开放时间、发放学生及教师密码等。

(2)学生选课模块

学生通过该模块,可以查询开课信息、查看公告、选课、退课、修改密码、修改个人信息等。

第2章主要技术介绍

2.1J2EE概述

J2EE(Java2PlatformEnterpriseEdition)是SUN公司定义的一个开发分布式企业级应用的规范。

它提供了一个多层次的分布式应用模型和一系列开

发技术规范,与传统的互联网应用程序模型相比有着不可比拟的优势。

J2EE技术是一个开放的、基于标准的开发和部署的平台,用于构建N层、基于Web、以服务端计算为核心、模块化的企业应用。

J2EE同时也是所有兼容J2EE标准的应用服务器产品的统一标识。

J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。

J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。

其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。

J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。

通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EnterpriseJavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。

2.2J2EE的优势

J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:

1.保留现存的IT资产:

由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。

由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。

2.高效的开发:

J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。

这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。

3.支持异构环境:

J2EE能够开发部署在异构环境中的可移植程序。

基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。

因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。

这在典型的异构企业计算环境中是十分关键的。

4.可伸缩性:

企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。

基于J2EE平台的应用程序可被部署到各种操作系统上。

5.稳定的可用性:

一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。

2.3MVC设计模式

Model模型-View视图-Controller控制器是软件工程中的一种软件架构模式。

它把软件系统分为三个基本部分:

Model模型,View视图和Controller控制器。

模型视图控制器模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。

专业人员可以通过自身的专长分组:

∙控制器Controller-负责转发请求,对请求进行处理。

∙视图View-界面设计人员进行图形界面设计。

∙模型Model-程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。

 

图2-1MVC设计模式

2.4框架的选择

本系统选用的是当下最流行的SSH框架整合搭建,采用Struts22.0,Hibernate3.2,以及Spring2.5。

可以更好的完成和体现MVC模式,也可以更好的体现java的面向对象思想及接口编程习惯。

2.4.1Struts2简介

Struts2是一个web应用框架。

它不是一个Struts的新的发布版本,而是一个全新的框架。

Struts2是第二代基于Model-View-Controller(MVC)模型的web应用框架。

Struts2是java企业级web应用的可扩展性的框架。

Struts2的体系结构与Struts1的体系结构的差别巨大。

Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。

2.4.1.1Struts2结构

Struts2的体系与Struts1体系的差别非常大,因为Struts2使用了WebWork的设计核心,而不是Struts1的设计核心。

Struts2中大量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与ServletAPI分离。

图2-2是Struts2的体系结构简图。

图2-2Struts2的体系结构简图

2.4.1.2Struts2处理流程

Struts2框架的大概处理流程如下:

1.浏览器发送一个请求。

2.核心控制器FilterDispatcher根据请求决定调用合适的Action。

3.WebWork的拦截器链自动对请求应用通用功能,如验证等。

4.回调Action的execute方法,该execute方法根据请求的参数来执行一定的操作。

5.Action的execute方法处理结果信息将被输出到浏览器中,支持多种形式的视图。

2.4.2Hibernate简介

Hibernate是一种Java语言下的对象关系映射解决方案。

它是使用GNU宽通用公共许可证发行的自由、开源的软件。

它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。

它的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中解放出来。

无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用Hibernate。

Hibernate不仅负责从Java类到数据库表的映射(还包括从Java数据类型到SQL数据类型的映射),还提供了面向对象的数据查询检索机制,从而极大地缩短的手动处理SQL和JDBC上的开发时间。

2.4.3Spring简介

SpringFramework是一个开源的Java/JavaEE全功能栈(full-stack)的应用程序框架。

SpringFramework提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。

Spring包含的关键特性如下:

1非侵入式:

所谓非侵入式是指Spring框架的API不会在业务逻辑上出现,也就是说我们的业务逻辑应该是纯净的,不能出现与业务逻辑无关的代码。

首先针对应用而言,这样我们才能将业务逻辑从当前应用中剥离出来,从而在其他的

应用中实现复用;其次针对框架而言,由于业务逻辑中没有Spring的API,所以业务逻辑也可以从Spring框架快速的移植到其他框架。

2容器:

Spring提供容器功能,容器可以管理对象的生命周期,对象与对象之间的依赖关系。

可以写一个配置文件(通常是xml文件),在上面定义对象的名字,是否是单例,以及设置与其他对象的依赖关系。

那么在容器启动之后,这些对象就被实例化好了,直接去用就好了,而且依赖关系也建立好了。

3IOC:

控制反转,如果以前都是依赖于实现,那么现在反转为依赖于抽象,它的核心思想就是要面向接口编程。

4依赖注入:

建立对象与对象之间依赖关系的实现,包括接口注入、构造注入、set注入,在Spring中只支持后两种

5AOP:

面向方面编程,我们可以把日志、安全、事务管理等服务(或功能)理解成一个“方面”,那么以前这些服务一直是直接写在业务逻辑的代码当中的,这有两点不好;首先业务逻辑不纯净,其次这些服务被很多业务逻辑反复使用,完全可以剥离出来做到复用。

那么AOP就是这些问题的解决方案,我们可以把这些服务剥离出来形成一个“方面”,以期做到复用;然后将“方面”动态的插入到业务逻辑中让业务逻辑能够享受到此“方面”的服务

第3章系统开发工具及容器

3.1开发工具

本系统使用的开发工具,后台java代码编写使用MyEclipseEuropaworkbench6.5,前台页面编辑使用DreamWaver8。

3.1.1MyEclipse简介

MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。

它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。

3.1.2DreamWaver简介

Dreamwaver是美国MACROMEDIA公司(现为Adobe收购)开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具。

3.2数据库的选择

本系统采用MySQL5.1版本。

3.2.1MySQL简介

MySQL是一个开放源码的关系数据库管理系统,MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在中小型网站中。

随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用。

  MySQL是一个真正的多用户、多线程SQL数据库服务器。

MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统来说,MySQL具有小巧、功能齐全、查询迅捷等优点。

MySQL主要目标是快速、健壮和易用。

关键的是它是免费的。

3.3JDK版本的选择

JavaDevelopmentKit(JDK)是Sun公司针对Java开发员的软件开发工具包。

自从Java推出以来,JDK已经成为使用最广泛的JavaSDK(Softwaredevelopmentkit)。

本系统采用JDK6editionupdate7版本。

3.4容器

本系统页面采用JSP,所以对应的容器采用ApacheTomcat6.0。

既然JSP/Servlet,那么它当然是不能直接运行的,必须把它放到某种运行环境当中,它才能发挥它的作用。

这个环境就是我们讲的"容器"。

容器也是java程序,它的主要功能除了为Servlet提供运行环境,还有更重要的,就是提供网络传输协议与java程序实体的相互转换。

客户端向服务器发送数据,遵循的是HTTP协议的数据格式,服务器向客户端发送数据也是遵循HTTP协议的。

在客户端和服务器端,可能存在着不同的编程语言编写的程序,比如java,C++等等。

各种语言都有自己用于处理HTTP协议数据的方法(类),为了使用java提供的各种HTTP处理相关的类,必须将HTTP协议下的数据做一定的转换,转换成一些javaobject,这样才能使用java的方法进行数据处理。

同理,当这些处理完成,又需要将这些javaobject转换回HTTP协议下的数据,反馈给客户端(JSP/Servlet当然存在与服务器端)。

JSP/Servlet容器就扮演了完成这个双向转换的角色。

3.4.1Tomcat简介

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照SunMicrosystems提供的技术规范,实现了对Servlet和JavaServerPage(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。

由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。

但是,不能将Tomcat和ApacheWeb服务器混淆,ApacheWebServer是一个用C语言实现的HTTPwebserver;这两个HTTPwebserver不是捆绑在一起的。

ApacheTomcat包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。

第4章网络选课系统总体设计

4.1需求分析

4.1.1系统概要设计

系统概要设计:

(1)功能模块设计

管理员模块:

可以发布公告、发布选课信息、管理和分配学生和教师账号、审核选课情况、指定系统开放时间。

选课模块:

可以选课、退课。

学生管理模块:

可以查看已选课程、查看课程列表、查看公告,修改个人信息等。

教师管理模块:

可以查看公告、查看自己相关课程、修改个人信息。

登陆模块:

可以判断账号的合法性和角色/权限。

(2)数据库设计

学生信息表:

包含学号、姓名、性别、密码等基本信息。

课程信息表:

包含课程号、课程名等基本信息。

教师信息表:

包含教师编号、姓名等基本信息。

管理员信息表:

包含管理员编号等其他信息。

公告表:

包含公告的标题、内容等基本信息。

权限表:

包含3钟角色的权限。

选课表:

包含选择的课程号,课程名,任课教师等。

关系表:

包含课程与教师之间的多对多关系。

4.1.2系统流程

本系统的流程用流程图表示如图4-1所示:

图4-1系统流程图

4.1.3用UML用例图描述

用例图用来描述系统与参与者之间的相互作用,也可以说它是从用户角度出发对如何使用系统的描述。

角色:

角色代表了某一事件发生的参与者,他用一个小人表示。

在通常的网络项目中,角色常被用来代表使用网站的用户(管理员、用户等),但角色的作用并不是限于此,它也可以用来代表与系统交互的其他实体。

用例:

用例代表系统可以实现的功能,通常一个用例代表一组功能,它实质上规定了系统实现功能的范围。

在实现项目开发过程中,一个项目中往往涉及很多个用例,此时需要将其分解成若干个子系统实现,以便于理解。

在UML中,用例用一个椭圆表示。

用例图:

当角色与用例发生某种关系时,就可以用一个图将它们关联起来,这就是用例图,角色与用例之间使用一个带箭头的实线连接,箭头方向代表使用者与被使用者关系。

本系统有三种身份的用户,一是管理员,二是学生,三是教师。

用例图如图3-2所示:

图3-2网络选课系统UML用例图

4.2系统的分层设计

本系统编码采用MVC分层结构设计。

工程主要分为action包,Dao包和bean包。

action包:

主要是放置Struts2的Actionjava类,用来控制流程跳转、操纵model层、从model里面取数据呈现给表示层。

Dao包:

主要放置负责与数据库打交道的java类,所有类皆继承自一个HibernateDao。

该层封装了数据的增、删、查、改操作。

bean包:

主要放置实体beanjava类,用来表示实体,并且映射至数据库对应的表,负责向view层提供数据。

另外,所有JSP页面均放在工程WebRoot下。

第5章详细设计

5.1数据库

5.1.1数据库设计

一个软件产品,数据库设计的好坏决定着软件的开发维护和运行容易程度。

如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。

整个系统的操作实际上就是操作数据库,所以,数据库的设计方式决定着系统的好坏。

本系统采用MySQL5.1版本,数据库建表满足第三范式。

5.1.2数据表

本系统一共建立了如表5-1的8张表。

表5-1

表名称

说明

admin

管理员信息表

student

学生信息表

teacher

教师信息表

course

课程信息表

notice

公告表

user

权限表

already

选课表

relation1

课程-教师关系表

数据表字段说明:

图5-1admin表及字段说明图

5-2student表及字段说明

图5-3teacher表及字段说明

图5-4course表及字段说明

图5-5notice表及字段说明

图5-6user表及字段说明

图5-7already表及字段说明

图5-8relation1表及字段说明

5.1.3数据表关系

本系统数据库表关系如图5-9所示:

图5-9数据库表关系

5.2Web层的设计

这一层主要是作为用户访问系统的界面,提供Web网页服务器,同时与后

台的EJB服务器连接,将客户端的请求信息传递到业务层,同时将后台反馈的信息传送到客户端。

本系统的表示层采用第2章中介绍的体现MVC设计模式的Struts2框架实现Web层的设计。

视图部分采用JSP,控制器部分交由Struts2的action直接和实体bean交互以操作数据。

5.2.1JSP简介

JSP(全称JavaServerPages)是由SunMicrosystems公司倡导和许多公司参与共同建立的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。

JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。

JSP使Java代码和特定的预定义动作可以嵌入到静态页面中。

JSP句法增加了被称为JSP动作的XML标签,它们用来调用内建功能。

另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。

标签库提供了一种和平台无关的扩展服务器性能的方法。

JSP被JSP编译器编译成JavaServlets。

一个JSP编译器可以把JSP编译成JAVA代码写的servlet然后再由JAVA编译器来编译成机器码,也可以直接编译成二进制码。

5.2.2ExtJS简介

ExtJS是一个Ajax框架,,是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。

因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。

5.2.3字符集编码问题

由于国际上通用的字符编码为ISO8859-1,而本系统却要大量设计中文字符,如果不加以处理,中文字符就会以乱码显示。

所以在写程序的时候,要统一编码。

在本系统中采用的是GB2312标准。

这就涉及到JSP的页面PageEncoding属性设定,后台java字符串的处理,容器Tomcat的配置文件Server.XMLURIEncoding属性设定,以及MySQL的字符集设定等等。

5.3EJB层的设计

EJB层的功能是由各种EJB组件完成的,具体实现了业务逻辑和实体数据,也就是MVC模型的model(模型)部分。

在本系统中是由数据库服务器中的数据映象一实体Bean完成的。

5.3.1实体Bean的设计

实体Bean是根据数据库之中的表来建立的,其中的相关属

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2