• 643.00 KB
  • 2022-04-22 11:36:03 发布

计算机毕业设计论文基于JSP的在线选课系统.doc

  • 29页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'苏州市职业大学毕业设计说明书毕业设计题目基于JSP的在线选课系统系计算机工程系专业班级0XXXXXXXXXXX姓名XXXX学号0XXXXXX指导教师XXX20XX年5月11日25 摘要随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。在线选课系统作为一种现代化的教学技术,已越来越受到人们的重视,是一个学校不可缺少的部分,在线选课系统就是为了管理好选课信息而设计的。正逐渐改变着传统的人工教务管理选课模式,逐步提高着教务管理人员以及师生的工作效率。本系统运用了JSP和Servlet结合起来组织Web应用程序的方式来进行设计,后台数据从SQLServer2005中获取。该系统的完成更方便老师、学生更方便的选课。实现全校学生选课在线查询,教师在线管理。由于学生上课情况复杂,可以实现信息修改,及时调整学生的基本情况。关键词:在线选课、B/S、SQL2005、JSP25 Title:baseonJSPonlinecourseselectionsystemAbstract:Alongwiththescienceandtechnologyunceasingenhancement,thecomputerscienceismaturedayafterday,itsformidablefunctionhadprofoundlyknownforthepeople,itenteredthehumansocietyeachdomainandplaysamoreandmoreimportantrole.Onlineelectivecoursesystemasamodernteachingtechnology,hasbecomemoreandmoreattentionbypeople,isanindispensablepartofschoolcoursesystem,onlinecourseistomanagetheinformationanddesign.Itisgraduallychangingthetraditionalartificiallyeducationaladministrationmanagementcourseselectionmode,andgraduallyraisetheeducationaladministrarionpersonnelaswellastheworkingefficiencyoftheteachersandstudents.ThissystemusingaJSPandServletcombinedorganizationWebapplicationswaytocarryonthedesign,backenddatafromSQLServer2005.Thissystemtoachievemoreconvenientteachers,studentsmoreconvenientcourse.Realizetheschoolstudents,teacherscourseonlineinquiresonlinemanagement.Becausethestudentclass,mayrealizethecomplicatedcircumstances,adjuststudentsinformationmodifythebasicsituation.Keywords:NetworkElective,B/S,SQL2005,JSP25 目录1绪论11.1背景11.2开发目的22系统需求分析32.1需求分析32.2可行性分析32.3开发及运行环境32.3.1硬件环境32.3.2软件环境43系统总体设计53.1功能设计53.2页面迁移图63.3系统相关技术介绍73.3.1系统开发采用的技术方案——B/S模式73.3.2JSP技术介绍83.3.3Javabean的介绍103.3.4Servlet的作用103.3.5MicrosoftSQLServer2005数据库介绍113.4数据库分析设计113.4.1数据库需求分析113.4.2数据库的设计和创建124系统详细设计和实现144.1登录界面144.2学生用户界面设计164.2.1学生选课页面164.2.2选课结果一览页面174.3教师用户界面设计184.3.1选课情况一览页面184.3.2添加课程页面194.4部分源代码21总结23致谢24参考文献252525 1绪论1.1背景随着计算机及互联网的普及,在线选课系统作为高校信息化的一个重要组成部分,正逐渐改变着传统的人工教务管理选课模式,逐步提高着教务管理人员以及师生的工作效率。应用此系统,学生可以通过网络在任意地点、指定的时间进行选课。在线选课系统具有无可比拟的优势,如大量的数据的存储与查询,信息的完全公开,而且通过计算机系统的设计可以做到公平公正,尽量减少错误。在此背景下,充分利用现有网络资源,建立网上选课系统势在必行。目前的选课系统的实现方式有很多种,既有C/S结构的,也有B/S结构的,总体来说,基于Web的B/S结构的选课系统是最适合当前高校教务管理需要的,因此是目前的发展主流。Internet的发展给我们的教育更加现代化,现在网上信息管理是我们现在教育中的一个热点。现在,教师学生跟学校的之间的信息传播只在一指之间,时为我们创造方便快速的途径。在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。目前国家的教育体制也正处在不断改革、创新的阶段,我国教育部门充分吸取国外优秀的教学模式,结合国内多年的办学经验,逐步探索出适合中国特色的教学形式,国家教育部面向各级各类学校开展了全面学分制改革。因此,教学管理软件应充分依托校园网,实现教学信息的集中管理、分散操作、信息共享,使传统的教学管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教学文件管理系统和全校信息系统打下良好的基础。《在线选课系统》是高校教学管理系统的重要组成部分。熟悉教学管理工作的全部过程,从教务工作的实际出发,解决工作中关键性的难点问题,并充分利用计算机网络功能,实现教学工作全过程的计算机管理,帮助具体管理人员从复杂烦琐工作中解放出来。使得教学管理走向无纸化办公和规范化、现代化管理。由于Internet具有影响范围广,能够方便快捷的传递信息,具有近乎实时的交互性,本身又是一个巨大无比的信息库等诸多优点。学生在线选课系统,可以25 提高教师,学生和学校的管理效率。我们的目标是用学生页面选课系统实现最快对全校选修课程发布以及新闻发布,使教师和学生最快知道,创造现代化的学习环境。学生选课是大学的主要管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。在这里,运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。1.2开发目的在线选课系统是一个提供给高校学生制定个人选课计划的选课平台,学生可以在网上进行选课申请,并可查询个人的选课计划以及选课申请情况。同时,教务人员负责维护课程相关信息,包括课程名,开课院系,课程类别(必修,选修),授课老师,课时,上课时间,限选人数等。管理员可以查询选课进度,根据学生选课情况适当调整选课学生名单。这里教师充当管理员身份。应用目标:满足现代化的校园教学管理的要求。使用范围:各大高校以及远程教育组织和教育机构。此系统的开发实现了学生远程选课,浏览选课信息;教师添加课程,查看选课结果。25 2系统需求分析2.1需求分析在线选课系统作为一种现代化的教学技术,已越来越受到人们的重视。是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以在线选课系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。如果能够让学生在网上能够选课、查看选课信息,教师在网上添加课程、查看选课结果,那么这将极大地提高学生、老师的工作效率。2.2可行性分析J2EE平台的飞速发展,技术的成熟以及应用领域的不断扩大,为网上信息的交互提供了一个良好的平台和方便的操作界面。由于J2EE平台基于用户需求的设计方法,使得该系统的使用更加的人性化、个人化、更贴近用户。以J2EE平台的构建思想来实现网上选课系统可以最大程度的做到实用性,可扩展性和可维护性相结合,安全性以及规范化原则。2.3开发及运行环境2.3.1硬件环境处理器:InterPentium4内存:512M硬盘空间:80GB显卡:SVGA显示适配器25 2.3.2软件环境操作系统:windows98/ME/2000/XP/7Web服务器:tomcat4.1.2或以上版本开发平台:MyEclipse数据库服务器:SQLServer2005开发语言:JSP、Java客户端:IE5及其以上版本25 3系统总体设计  3.1功能设计根据需求分析可以得出,整个系统大概分成以下几个模块:(1)登录。选课是带有个人性质的行为,不能够允许任何人为其他人选课,所以必须在用户使用系统的大部分功能之前提供一个验证机制,不管是学生还是教师,必须通过输入用户名和密码来进入系统。同时,学生查看自己的选课情况时,系统也必须知道当前用户是谁,才能够从数据库中提取出来对应的记录。(2)学生选课模块。学生登录系统以后可以查看所有可以选择的课程,并选择自己感兴趣的课程。这个模块就用于列出所有课程信息,并允许学生完成选课操作。(3)学生选课结果浏览模块。学生登录选课系统以后也可以针对自己已经选择的课程进行查看,以决定是否还要选择其他课程。(4)教师查看所有课程选择结果模块。教师登录系统以后,可以随时查看最新的选课信息,如所有课程的信息和对应的选课人数等。(5)添加课程模块。在学生选课之前,必须有对应的课程信息,在这个模块中教师可以添加对应的课程信息,包括课程名称、教师名称、学分等信息。而对于整个系统来说,使用者主要分为一下两种角色。学生。学生只能选择自己感兴趣的课程和查看自己的选课系统,面向的是自己个体的信息,对应的模块是上面的(1)(2)(3)这三个模块。教师。教师面向的是整个课程的信息,并且担当起课程管理的角色,同时可以查看每个课程的选课情况,对应的模块是上面的(1)(4)(5)这三个模块。在线选课系统的用例图,如图3-1所示:25 学生教师登录添加课程选课结果课程一览学生选课图3-1在线选课系统用例图3.2页面迁移图对于学生来说,如果登录成功,则页面默认会直接迁移到选课页面,显示出可以选择的课程一览供学生选择。在选课页面有两种方式可以迁移到选课结果一览页面,一种是对某课程进行选课操作,另一种是直接单击页面上的链接。在选课结果一览页面单击页面上部的链接可以回到选课页面。在选课页面和选课结果一览页面都可以通过单击页面上部的“退出登录”链接退出系统,并返回登录页面。对于教师来说,如果登录成功,则页面默认会直接迁移到课程一览页面,显示出当前所有课程的选课情况。在课程一览页面单击页面上部的链接可以使页面迁移到添加课程页面。在添加课程页面同样可以通过两种方式返回课程一览页面,一种是单击“登录”按钮登录新课程成功以后,页面会返回课程一览页面,另一种是直接单击页面上部的链接。在课程一览页面和添加课程页面都可以通过单击页面上部的“退出登录”链接退出系统,并返回登录页面。根据上面的叙述,可以得出对应的页面迁移图,如图3-2所示:25 首页登录选课页面选课结果一览一面课程一览页面添加课程页面退出链接退出链接选课退出链接登录链接退出学生教师图3-2页面迁移图3.3系统相关技术介绍3.3.1系统开发采用的技术方案——B/S模式B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据;最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。25 随着Internet和WWW的流行,以往的主机/终端和C/S都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是就出现了B/S型模式,即浏览器/服务器结构。B/S模式最大的特点是:用户可以通过WWW浏览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的Web服务器产生的,而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW浏览器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接在一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。3.3.2JSP技术介绍JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入Java程序段和JSP标记,从而形成JSP文件。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。JSP是一种基于Java的脚本技术。在JSP的众多优点之中,其中之一是它能将HTML编码从Web页面的业务逻辑中有效地分离出来。用JSP访问可重用的组建,如Servlet、JavaBean和基于Java的Web应用程序。JSP还支持在Web页面中直接嵌入Java代码。可用两种方法访问JSP文件:浏览器发送JSP文件请求、发送至Servlet的请求。 1.JSP文件访问Bean或其它能将生成的动态内容发送到浏览器的组件。图3-3说明了该JSP访问模型。当Web服务器接收到一个JSP文件请求时,服务器将请求发送至WebSphere应用服务器。WebSphere应用服务器对JSP文件进行语法分析并生成Java源文件(被编译和执行为Servlet)。Java源文件的生成和编译仅在初次调用Servlet时发生,除非已经更新了原始的JSP文件。在这种情况下,WebSphere应用服务器将检测所做的更新,并在执行它之前重新生成和编译Servlet。图3-3浏览器发送JSP文件请求  2.发送至Servlet的请求生成动态内容,并调用JSP文件将内容发送到浏览器。图3-4说明了该访问模型。该访问模型使得将内容生成从内容显示中分离出来更为方便。WebSphere应用服务器支持HttpServiceRequest对象和25 HttpServiceResponse对象的一套新方法。这些方法允许调用的Servlet将一个对象放入(通常是一个Bean)请求对象中,并将该请求传递到另一个页面(通常是一个JSP文件)以供显示。调用的页面从请求对象中检索Bean,并用JSP来生成客户机端的HTML。图3-4发送至Servlet的请求JSP技术在多个方面加速了动态Web页面的开发:一、将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。二、强调可重用的组件JSP作为一个很好的动态网页开发语言得到了越来越广泛的使用,在各类JSP应用程序当中,JSP+JavaBean的组合成为了一种事实上最常见的JSP程序的标准。JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型当中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组件可以快速地生成新的应用程序。对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用。25 3.3.3Javabean的介绍JavaBean是一种基于Java的软件组件。JSP对于在Web应用中集成JavaBean组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。如果我们有三个JavaBean,它们分别具有显示新闻、股票价格、天气情况的功能,则创建包含所有这三种功能的Web页面只需要实例化这三个Bean,使用HTML表格将它们依次定位就可以了。  利用跨平台运行的JavaBean组件,JSP为分离处理逻辑与显示样式提供了卓越的解决方案。3.3.4Servlet的作用在基于JSP的系统开发中,每个JSP文件的内容基本上可以分为两大部分,一部分是表单数据处理模块,一部分是页面显示模块。也就是说,一个JSP文件同时担当起了页面迁移控制、逻辑处理、页面显示3大部分的功能,虽然有的开发人员努力通过有意识的代码规范控制和共通文件的提出,使得页面文件先得规矩了不少,但是依然无法避免大量的逻辑代码和HTML代码交织在一起的情况。实际上对于一个Web应用程序来说,需要开发人员关注的可以分为两大方面,一方面是页面显示内容,另一方面是后台逻辑处理。后台逻辑处理又可以细分为两部分,一部分是页面迁移控制,一部分是业务逻辑处理。将页面显示内容全部用JSP来进行控制,而将后台逻辑处理独立出来采用Servlet进行控制。JSP实际上是被编译为Servlet以后才被执行的,所以将JSP文件中的表单数据处理和业务逻辑提取出来,用Servlet是再合适不过了。而且由于Servlet本身是比较标准的Java类,在复杂的业务逻辑处理上会显得更加游刃有余。添加Servlet以后,JSP的功能就显得单一了许多,编写JSP的时候架设页面需要的数据都已经准备好,只需要考虑如何组织并显示这些数据和一部分客户端的动作控制就可以了。而Servlet则担当起25 真正意义上服务器的角色,接收表单输入数据,访问数据库,进行增、删、查、改等操作和业务逻辑实现,并根据运行结果判断下一个显示的页面,然后跳转到对应的页面。将JSP和Servlet结合,是一种朴素的视图——控制器模型。对于开发者来说,可以将JSP开发人员和Servlet开发人员独立开来,使各自的工作重心集中在自己开发的那一块,这样能够避免每个人独立开发造成整体不和谐的缺点。3.3.5MicrosoftSQLServer2005数据库介绍随着信息技术的发展,计算机处理数据的方式也发生着变化,从文件管理系统到数据库管理系统。MicrosoftSQLServer2005是一个分布式的关系型数据库管理系统,具有客户机/服务器体系结构,采用了Transact-sql的sql语言在客户机与服务器间传递客户机的请求与服务器的处理结果。是一种应用广泛的数据库管理系统,具有许多显著的优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。3.4数据库分析设计3.4.1数据库需求分析按照前面的基本设计内容,在线选课系统主要包括的模块有登录、选课、课程登录等,实际上对应的数据库表也不复杂,主要包括以下3个表。(1)针对用户登录,需要有一个用户表,这个表中应当包含用户名、密码、真实姓名和用户角色(学生或者教师)这样几个字段。(2)针对课程,要有一个存放课程基本信息的表,包括课程编号、课程名称、授课老师、学分、限选人数、上课时间等信息。(3)针对学生选课操作,应该有一个单独的选课表,其中记录了选课的用户名和对应的课程编号,标识选课记录。3.4.2数据库的设计和创建(1)用户表,表名为USER,表结构如下表所示。用户表结构字段名类型长度是否为主键可否为空说明25 USERNAMEVARCHAR20是否用户登录用户名PASSWORDVARCHAR20否否用户登录密码REALNAMEVARCHAR20否否用户真实姓名ROLECHAR1否否0:学生1:教师(2)课程信息表,表名为COURSE,表结构如下表所示。课程表结构字段名类型长度是否为主键可否为空说明COURSE_IDCHAR6是否课程编号COURSE_NAMEVARCHAR40否否课程名称TEACHERVARCHAR40否否授课老师姓名POINTINT否否学分TIME_1CHAR2否否第一次上课时间TIME_2CHAR2否否第二次上课时间LIMITEDINT否否限选人数(3)选课表,表名为ELECTIVE,表结构如下表所示。选课表结构字段名类型长度是否为主键可否为空说明USERNAMEVARCHAR20是否选课学生的用户名COURSE_IDCHAR6是否对应选课编号从这3个表之间的关系可以看出,用户表和课程表都是属于基本表的类型,而选课表则在这两个表之间起到了一个关联表的作用。建立数据库并创建上述表结构的SQL文件代码如下所示。创建表结构CREATEDATABASEch04;Droptableifexistsuser;CREATETABLEUSER(USERNAMEVARCHAR(20)NOTNULL;PASSWORDVARCHAR(20)NOTNULL;REALNAMEVARCHAR(20)NOTNULL;ROLECHAR(1)NOTNULL;PRIMARYKEY(USERNAME));25 Droptableifexistscourse;CREATETABLECOURSE(COURSE_IDCHAR(6)NOTNULL;COURSE_NAMEVARCHAR(40)NOTNULL;TEACHERVARCHAR(40)NOTNULL;POINTINTNOTNULL;TIME_1CHAR(2)NOTNULL;TIME_2CHAR(2)NOTNULL;LIMITEDINTNOTNULL;PRIMARYKEY(COURSE_ID));Droptableifexistselective;CREATETABLEELECTIVE(USERNAMEVARCHAR(20)NOTNULL;COURSE_IDCHAR(6)NOTNULL;PRIMARYKEY(USERNAME,COURSE_ID));25 4系统详细设计和实现4.1登录界面初期显示的登录页面效果如图4-1所示:图4-1登录界面效果图在选择用户角色的时候,规定0代表学生,1代表老师,所以在jsp的一开始,如果session中没有角色变量的时候,则设置角色为0,这样做的目的是为了默认设置角色为学生。初期显示时,光标放在用户名输入域中。单击“登录”按钮时,如果没有输入用户名和密码,或者用户名、密码的长度超过规定的长度时,需要给出错误提示。这些操作都是通过如下代码实现。//登录前的检查functioncheckInput(){//检查用户名不能为空和长度不超过20个半角长度if(form_main.username.value.length<1)25 {form_main.username.focus();form_main.username.select();alert("用户名不能为空!");returnfalse;}if(getLength(form_main.username.value)>20){form_main.username.focus();form_main.username.select();alert("用户名长度不能超过20个半角长度。");returnfalse;}//检查密码同样密码不能为空长度不超过20个半角长度if(form_main.password.value.length<1){form_main.password.focus();form_main.password.select();alert("密码不能为空!");returnfalse;}if(getLength(form_main.password.value)>20){form_main.password.focus();form_main.password.select();alert("密码长度不能超过20个半角长度。");returnfalse;}//用户名和密码都符合要求则同样返回一个值25 returntrue;}当用户名、密码都正确时,角色为学生的则页面迁移到学生选课页面,角色为教师的则页面迁移到选课一览页面。用户可输入系统管理员的用户名,如“aa”,然后输入密码,系统对输入的用户名及相应的密码进行校验。具体流程图如图4-2所示:图4-2登录页面流程图4.2学生用户界面设计4.2.1学生选课页面学生选课页面即如图4-3所示:25 图4-3学生选课页面效果图选课页面同样分为两部分JSP和Servlet,在显示该页面之前,必须在Servlet中进行相关准备工作,将页面显示需要的数据准备好。该页面以表格的形式显示,需要显示的信息为课程编号、课程名称、授课老师、学分、上课时间、限制人数、已选人数。在显示选课按钮的时候,考虑到如果选课人数已经满员的时候不允许用户再选课了,则在这种情况下将选课按钮设置为不可用的灰色状态。在页面的最后还设置了一个隐藏的表单变量,这个表单变量是用来标识用户按下了哪一个课程的选课按钮。当用户按下选课按钮的时候,将对应的课程编号设置在这个隐藏的表单变量中,并提交表单。4.2.2选课结果一览页面选课结果一览页面如图4-4所示:25 图4-4选课结果一览效果图该页面的实现和选课页面的实现十分类似,比较大的区别就在于上课时间的显示方式,在此页面中由于少了选课按钮、限选人数、已选人数三列,表格宽度比较富裕,所以将第一次上课时间和第二次上课时间放在一行显示中间用空格隔开。同样是对Servlet的编写,在这个Servlet中需要考虑的事情比较简单,只是在页面显示之前从数据库中抽取出必要的数据。4.3教师用户界面设计4.3.1选课情况一览页面选课情况一览页面如图4-5所示:25 图4-5选课情况一览效果图根据前面的基本设计,教师在登录在线选课系统以后进入的默认页面是所有课程的选课情况一览页面。教师看到的选课情况一览和学生看到的选课结果一览页面有点类似,但是也有区别。教师看到的选课情况一览面向的是所有课程的选课情况,而学生看到的是自己的选课结果,教师看到的选课情况包括该课程的限选人数和已选人数,而学生看到的不包括该对应信息。但从代码级别考虑,这两个页面的相似性还是比较大的。4.3.2添加课程页面添加课程页面如图4-6所示:25 图4-6添加课程页面效果图在选课情况一览页面单击超链接就可以到达添加课程页面,添加课程页面和前面的其他页面都有所不同,它不需要显示前的准备工作,而且是一个单纯的登录页面。添加课程页面依然要考虑JSP和Servlet的约定,这是因为,当用户输入的课程信息因为某种原因无法登录入数据库的时候,需要重新显示添加课程页面,而且用户刚才输入的信息应该依然在页面上保留。因为添加课程页面的信息是一个完整的课程信息,所以约定JSP和Servlet共通操作的是一个课程对象,在session中的变量名为“course”,这里是单数形式,代表只是一个课程的详细信息。在编写对应的JSP代码的时候,需要注意从session中取得对应的信息并显示在页面上的合适位置,而且在显示上课时间的时候,需要将上课时间的两位字符串进行分割,从而正确显示下拉列表框的内容。还需要特别注意的是:在该Servlet登录课程之前,需要进行一次校验,即用户输入的课程编号是否在数据库中已经存在,因为之前所做的一切工作,都是以课程编号作为主键进行的。如果发现在数据库中已经存在对应的课程编号,则重新显示添加课程页面,并报告错误信息,否则将用户输入的课程信息登录进数据库,并使页面迁移到选课情况一览页面。25 4.4部分源代码publicclassCommonextendsHttpServlet{publicConnectiongetDBConnection(){//尝试连接数据库try{//载入SQLServer2005的JDBC驱动类Class.forName("com.mysql.jdbc.Driver");//获得数据库连接Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost/zxxk?user=jspdb&password=jspdb");returnconn;}catch(Exceptionex){ex.printStackTrace();returnnull;}}}本段代码实现了前台到后台数据库的连接,是一个共通的类,在整个系统中起到了至关重要的作用。if(sUsername!=null&&sUsername.length()>0){//校验用户输入信息StringsRealname=getUserRealname(sUsername,sPassword,sRole);if(sRealname==null){//出错了设置变量并重新显示mySession.setAttribute("errMsg","登录失败!请重新输入相关信息!");mySession.setAttribute("username",sUsername);mySession.setAttribute("role",sRole);response.sendRedirect("../login.jsp");return;}else{mySession.setAttribute("username",sUsername);25 mySession.setAttribute("realname",sRealname);//根据用户角色的不同决定迁移到哪个页面if(sRole.equals("0")){//学生角色则迁移到选课一览页面response.sendRedirect("../servlet/ChooseCourse");}else{//教师角色则迁移到选课结果一览页面response.sendRedirect("../servlet/CourseList");}return;}}本段代码用来判断用户输入的用户名、密码是否正确,若正确判断用户角色,“0”代表学生,“1”代表教师,并使页面迁移到对应的页面。25 总结  毕业设计是对我大学3年学习成果的考核和总结。在这几个月里我通过自己的努力以及关辉老师的耐心指导,本着严谨求实、开拓创新的精神,完成了这次大学3年里最后的设计实践。本次的课程设计对我受益匪浅,让我系统地认识和全面地掌握了java程序的开发和应用。这次的设计,从选题到实现,几乎都是自己独立完成的。从前台网页设计的实现,到后台代码的编辑,我用到的软件主要有JDK、MyEclipse7.0、SQL2005、Tomcat等,并首次运用java语言,开发了这个简单的在线选课系统。在系统的开发过程中,多门以前感觉很抽象的课程,如软件工程、数据库原理、面向对象程序设计等变得清晰起来,强烈地感觉到这几门理论课程在实践中的重要性。25 致谢本文主要阐述了在线选课系统的开发。此作品的完成得到了关老师的指引,还有同学和朋友的帮助和支持。通过论文的研究和总结,使的我的大学学术成长更进一步,当我完成毕业论文的时候,只有源自心底的诚挚谢意。我首先要感谢我的指导老师关辉老师在三年来的悉心教诲,再次感谢答辩组的各位老师对学生的指导。我会紧记教导,提升自己的力量,争取使用自己的力量回报母校,回报社会。25 参考文献1美Berry,C.A.等著邱仲潘等译.实用J2EE设计模式编程指南.电子工业出版社2顾玮.基于B/S模式的网络选课系统的设计与实现.2010年04期3王勇,方娟,毛国君.Java语言程序设计实例教材建设.2008年21期4赵强乔,新亮.J2EE应用开发(Weblogic+JBuilder).电子工业出版社5陆正中,马进德,石正贵.JBuilder软件开发项目实践.清华大学出版社6高亚楠.Strnts框架在Web开发中的应用.2011年05期7李迎秋,李树华.STRUTS架构剖析与应用[J].长春师范学院学报,2005,(05)8曲珍.基于J2EE架构的教务管理系统的设计与实现[D].西南交通大学,2006.9飞思科技产品研发中心.JSP教程.电子工业出版社,2002.01.0110马宁,邓先瑞,杜瑞庆.基于JSP的SQLServer数据库访问技术[J].电脑知识与技术(学术交流),2007,(02)11沈建男,杨洸.JSP程序设计务实12刘剑.JSP网站开发与设计.2005年14期13SunMicrosystems,Inc.JavaServerPageSpecification14冯洪峰.Java连接数据库SQLServer2005.2010年12期25'