




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华东交通大学理工学院Institute of Technology.East China Jiaotong UniversityJava课设Java Design ( 2016年 )题 目 分 院: 电气与信息工程分院 专 业: 信息管理与信息系统 班 级: 一班 学 号: 20150210450122 学生姓名: 廖大雪 指导教师: 程志平 截至日期: 2016.12.29 I贺冰:基于WEB的学生选课系统华东交通大学理工学院课程设计原创性申明本人郑重申明:所呈交的课程设计是本人在导师指导下独立进行的研究工作所取得的研究成果。设计中引用他人的文献、数据、图件、资料,均已在设计中特别加以标注引用,除此之外,本设计不含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式表明。本人完全意识到本申明的法律后果由本人承担。课程设计作者签名: 廖大雪 日期: 2016 年 12月29日课程设计版权使用授权书本课程设计作者完全了解学院有关保留、使用课程设计的规定,同意学校保留并向国家有关部门或机构送交设计的复印件和电子版,允许设计被查阅和借阅。本人授权华东交通大学理工学院可以将本设计的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编程设设计。(保密的程设设计在解密后适用本授权书) 程设设计作者签名: 廖大雪 指导教师签名:程志平签字日期: 2016年 12月 29日 签字日期:2016年 12月 29日摘 要随着高校等各类学校的年年持续扩招,及玲珑满目的各类学校的出现,学生(不管是本科、大专、高职、中专)人数逐年增加。为了满足广大学生的求学需要,各个高校的师资力量、硬件配置也随之增强。这样一来,日常行政部门的工作也就越来越繁重,这一点在选课这块显得尤为突出。而传统的人工操作,即费时又费力,而且容易出错,也容易出现公平问题,工作效率较低。因此,拥有一套实用、高效、完善的在线选课系统就显得特别重要,它可以提升高校等各类学校的教育质量和教学管理质量,提高工作效率,降低行政成本。在当今高校等各类学校并且未来的一段时间里,“学生选课系统”将会发挥强大的作用服务于学校。本选课系统着重应用JAVA WEB技术包括:JSP技术以及JDBC连接数据库。使用前台的技术包括JSP,JavaScript,CSS等。数据库采用MySQL。开发环境采用MyEclipse 10。系统设计部分主要介绍了系统详细功能设计、数据库设计以及代码架构设计。系统界面友好,操作简单,安全性高,是一个实用的选课系统。系统面向的用户为:管理员、教师、学生。主要的模块分为,用户登录模块,管理员发布选课,进行增删查改。学生进行课程的选定以及退选。教师管理员可以查看自己所带课程选课的相关学生信息等等。关键词:JSP;MySQL数据库;选课系统。I贺冰:基于WEB的学生选课系统目 录I第一章 引 言1.1 设计目的随着高校等各类学校的年年持续扩招,及玲珑满目的各类学校的出现,学生(不管是本科、大专、高职、中专)人数逐年增加。为了满足广大学生的求学需要,各个高校的师资力量、硬件配置也随之增强。这样一来,日常行政部门的工作也就越来越繁重,这一点在选课这块显得尤为突出。而传统的人工操作,即费时又费力,而且容易出错,也容易出现公平问题,工作效率较低。因此,拥有一套实用、高效、完善的在线选课系统就显得特别重要,它可以提升高校等各类学校的教育质量和教学管理质量,提高工作效率,降低行政成本。在当今高校等各类学校并且未来的一段时间里,“学生选课系统”将会发挥强大的作用服务于学校。1.2 研究内容通过研究和探讨,确定该学生选课系统主要研究和设计的主要内容如下六点:- 1 -1.院系管理4.教师管理2.专业管理5.学生管理3.课程管理6.选课管理1.3 开发环境1.3.1 开发工具MyEclipse 10MyEclipse,是基于Eclipse开发的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。据官方介绍,诸如三星、IBM、戴尔、惠普、花旗集团、西门子、斯坦福大学、波音公司等知名机构均使用MyEclipse进行Java、JavaEE开发,80%以上的全球财富100强企业均是MyEclipse的用户。MyEclipse提供了对UML、Ajax、Web、Web Services、J2EE、JSP、XML、Struts、JSF、Java Persistence、EJB、扩展数据库以及各种应用服务器的集成支持。MyEclipse也全面支持各种主流的第三方框架,让你能够快速高效地进行开发工作。此外,MyEclipse还全面支持各种基于Eclipse平台的插件,允许你自由定制或扩展个性化功能。MyEclipse全面支持Eclipse开源平台的所有功能特性,如果你熟悉Eclipse,那么你能够轻松地上手MyEclipse,包括熟悉的Eclipse快捷键,而且使用MyEclipse完成某项任务往往要比使用Eclipse更加快速、简单。而MyEclipse 10版本使用最高级的桌面和Web开发技术,包括HTML5和Java EE6,支持JPA 2.0、JSF 2.0、Eclipselink 2.1以及Open JPA2.0.而对IBM WebSphere用户来说,MyEclipse Blue支持最新版本的WebSphere Portal Server 7.0、WebSphere 8以及以前的版本,无缝的支持IBM DB2数据库。MyEclipse 10对检索功能以及错误查询功能更加强大,包括对js文件的错误查询。就目前本人的体验来说,最大的变化莫过于软件安装界面,推荐使用link方法进行插件安装,方便快捷。本系统开发环境使用MyEclipse的原因还有一个,MyEclipse自带Tomcat 6.0,无需自己去下载和安装Tomcat。1.3.2 MySQL数据库MySQL是一个关系型数据库,由瑞典MySQ LAB公司开发,目前属于Oracle旗下公司。MySQL最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP,Linux和Apache可组成良好的开发环境,经过多年的web技术发展,在业内被广泛使用的一种web服务器解决方案之一,称之为LAMP。本系统采用MySQL的原因是:目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。1.4 采用相关技术1.4.1 JSPJSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。它实现了Html语法中的java扩张(以形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。1.4.2 Servlet及HTTPServlet1. ServletJava Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。最早支持Servlet技术的是JavaSoft的Java Web Server。此后,一些其它的基于Java的Web Server开始支持标准的Servlet API。Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。这个过程为:1) 客户端发送请求至服务器端;2) 服务器将请求信息发送至Servlet;3) Servlet生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;4) 服务器将响应返回给客户端。2. HTTPServletHTTPServlet使用一个HTML表单来发送和接收数据。要创建一个HTTPServlet,请扩展HttpServlet类,该类是用专门的方法来处理HTML表单的GenericServlet的一个子类。HTML表单是由和标记定义的。表单中典型地包含输入字段(如文本输入字段、复选框、单选按钮和选择列表)和用于提交数据的按钮。当提交信息时,它们还指定服务器应执行哪一个Servlet(或其它的程序)。HttpServlet类包含init()、destroy()、service()等方法。其中init()和destroy()方法是继承的。本系统采用的主要是其中两个方法:doGet()和doPost()。doGet()方法:当一个客户通过HTML表单发出一个HTTP GET请求或直接请求一个URL时,doGet()方法被调用。与GET请求相关的参数添加到URL的后面,并与这个请求一起发送。当不会修改服务器端的数据时,应该使用doGet()方法。doPost()方法:当一个客户通过HTML表单发出一个HTTP POST请求时,doPost()方法被调用。与POST请求相关的参数作为一个单独的HTTP请求从浏览器发送到服务器。当需要修改服务器端的数据时,应该使用doPost()方法第二章 系统概述2.1 系统需求分析本人多方搜集资料,根据高校等各类学校的教务需求,以及具体的管理体系,本系统的用户身份设计上做出了不同的功能分配,分别设立了三个主要身份:管理员、教师、学生。用户分别以这三种不同身份登陆系统后,都会拥有各自的后台管理界面和不同的管理功能。以管理员登入系统后,主要可以对六大功能模块进行增删查改:院系、专业、课程、教师、学生、选课等进行增删改查。以教师身份进入系统,可以进行基本信息查询与修改,如对选了自己所带课程的学生信息进行查询等。以学生身份登陆系统后,可以在规定的时间内,使用校园内任意一台接入校园网的计算机,进行学期选课和退选等。2.2 系统功能模块实现因本人能力所限,在学校学习过程中,对做系统方面还存在很多不足之处,同时毕业设计要求一个人要做完一个完整的管理系统,所以在对需求分析阶段也存在考虑不周全的地方,介于此本学生选课系统主要实现功能有如下三点(实现的功能模块都能正常运行,并无虚设功能模块):1. 管理员登陆后,可进行管理和设置的功能模块主要有6大功能,这也是做本系统所花时间最多的地方,示意图如图2-1所示:图2-1 管理员登陆后可管理的功能模块2. 教师登陆后可进行查看选了本人课程的所有学生信息及担任课程的课表信息(因本人能力和完成系统的时间所限,并且本系统是学生选课系统,以实现学生选课为主,不是排课管理系统,所以课程表功能暂未实现,请多包涵),示意图如图2-2所示:3. 学生登陆后可进行选课(选修自己感兴趣的课程)和退选(感觉后悔可以进行退选),以及对个人信息的查看和修改等功能,示意图如图2-3所示:图2-2 教师登陆后可管理的功能模块图2-3 学生登陆后可管理的功能模块第三章 数据库设计3.1 数据库设计工具Navicat for MySQL是一套专为MySQL设计的强大数据库管理及开发工具。它可以用于任何3.21或以上的MySQL数据库服务器,并支持大部分MySQL最新版本的功能,包括触发器、存储过程、函数、事件、检索、权限管理等等。它为专业开发者提供了一套强大的足够尖端的工具,但对于新用户仍然易于学习。Navicat for MySQL基于Windows平台,为 MySQL量身订作,提供类似于 MySQL 的用管理界面工具。此解决方案的出现,将解放 PHP、J2EE 等程序员以及数据库设计者、管理者的大脑,降低开发成本,为用户带来更高的开发效率。它使用了极好的图形用户界面(GUI),可以用一种安全和更为容易的方式快速和容易地创建、组织、存取和共享信息。 用户可完全控制 MySQL 数据库和显示不同的管理资料,包括一个多功能的图形化管理用户和访问权限的管理工具,方便将数据从一个数据库转移到另一个数据库中(Local to Remote、Remote to Remote、Remote to Local),进行档案备份。 Navicat for MySQL 支援 Unicode,以及本地或远程 MySQL 服务器多连线,用户可浏览数据库、建立和删除数据库、编辑数据、建立或执行 SQL queries、管理用户权限(安全设定)、将数据库备份/复原、汇入/汇出数据(支援 CSV, TXT, DBF 和 XML 档案种类)等。软件与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及 BINARY VARBINARY/BIT 数据种类等的规范。如图3-1所示。图3-1 Navicat for MySQL启动后3.2 数据库表的结构设计根据本文前面的分析以及要实现的功能的要求,并采用关系数据库范式设计中的第三范式(简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息)的设计要求,本系统的数据库xuanke总共包含9张数据表,分别是:courspeT(课程专业限制表)、courT(课程信息表)、courteaT(课程分配教师表)、depT(院系信息表)、selcourT(选课结果表)、speT(专业信息表)、stuT(学生基本信息表)、teaT(教师基本信息表)、userT(管理员信息表)。每张表格的创建使用如下SQL语句就可以创建成功,如下所示:1. courspeT(课程专业限制表),SQL代码如下,结构如图3-2所示:CREATE TABLE courspet (id int(11) NOT NULL AUTO_INCREMENT,courId int(11) DEFAULT NULL,speId varchar(500) DEFAULT NULL,PRIMARY KEY (id) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;图3-2 courspeT表的结构2. courT(课程信息表),SQL代码如下,结构如图3-3所示:CREATE TABLE court ( id int(11) NOT NULL AUTO_INCREMENT, courName varchar(30) DEFAULT NULL, PRIMARY KEY (id) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8;图3-3 courT表的结构3. courteaT(课程分配教师表),SQL代码如下,结构如图3-4所示:CREATE TABLE courteat ( id int(11) NOT NULL AUTO_INCREMENT, courId int(11) DEFAULT NULL, teaId varchar(500) DEFAULT NULL, PRIMARY KEY (id) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;图3-4 courteaT表的结构4. depT(院系信息表),SQL代码如下,结构如图3-5所示:CREATE TABLE dept ( id int(11) NOT NULL AUTO_INCREMENT, depName varchar(16) DEFAULT NULL, PRIMARY KEY (id) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;图3-5 depT表的结构5. selcourT(选课结果表),SQL代码如下,结构如图3-6所示:CREATE TABLE selcourt ( id int(11) NOT NULL AUTO_INCREMENT, courId varchar(5) DEFAULT NULL, stuId varchar(5) DEFAULT NULL, PRIMARY KEY (id) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8;图3-6 selcourT表的结构6. speT(专业信息表),SQL代码如下,结构如图3-7所示:CREATE TABLE spet ( id int(11) NOT NULL AUTO_INCREMENT, speName varchar(16) DEFAULT NULL, spe_dep_id int(11) DEFAULT NULL, PRIMARY KEY (id) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8;图3-7 speT表的结构7. stuT(学生基本信息表),SQL代码如下,结构如图3-8所示:CREATE TABLE stut ( id int(11) NOT NULL AUTO_INCREMENT, stuNo varchar(14) DEFAULT NULL, stuPwd varchar(16) DEFAULT NULL, stuName varchar(10) DEFAULT NULL, stuSex varchar(1) DEFAULT NULL, stuCardId varchar(18) DEFAULT NULL, stuPhone varchar(11) DEFAULT NULL, stuQq varchar(13) DEFAULT NULL, stuEmail varchar(30) DEFAULT NULL, stu_spe_id int(11) DEFAULT NULL, PRIMARY KEY (id) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;图3-8 stuT表的结构8. teaT(教师基本信息表),SQL代码如下,结构如图3-9所示:CREATE TABLE teat ( id int(11) NOT NULL AUTO_INCREMENT, teaNo varchar(10) DEFAULT NULL, teaPwd varchar(16) DEFAULT NULL, teaName varchar(10) DEFAULT NULL, teaSex varchar(1) DEFAULT NULL, teaCardId varchar(18) DEFAULT NULL, teaPhone varchar(11) DEFAULT NULL, teaQq varchar(13) DEFAULT NULL, teaEmail varchar(30) DEFAULT NULL, tea_dep_id int(11) DEFAULT NULL, PRIMARY KEY (id) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;图3-9 teaT表的结构9. userT(管理员信息表),SQL代码如下,结构如图3-10所示:CREATE TABLE usert ( id int(11) NOT NULL AUTO_INCREMENT, uAcct varchar(16) DEFAULT NULL, uPwd varchar(16) DEFAULT NULL, PRIMARY KEY (id) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;图3-10 userT表的结构第四章 系统详细设计4.1 用户登陆页面设计登陆页面HTML代码如下(由于篇幅所限,这里只放关键代码,详细代码见本篇论文附录章节)。JS代码如下,它主要用来对登陆表单的合法性进行验证,没有按照本系统的要求填写,将无法提交登陆信息,也就无法进行登陆。function chkfrm()var txtAcct = document.getElementById(txtAcct).value;var txtPwd = document.getElementById(txtPwd).value;txtAcct = txtAcct.replace(/s+/g, );txtPwd = txtPwd.replace(/s+/g, );if(txtAcct=)alert(用户名必填!);document.getElementById(txtAcct).focus();return false;if(txtPwd=)alert(登陆密码必填!);document.getElementById(txtPwd).focus();return false;return true;表单代码如下,它的功能是和用户进行交互,为用户提供表单控件,用户才可以进行用户名和密码的输入,并且提供登陆按钮。 用 户 名:请输入用户名登录密码:请输入密码用户类型:管理员 教师 学生 登陆页面截图,三种用户可用统一登陆页面,如图4-1所示:图4-1 登陆页面截图4.2 学生选课后台主页面设计当学生用户通过自己的账号和密码进入后台后,可看到此界面。此界面使用了框架页,分为上下结构,下部又分为左右结构。后台页面安全性非常重要,非登陆用户是没法进入的,所以在这里我进行了用户检验,使用的是session技术。只要是正常登陆用户,就会有正常的session值,所以能保证合法用户进入该页面,非法用户无法进入。具体代码如下(更详细代码见附录):学生后台页面您的浏览器不支持框架!% else out.println(alert(没有登陆或登陆超时!);window.location=login.jsp;); catch (Exception e) out.println(alert(没有登陆或登陆超时!);window.location=login.jsp;);out.println(e.getMessage();%学生后台页面截图及运行效果,如图4-2、图4-3、图4-4所示:图4-2 学生后台页面截图图4-3 退选操作及退选成功对话框截图图4-4 选题操作及选题成功对话框截图4.3 管理员用户后台管理中心页面设计管理员后台页面也是这个系统的关键页面,所有的数据增删改查都可以在此进行操作。主要包括的功能有:选课相关管理、院系管理、专业管理、课程管理、学生管理、教师管理等等。其后台主页也是和学生的后台页面一样,使用框架结构进行布局。同时也使用了session技术进行安全验证,将非法用户拒之门外。具体代码如下(更详细代码见附录):后台管理员页面您的浏览器不支持框架!% else out.println(alert(没有登陆或登陆超时!);window.location=login.jsp;); catch (Exception e) out.println(alert(没有登陆或登陆超时!);window.location=login.jsp;);out.println(e.getMessage();%管理员后台页面截图及运行效果,如图4-5所示图4-5 管理员后台页面截图待完成后续代码。4.4 教师用户后台页面设计待完成后续代码。第五章 结论就本系统的开发进行总结,刚开始选题时就为选写论文类的题目还是选设计类的题目而发愁,等一开始选题发现几乎都是设计类的题目,才下定决心选一个设计类的题目,所以选择了基于Web的学生选课系统,一是检验一下自己大学所学的知识,二是挑战一下自己。从和导师见面开始到接到导师的任务书,就搜集和准备相关资料,包括国内各大院校的选课系统方面的经验,结合自己的相关知识,进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 皮革制品的表面处理与效果呈现考核试卷
- 导演聘用协议合同书范例
- 政策性银行服务社会公益事业的模式与经验考核试卷
- 金融行业AI伦理监管政策对金融稳定性的影响研究报告
- 智能水浴锅企业制定与实施新质生产力战略研究报告
- 智能温控中药熏蒸床行业跨境出海战略研究报告
- 玫瑰花美容养颜茶行业深度调研及发展战略咨询报告
- 影视行业2025年工业化制作流程质量控制与产业链协同研究报告
- 智能淋浴系统行业深度调研及发展战略咨询报告
- 纸张纤维素的提取与利用研究考核试卷
- (二调)武汉市2025届高中毕业生二月调研考试 语文试卷(含官方答案解析)
- 2025-2030年中国电力行业发展前景预测与投资战略规划分析报告
- 20《井冈翠竹》(+公开课一等奖创新教案)
- 2024年AI大模型产业发展与应用研究报告
- Agent视域下的人工智能赋能作战系统
- 2025年幼儿园家园共育工作计划
- 2025年贵州铜仁市玉屏永昇国有资产投资管理有限公司招聘笔试参考题库附带答案详解
- DBJ33T 1271-2022 建筑施工高处作业吊篮安全技术规程
- 基本药物制度政策培训课件
- 大学生心理健康教育(山东联盟)知到智慧树章节测试课后答案2024年秋德州学院
- 从文学到电影知到智慧树章节测试课后答案2024年秋山东大学
评论
0/150
提交评论