欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    网上选课系统设计与实现设计.doc

    • 资源ID:17268740       资源大小:287KB        全文页数:23页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    网上选课系统设计与实现设计.doc

    【精品文档】如有侵权,请联系网站删除,仅供学习与交流网上选课系统设计与实现设计.精品文档.重庆工业职业技术学院毕业设计(论文)课 题 名 称 网上选课系统设计与实现专 业 班 级: 10计应303 学 生 姓 名: 张 三 指 导 教 师: 刘 娜 二O一二 年 十二 月目 录摘要1关键词1引言21 系统相关技术介绍21.1 系统开发采用的技术方案B/ S模式21.2 MVC设计模式31.3 JSP介绍31.3.1 将内容的生成和显示进行分离31.3.2 强调可重用的组件32 系统开发工具及容器42.1 开发工具42.1.1 MyEclipse简介42.1.2 DreamWaver简介42.2 数据库的选择42.3 JDK版本的选择42.4 容器43 需求分析53.1可行性分析53.2 功能模块分析53.3 软硬件环境需求74 概要设计74.1 系统功能结构74.2 系统流程图74.3 系统数据库E-R模型84.4 数据库表设计95 详细设计105.1 界面设计105.2 系统功能模块设计115.2.1 公共模块115.2.2管理员模块125.2.3 学生模块16结束语20致 谢20参考文献20网上选课系统设计与实现摘要:学生选课系统是一款管理系统,囊括了学生管理和课程管理的基本过程。系统覆盖学生的选课、查看、修改密码等各个环节,软件的各个模块操作界面简单、实用。该系统是一个基于B/S结构的Web项目,采用Struts软件进行开发,用户数据选用MySQL进行统一管理。该系统可以显著减轻教务人员的工作负担,大大提高工作效率,从而实现教务管理的数字化和网络化。关键词:B/S ;选课系统;数据库;Web项目引言:Internet的发展使我们的教育更加现代化,实现教学信息的集中管理、分散操作、信息共享,使传统的教学管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教学文件管理系统和全校信息系统打下良好的基础。学生网上选课系统是高校教学管理系统的重要组成部分,充分利用计算机网络功能,实现教学工作全过程的计算机管理,帮助具体管理人员从复杂烦琐工作中解放出来,使得教学管理走向无纸化办公和规范化、现代化管理。1 系统相关技术介绍1.1 系统开发采用的技术方案B/ S模式信息技术的高速发展使网络计算模式不断更新。从单机时代的主机/终端模式、文件服务器时代的共享数据模式、客户机/服务器时代的Client/Server(客户机/服务器)模式,再到今天网络计算机时代的Browser/Server(浏览器/服务器)模式,计算模式发生了巨大变化,同时计算模式的不断进步使管理软件的架构发生了很大变化。系统综合还应用了B/S模式1,即Browser/Server(浏览器/服务器)结构,是对C/S结构的一种改进。B/S模式的好处还有运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式访问和操作共同的数据,解决了地域的限制。而基于互联网应用系统都采用Browser/S erver(浏览器/服务器)模式结构,在客户端中除Web浏览器外,要安装的软件便是一些插件和控件。这些插件被设计于服务器端,并通过网络下载到客户端,而控件则是第一次浏览下载并注册的。这是一种最小化的客户端安装及客户机模式,是目前客户服务器体系结构的发展方向。1.2 MVC设计模式 Model模型-View视图-Controller控制器2是软件工程中的一种软件架构模式。它把软件系统分为三个基本部分:Model模型,View视图和Controller控制器。模型视图控制器模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。专业人员可以通过自身的专长分组:控制器Controller- 负责转发请求,对请求进行处理。 视图View - 界面设计人员进行图形界面设计。 模型Model - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。1.3 JSP介绍JSP是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。 JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。JSP技术在多个方面加速了动态Web页面的开发:1.3.1 将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库等),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。1.3.2 强调可重用的组件JSP 作为一个很好的动态网页开发语言得到了越来越广泛的使用,在各类JSP 应用程序当中,JSP+JavaBean 的组合成为了一种事实上最常见的JSP程序的标准。JavaBean 4是描述Java 的软件组件模型,有点类似于 Microsoft的COM 组件概念。在Java 模型当中,通过JavaBean 可以无限扩充Java 程序的功能,通过JavaBean 的组件可以快速地生成新的应用程序。对于程序员来说,最好的一点就是 JavaBean可以实现代码的重复利用。 JavaBean 是一种基于 Java 的软件组件。 JSP 对于在 Web 应用中集成 JavaBean 组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为 JSP 应用带来了更多的可伸缩性。 JavaBean 组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。如果我们有三个 JavaBean ,它们分别具有显示新闻、股票价格、天气情况的功能,则创建包含所有这三种功能的 Web 页面只需要实例化这三个 Bean ,使用 HTML 表格将它们依次定位就可以了。  利用跨平台运行的 JavaBean 组件, JSP 为分离处理逻辑与显示样式提供了卓越的解决方案。2 系统开发工具及容器2.1 开发工具本系统使用的开发工具,后台java代码编写使用MyEclipse Europa workbench 6.5,前台页面编辑使用DreamWaver 8。2.1.1 MyEclipse简介MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)5是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。2.1.2 DreamWaver简介Dreamwaver是美国MACROMEDIA公司(现为Adobe收购)开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具。2.2 数据库的选择2.2.1 MySQL 简介MySQL是一个开放源码的关系数据库管理系统6,MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用。MySQL 是一个真正的多用户、多线程的SQL数据库服务器。MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统,MySQL具有小巧、功能齐全、查询迅捷等优点,MySQL 主要目标是快速、健壮和易用,关键的是它是免费的。2.3 JDK版本的选择Java Development Kit (JDK) 是Sun公司针对Java开发员的软件开发工具包。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。本系统采用JDK 6 edition update 7版本。2.4 容器本系统页面采用JSP,所以对应的容器采用Apache Tomcat 6.0。既然JSP/Servlet,那么它当然是不能直接运行的,必须把它放到某种运行环境当中,它才能发挥它的作用。这个环境就是我们讲的"容器"。容器也是 java 程序,它的主要功能除了为Servlet 提供运行环境,还有更重要的就是提供网络传输协议与java 程序实体的相互转换。客户端向服务器发送数据,遵循的是HTTP 协议的数据格式,服务器向客户端发送数据也是遵循HTTP协议的。在客户端和服务器端,可能存在着不同的编程语言编写的程序,比如java,C+等等。各种语言都有自己用于处理HTTP协议数据的方法(类),为了使用java提供的各种HTTP处理相关的类,必须将HTTP协议下的数据做一定的转换,转换成一些java object,这样才能使用java的方法进行数据处理。同理,当这些处理完成,又需要将这些java object转换回HTTP协议下的数据,反馈给客户端(JSP/Servlet当然存在与服务器端)。JSP/Servlet容器就扮演了完成这个双向转换的角色。2.4.1 Tomcat简介Tomcat7是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。但是,不能将 Tomcat 和 Apache Web 服务器混淆,Apache Web Server 是一个用 C 语言实现的 HTTP web server;这两个 HTTP web server 不是捆绑在一起的。Apache Tomcat 包含了一个配置管理工具,也可以通过编辑 XML 格式的配置文件来进行配置。3 需求分析3.1可行性分析(1)技术可行性学生选课系统是一款管理系统,系统包含课程管理的基本过程。系统覆盖学生的选课、查看、修改密码等各个环节,软件的各个模块操作界面简单、实用,用户可以在最短的时间内掌握系统的使用方法。用户可以在最短时间内找到自己所需要的信息。系统采用如今已广泛被人们接受的B/S结构,可以通过Internet协同工作,数据共享。系统软件采用现在流行且技术很成熟的框架Struts +MySQL平台进行开发并实现。可以进行高效的管理,提高工作效率。本系统具有以下特点:l 具有良好的系统性能,友好的用户界面。l 较高的处理效率,便于使用和维护。l 采用成熟的技术开发,全系统具有较高的技术水平l 尽可能地简化选课的管理工作,提高工作效率(2)经济可行性由于本系统是为学生选课管理使用的系统,该系统可以容易实现学生,老师与学校之间的联系,在Internet上实现完成部分教务工作,提高办事效率和周期。系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力和物力,所带来的效益远远大于系统软件的开发成本,在经济上完全可行。(3)操作可行性界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。3.2 功能模块分析在本系统中,有两类用户:系统管理员和学生。两种不同的用户所具有的操作权限以及操作内容均不一样。本选课系统给予管理员很大的自主权,负责向系统中添加学生和教师的个人信息以及教学楼教室信息以及开设课程等。学生登录网站可选择课程。系统超级管理员设置一个选课时间段,在到达时间段以前,普通管理员可以开设课程;到达选课时间段以后,学生可以登陆网站选择课程。管理员登陆网站后可以开设课程,为课程编辑上课时间和地点,当系统中出现时间地点冲突的时候,系统报告并推荐一个时间地点。对于学生用户,到达选课时间段以后,每个学生除了必须选择必修课程外,至少还要选择两门选修课程。当时候超过选课时段后,系统自动锁定学生的选课课程8。系统可以根据学生的选课信息,生成一份学生自己的课表9。根据上面的要求,从操作功能上可以分为两个类:一个是通用操作,主要实现用户的登录注销和修改密码等;另一种是为不同用户定制不同操作。1.通用操作(1)登录与注销 每个用户都可以用自己的帐号登录系统10。用户操作完成后退出系统,注销后可以重新登录系统。(2)修改密码 每个用户第一次登录都用默认密码11(初始密码为8888)。2.用户功能(1)系统管理员设置选课时间段:系统管理员通过此项功能设置选课时段12,只有在选课时间段里,学生才可以选择课程,超过次时间段,学生选课信息被自动所定,不得修改。录入学生与教师个人信息:通过此项功能可以实现对教师和学生的个人信息添加删除。录入教学楼教室信息:通过此项功能可以把学校里所有的教学楼教室的信息录入到系统中,以便给教师开设课程时候设置上课的教室。开设课程13:可以设置该课程教师、教室、时间、地点、最大人数和剩余人数,开设了课程后,可以灵活地设置上课时间和地点。(2)学生用户显示和修改个人信息:学生登录系统后,可以查看和修改学生的个人信息,如姓名,性别,电话等。查看开设课程:学生登录后,可以查看所有开设的课程。查看该课程的信息,上课时间地点,开课教师信息等。查看最终选课信息:学生登录系统后,可列出已选择的课程14,若选课信息未被锁定,则可以退选。选课功能用例图如图3-1所示:图3-1 选课功能用例图查看已选课程用例图如图3-2所示:图3-2 已选课程用例图账号管理用例图如图3-3所示:图3-3账号管理用例图3.3 软硬件环境需求硬件平台:CPU:P4 1.8GHz以上;内存:256MB以上。软件平台:操作系统:Windows 2000/WinXP/Win2003数据库:MySQL5.0JSP 服务器:Tomcat 6.0;开发工具包:JDK Version 1.64 概要设计4.1 系统功能结构 学生选课系统的功能结构如图4-1所示学生选课系统用户登陆学生模块管理模块选择课程修改密码查询已选课程基本信息学生信息管理课程信息管理图 4-1学生选课系统功能结构图4.2 系统流程图根据学生选课系统的操作流程,系统的流程图如图4-2、4-3所示管理员学生选课系统管理员登陆基本信息管理学生信息管理课程信息管理添加学生信息查询学生信息修改学生信息添加课程信息查询课程信息修改课程信息图4-2 学生选课系统流程图学生学生选课系统学生登陆选课信息管理查询可选课程选择课程查询已选课程查询个人信息图4-3学生选课系统流程图4.3 系统数据库E-R模型学生信息表:包含学号、姓名、性别、密码、学院、专业等基本信息。课程信息表:包含课程号、课程名、教师、上课时间、上课地点、总人数等基本信息。管理员信息表:包含管理员编号、密码等其他信息。选课表:包含选择的课程号,课程名,任课教师等。各分E-R图及总E-R图分别如图4-4至4-8所示:管理员编号用户名密码图4-4管理员实体及属性选课表课程号学号任课教师 图4-5选课表实体及属性 学生学号姓名学院专业性别 图4-6 学生实体及属性课程课程号课程名时间地点教师图4-7 课程实体及属性添加管理员 学生选修1nnm讲授教师m课程p图4-8 系统关系E-R图4.4 数据库表设计分析上述各实体的属性集,从中找出关系的主键,然后用关系式来表示实体(其中下划线的属性为主键)。表4-1至表4-5分别给出了主要表结构各实体的属性如下:表4-1 admin表名称 主要字段数据类型长度属性输入方式描述备注管理员表Id字符串10NN输入用户名(主键)Name字符串50NN输入管理员名字Password字符串10NN输入密码备注用于定义登录系统的管理员,只有获得权限的管理员才能登录。表4-2 Checkin表名称 主要字段数据类型长度属性输入方式描述备注用户表Id字符串10NN输入用户名(主键)Name字符串50NN输入姓名Password字符串10NN输入密码备注用于学生的登录信息,只有注册的学生才能登录系统选课。表4-3 select_course表名称 主要字段数据类型长度属性输入方式描述备注选课表ID字符串50NN生成用户名(主键)CID字符串50NN课程号(主键)Teacher字符串50NN教师备注用于定义学生所选的课程,可以存储学生选择的所有课程表4-4 student_infor表名称 主要字段数据类型长度属性输入方式描述备注学生表S_id字符串8NN输入用户名(主键)S_name字符串50NN输入姓名major字符串50NN选择专业grade字符串50NN输入年级College字符串50NN输入学院备注用于存储学生的基本信息表4-5 Course表名称 主要字段数据类型长度属性输入方式描述备注课程表Idbigint10NN生成编号(主键)系统自动生成CID字符串200NN输入课程号Cname字符串150NN选择课程名Teacher字符串150NN选择教师Place字符串150NN选择教室Time字符串150NN选择时间Sumint10NN输入总人数Spareint10NN输入剩余人数备注存储所有开设课程的基本信息5 详细设计5.1 界面设计(1)对于已注册用户通过如下的登录界面,能够保护系统的安全性,界面如图5-1所示:图5-1 登录页面(2)下面是管理员主页面如图5-2所示,通过菜单可以实现各个功能模块:图5-2 管理员主页面(3)下面是学生的主页面图5-3,通过菜单实现各个功能:图5-3 学生主页面5.2 系统功能模块设计5.2.1 公共模块(1)用户公共模块流程图如下图5-4所示:用户登录输入登录信息验证用户名 密码判断用户身份管理模块首页学生模块首页图5-4用户流程图用户登录JSP页面15图5-5所示图5-5 用户登录页面(2)密码修改流程图如下图5-6所示: 密码修改从当前会话中获取 登录账号验证用户身份更新密码生产提示信息返回输入验证身份信息与新密码 图5-6密码修改流程图密码修改JSP页面,用户选择密码修改连接进入密码修改JSP页面16 图5-7所示图5-7 修改密码界面5.2.2管理员模块管理模块主要实现了管理学生信息,课程信息以及对学生选课情况进行统计输出的功能。在此模块中使用了一个框架17页面manager.jsp,其代码如下:<frameset rows="240,*,80" frameborder="no" border="0" framespacing="0"><frame src="manager/top.jsp" name="top" scrolling="No" noresize="noresize" id="topFrame" /><frameset cols="*,955,*" frameborder="no" border="0" framespacing="0"><frame src="manager/main.jsp" name="main" noresize="noresize" id="main" /></frameset><frame src="manager/bottom.jsp" name="bottom" scrolling="No"noresize="noresize" id="bottomFrame" /></frameset>其中topFrame部分用于显示管理模块的主菜单页面top.jsp,页面运行结果如下图5-8所示:图5-8管理模块的主菜单(1)学生管理流程如下图5-9所示: 学生管理增加新学生设置为已毕业输入新学生信息显示出未毕业学生写入数据库设置为毕业更新数据库图5-9 学生管理流程图 在top.jsp页面中单击“学生管理”超链接,将进入dis_student.jsp页面18,其中显示了所有的学生信息。如下图5-10所示。图5-10 学生信息页面在dis_student.jsp页面中单击“新增”超链接,将进入addstudent.jsp页面,如下图5-11所示图5-11 增加学生页面主要代码:tryResultSet rt=stmt.executeQuery("select * from student_infor where ID='"+ID+"'");if(rt.next()%> <script language="javascript"> alert("数据库库中已有该学生信息,请查询后再添加!"); location.assign("dis_student.jsp"); </script><%else String sql="insert into student_infor values('"+college+"','"+profession+"','"+class_infor+"','"+ID+"','"+name+"')" int result = stmt.executeUpdate(sql); String sql1="insert into checkin values('"+ID+"','"+password+"','"+name+"')"int result1 = stmt.executeUpdate(sql1);if(result!=0&&result!=0)<script language="javascript"> location.assign("dis_student.jsp"); </script>catch(Exception e)out.print(e); System.err.println(e.getMessage();(2)课程管理流程如下图5-12所示: 课程管理增加新课程根据条件查询课程选举课程所属专业,输入课程信息显示课程详细信息写入数据库设置为不可选更新数据库图5-12 课程管理流程在top.jsp页面中单击“课程管理”超链接,将进入dis_Course.jsp页面19,其中显示了所有的课程信息信息。如下图5-13所示图5-13 课程管理页面在该页面中单击“新增”按钮,将进入到addCourse.jsp页面,此页面主要用于创建新的课程,该页面运行效果如下图5-14所示:图5-14 添加课程页面主要代码:try String sql="select * from course where time='"+time+"' and place='"+place+"'" /相同时间里一个教室只能开设一门课程 ResultSet rt=stmt.executeQuery(sql); if(rt.next() <script language="javascript"> alert("相同时间里此教室已经有课程安排了!"); location.assign("addcourse.jsp"); </script>else String sql2="insert into course(CID,Cname,teacher,place,time,Sum,spare) values('"+CID+"','"+Cname+"','"+teacher+"','"+place+"','"+time+"','"+Sum+"','"+spare+"')"int result = stmt.executeUpdate(sql2); <script language="javascript"> alert("插入课程信息成功!"); location.assign("dis_course.jsp"); </script>catch(Exception e)out.print(e); System.err.println(e.getMessage();(3)退出系统退出系统是在exit.jsp页面中完成,在该页面中只需将当前的用户会话销毁,并跳出框架返回到项目的首页即可。5.2.3 学生模块学生模块中的大部分功能都是由StuUserAction类来完成的,StuUserAction继承了DispatchAction类,是一个Struts的控制器。在StuUserAction类中编写insert()方法,用于向数据库插入学生的基本信息;编写welcome()方法此方法将根据学生编号查询出学生的基本信息,然后返回到学生模块的首页student.jsp页面;编写exit()方法,该方法将对于退出系统的请求,在该方法中首先将用户会话对象销毁,然后返回项目首页;编写selected()方法,用于查询学生已经选过的课程;编写select()方法,用于查询学生可选的所有课程;编写selctting()方法,用于执行学生选课操作,将学生标号与所选的课程编号关联起来;编写courseInfo()方法,用于查询课程的详细信息。学生主页面如下图5-15所示:图5-15 学生登录主页面(1)学生基本信息页面如下图5-16所示:图5-16个人信息页面(2)学生选课页面在学生模块页面中单击“选课”超链接,程序将调用学生模块控制器类StuUserAction中的select方法将此学生可以选择的所有课程查询出来,然后显示在select.jsp页面21中,其运行效果如下图5-17所示:图5-17 选课页面主要代码:try String sql="select * from select_course where ID='"+ID+"' and CID='"+CID+"'"/检查是否选过该课程 ResultSet rs=stmt.executeQuery(sql); String sql3="select * from course where CID='"+CID+"' and teacher='"+teacher+"' and spare>0"/列出还有剩余学生的课程 ResultSet rst=st.executeQuery(sql3);if(!rs.next()&&rst.next() String sql1="insert into select_course values('"+ID+"','"+CID+"','"+teacher+"')"stmt.executeUpdate(sql1);String sql2="update course set spare=spare-1 where CID='"+CID+"' and teacher='"+teacher+"'"stmt.executeUpdate(sql2);%><script language="javascript"> alert("恭喜您,选课成功!"); location.assign("select_course.jsp"); </script><% else%><script language="javascript"> alert("你已经选过此课,或者此课没有空余名额,请查询后再选!"); location.assign("select_course.jsp"); </script>catch(Exception e)out.print(e); System.err.println(e.getMessage();(3)课程查询及退选页面Selected.jsp页面21用于显示学生已选过的课程信息,学生可以从中查询到自己已经学过哪些课程,正在学习哪些课程及选择退选课程,其运行效果如下图5-18所示:图5-18退课页面主要代码:try String sql1="delete from select_course where CID='"+CID+"' and ID='"+ID+"'"stmt.executeUpdate(sql1);String sql2="update course set spare=spare+1 where CID='"+CID+"' and teacher='"+teacher+"'"/退选的课程人数加1stmt.executeUpdate(sql2);%><script language="javascript"> alert("恭喜您,退课成功!"); location.assign("display.jsp"); </script>catch(Exception e)out.print(e); System.err.println(e.getMessage();(4)修改密码页面在登录修改密码页面stuUpdate.jsp中,学生可以修改自己的登录密码,只要输入正确的原始密码即可进行密码修改。密码修改操作通过updatePwd.do请求调用用户模块中的密码修改控制器类UpdatePwdAction进行身份验证以及更新数据库中的旧密码。其运行效果如下图5-19所示:图5-19 修改密码页面主要代码:try .if(!(user.ChkLogin(username,oldpassword)<script>alert("旧密码输入错误,请重新输入.");window.history.back();</script>else if(user.ModifyPassword(username,newpassword) IsSucceed = "1"catch(Exception e)out.println("error:"+e.getMessage();结束语本文主要探讨了基于J2EE的网络选课系统的开发。并且全面分析、设计、实施一套符合高校要求的选课系统。在设计过程中,采用了MVC模式下的Struts2框架进行功能实现。在表示层中以Web页面作为主要客户端。采用了MY SQL数据库开发设计系统在逻辑上分成三层:表示层、业务层和数据层。其中表示层用来表示信息和收集数据。它将系统的开发代码和用户接口内容分离,其结构更模块化;业务层用于实现应用程序中的商务逻辑,将商务逻辑用JAVA语言开发成COM+组件,程序代码更安全,移植更方便,执行效率也更高;数据层包

    注意事项

    本文(网上选课系统设计与实现设计.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开