软件学院本科生选课系统--基于JSP的学生模块开发-毕业论文_第1页
软件学院本科生选课系统--基于JSP的学生模块开发-毕业论文_第2页
软件学院本科生选课系统--基于JSP的学生模块开发-毕业论文_第3页
软件学院本科生选课系统--基于JSP的学生模块开发-毕业论文_第4页
软件学院本科生选课系统--基于JSP的学生模块开发-毕业论文_第5页
免费预览已结束,剩余28页可下载查看

下载本文档

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

文档简介

3软件学院本科生选课系统本科毕业论文 (科研训练、毕业设计)题目:软件学院本科生选课系统 -基于JSP的学生模块开发姓 名:学 院:软件学院系:软件工程专 业:软件工程年 级: 学 号:指导教师: 职称: 职称: 年 月软件学院本科生选课系统 -基于JSP的学生模块开发摘要 学生选课系统是一个学校学生管理中不可缺少的一部分,对于学校的决策者和管理者来说都至关重要,所以系统应该为用户提供充分的信息管理和方便的查询手段。但一直以来,人们使用人工的方式管理文件档案,这种管理方式存在着许多缺点:效率低,保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。因此,提供一个在线选课系统,更方便地,更有效率地处理学校学生选课管理事务,便是本系统的目的。经过分析,本系统使用MySql、 Eclipse作为开发工具,tomcat为Web服务器,windows xp作为开发平台。本系统可以让学生更方便地选课,可以对学生信息进行批量录入,而方便的管理员操作,让老师在对选课的管理方面更加得心应手,界面操作简单易懂,具有较强的易用性和实用性。关键词: 选课系统 JSPSoftware College Elective System -Management Module Development Based on JSP Abstract Student elective system is an integral part of student management of a college,which is vital importance for policy makers and school administrators,So system should provide users with adequate information management and convenient means for.But all along,people use the management of paper files,however, this management style, there are many shortcomings:low efficiency,the poor of confidentiality,in addition,with the time passing,there will be a large number of documents and data,this brought a lot of difficulties in finding, updating and maintenancing.Therefore,to provide an online selection system, deal with the management of student of college more easily,more efficiently,is the purpose of this system. After analysis,the system uses MySql, Eclipse as development tools,Tomcat as the web server,windows xp as the development platform.This system can enable students to more easily classes, the students can make bulk entry information, and facilitate the operation of the administrators, teachers in classes on the management of more handy, easy-to-understand interface operation, with more user-friendly And practicality.Keywords Elective System JSP technology26软件学院本科生选课系统目录第一章 引言111 课题研究的目的112 课题研究的意义1第二章 系统总体设计321 技术背景介绍32.1.1 JSP介绍32.1.2 servlet技术介绍42.1.3 Tomcat介绍42.1.4 MySQL数据库介绍52.1.5 AJAX技术介绍52.1.6 Eclipse 介绍62.2系统运行环境和需求72.2.1对软件和硬件的要求72.2.2运行需求72.2.3其他需求72.3系统模块72.3.1学生模块-ER图82.3.2管理员模块-ER图82.4数据库设计92.4.1管理员表-ER图92.4.2学生表-ER图92.4.3通知表-ER图162.4.4课程表-ER图102.4.5学分限制表-ER图102.4.6学生-课程表-ER图102.4.7缓存表-ER图11第三章 学生模块设计123.1 登录123.2选课说明133.2.1选课通告133.2.2选课单简介143.3 选择课程143.4选课结果153.5选课历史153.6 修改密码153.7退出登录15第四章 运行结果截图164.1登录界面164.2学生首页174.3查看选课说明184.4查看选课单194.5选课结果204.6选课历史214.7修改密码22结 论23致谢语24参考文献25ContentsChapter Introduction11.1 The purpose of the research11.2 The significance of the research1Chapter II System Design32.1 Technical Background32.1.1 JSP32.1.2 Servlet42.1.3 Tomcat42.1.4 MySQL52.1.5 AJAX52.1.6 Eclipse62.2 Operating environment72.2.1 The software and hardware requirements72.2.2 Running requirements72.2.3 Orther requirements72.3 System Module72.3.1 Student Module -ER chart82.3.2 Administrator Module - ER chart82.4 Database Design92.4.1Manager Table- ER chart92.4.2 Student Table - ER chart92.4.3 Notice Table - ER chart92.4.4 Course Table - ER chart102.4.5 Credit Restrict Table - ER chart102.4.6 Student-Course Table - ER chart102.4.7 Cache Table - ER chart11 Chapter III Student Module Design123.1 Login123.2 Elective Description133.2.1 Elective Notice133.2.2 Elective Table Description143.3 Course confirm143.4 Course Result143.5 Course History153.6 Update Password153.7 Login15 Chapter IV Screenshots of Result164.1 Login interface164.2 StudentHome174.3 View Course Description184.4 View Elective Table194.5 Course results204.6 Elective history214.7 Change Password22Conclusion23Acknowledgement24References25第一章 引言 在高等学校的教务管理工作中,课程表的编排是一项十分复杂、棘手的工作。在排课过程中,除了满足大量的制约条件以外,还必须解决许多冲突与矛盾,例如:两位教师不能同一时间在同一班级上课、一位教师不能在同一时间上两门课等等。利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。我国不少高校都实行了学分制,它的核心是允许学生自由选课,即把学习的自主权交给学生。在这里,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。从系统开发的复杂程度来看,计算机辅助排课与选课是高校教务系统中的两个关键子系统,目前不少教务系统尚未很好地解决排课与选课问题。本文主要对高校教务管理系统中计算机课表编排与选课子系统的基本功能、设计思想、需求分析以及实现技术进行探讨。11 课题研究的目的 1.掌握采用Internet的TCP/IP协议,以B/S方式,JSP编程技术,多媒体技术。2.掌握一种多任务多用户操作系统 3.JSP的动态网页和MySQL的数据库。4.学会使用某种开发工具。5.培养相互合作的精神。12 课题研究的意义学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 因此,开发这样一套软件成为很有必要的事情,在下面的各章中我们将以开发一套学生选课系统为例,谈谈其开发过程和所涉及到的问题及解决方法。本文中所做的主要工作如下:(1) 介绍系统采用的主要技术的一般原理; (2) 阐述系统结构及工作原理;(3) 设计实现用户管理、课程管理、选课信息录入管理、新生信息录入管理、课程的浏览和查找、学生查找等JSP页面 。(4) 分析并解决实现中的若干技术问题。 (5) 建立完整的网上选课,进行测试并分析结果。第二章 系统总体设计21 技术背景介绍2.1.1 JSP介绍JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似JSP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。另外,JSP技术还有以下优点:(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比JSP/PHP的局限性是显而易见的。(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。这一点与JSP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。2.1.2 servlet技术介绍Servlet是使用Java Servlet 应用程序设计接口(API)及相关类和方法的 Java 程序。除了 Java Servlet API,Servlet 还可以使用用以扩展和添加到 API 的 Java 类软件包。Servlet 在启用 Java 的 Web 服务器上或应用服务器上运行并扩展了该服务器的能力。Java servlet对于Web服务器就好像Java applet对于Web浏览器。Servlet装入Web服务器并在Web服务器内执行,而applet装入Web浏览器并在Web浏览器内执行。Java Servlet API 定义了一个servlet 和Java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。 Servlet 通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet,并让 Servlet 建立起服务器返回给客户机的响应。 当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后, Servlet 继续运行直到其它客户机发出请求。Servlet 的功能涉及范围很广2.1.3 Tomcat介绍Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,目前最新版本是6.0.14。Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。2.1.4 MySQL数据库介绍MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL不支持视图(已经被列入5.1版的开发计划)、事件等)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。2.1.5 AJAX技术介绍AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。服务器接收并处理传来的表单,然後返回一个新的网页。这个做法浪费了许多带宽,因为在前後两个页面中的大部分HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。 与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的web service接口,并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。Ajax应用程序的优势在于:1. 通过异步模式,提升了用户体验。2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用。3. Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。2.1.6 Eclipse 介绍Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。 Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。Eclipse的前身是IBM的Visual Age。由于意识到Visual Age存在难以扩展、底层技术较为脆弱、很难与WebSphere Studio软件集成等诸多问题,进一步发展甚为困难,同时也面临包括Symantec公司的Visual Caf、Borland公司的JBuilder 等开发工具的竞争压力,IBM决定创建一个更开放的,并且可以为IBM其他开发工具提供支持的一体化开发平台。1998年11月,IBM专门成立了一个项目开发小组,开始开发该平台,2000年新一代开发平台诞生,这就是大家所熟悉的Eclipse。2000年11月,IBM做出了一个重大决定,将Eclipse采用开放源码的授权和运作模式发布,以增强业界对Eclipse的关注度并加快其推广应用速度。随后,IBM于2001年12月向外界宣布,捐赠价值4千万美元的Eclipse源码给开源社区;成立由成员公司组成的Eclipse协会(Eclipse Consortium),以便支持并促进Eclipse开源项目。事实证明,IBM的决策非常英明。Eclipse受到广泛关注,蜂拥而至的用户使得其下载服务器一度阻塞,给业界带来了久违的震撼!IBM趁热打铁,在EclipseCon 2004上宣布成立一个独立的、非盈利性的基金会,由该基金会负责管理和指导Eclipse开发,目前其成员多达近百家知名公司,其中包括Borland、Rational Software、Red Hat、Sybase、Google和Oracle等业界巨头。Eclipse开发状态非常活跃,目前成熟稳定的版本是3.3,正在开发的版本是3.4,已经成为业界主要的非微软软件开发平台。2.2系统运行环境和需求2.2.1对软件和硬件的要求服务器硬件处理器:Intel PII 450 或更好内 存:256M 或更大硬 盘:20G 或更大软 件:Microsoft WindowsNT Server 3.0 或更高版本MySql 5.5 或更高版本tomcat 5.0 或更高版本 Microsoft Office 2000JDK 1.5 或更高版本客户机硬件无特殊要求,只要能上连接互联网即可软件Microsoft Windows / 95 / 98 或更高版本Microsoft IE 4.0 或更高版本系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。 本系统运行环境为单环境,在运算时对系统整体性能要求过高,要求:软件系统环境 :IIS5.0 + MYSQL+ JDK硬件系统环境:C600、64MB(RAM)、500MB(HD)。系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序健壮性较好2.2.2 运行需求硬件条件:586 CPU、32M RAM、3.2G硬盘以上的PC机;打印机;局域网。软件条件:Windows 98以及Windows NT操作系统; 服务器。2.2.3 其他需求本系统有较好的可维护性、可靠性、可理解性、效率。易于用户理解和操作。可维护性包括了可读性、可修改性、可测试性、等含义。可靠性通常包括正确性和健壮性。开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(经费、时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。2.3系统模块包括学生模块和管理员模块2.3.1学生模块-ER图学生模块包括如下功能:查看通知、选择课程、查看结果、取消预选、修改密码等。2.3.2管理员模块-ER图管理员模块包括学生管理、课程管理、其他管理等2.4数据库设计2.4.1管理员表-ER图2.4.2学生表-ER图2.4.3通知表-ER图2.4.4课程表-ER图2.4.5学分限制表-ER图2.4.6学生-课程表-ER图2.4.7缓存表-ER图第三章 学生模块设计3.1 登录输入正确的用户名和密码,并选择学生身份登录,以下是登录模块的部分代码AdminAcc = request.getParameter(AdminAcc);AdminPwd = request.getParameter(AdminPwd);AdminType = request.getParameter(AdminType);if (AdminAcc != null) AdminAcc = AdminAcc.trim();if (AdminPwd != null) AdminPwd = AdminPwd.trim();if (AdminType != null) AdminType = AdminType.trim();AdminAcc = workM.getStr(AdminAcc);AdminPwd = workM.getStr(AdminPwd);AdminType = workM.getStr(AdminType);if (AdminAcc != null) String sql = select * from + AdminType + where id=+ AdminAcc + and password= + AdminPwd + ; ResultSet RS = workM.executeQuery(sql);/ 执行db.java中exectueQuery(sql)if (RS != null) else int rowscount = 0;/初值while (RS.next() rowscount+;if (rowscount = 0) /登录不成功session.putValue(AdminAcc, );session.putValue(AdminType, );workM.closeCon();3.2选课说明3.2.1 选课通告学生在选课之前应该详细阅读的有关选课的流程及注意事项。以下是相关代码String sql = select * from notice order by AddTime desc;ResultSet rs = workM.executeQuery(sql);if (rs.next() /建立ResultSet(结果集)对象,并执行SQL语句 rs.last(); /将指标移至最后一笔记录RowCount = rs.getRow();duoyu = RowCount % PageSize; if (duoyu = 0) PageCount = RowCount / PageSize; else PageCount = (RowCount - duoyu) / PageSize; PageCount+; /计算显示的页数 String ToPage = request.getParameter(ToPage);if (ToPage = ) ToPage = 1; /判断是否可正确取得ToPage参数, /可取得则表示JSP网页应显示特定分页记录的语句if (ToPage != ) ShowPage = Cint(ToPage); /取得指定显示的分页页数 /下面的if语句将判断用户输入的页数是否正确if ( ShowPage PageCount) /判断指定页数是否大于总页数, 是则设置显示最后一页ShowPage = PageCount; else if (ShowPage = 0) /若指定页数小于0,设置显示 第一页记录 ShowPage = 1; rs.absolute(ShowPage - 1) * PageSize + 1); /计算欲显示页的第一笔记录位置3.2.2 选课单简介本次选课的所有课程以及相关的教师的详细介绍,可在附件中下载查看。3.3 选择课程 学生可以根据选课单提供的信息选择课程,被选中的课程就会被记录在预选课程中。相关代码如下:else int Rusult=new intresult.length; for(int i=0;iresult.length;i+) Rusulti=Integer.parseInt(resulti); String sql,sql1; ResultSet RS; for(int j=0;jresult.length;j+) sql=select * from temp1 where sid=+AdminAcc+ and xuhao=+Rusultj+; RS=workM.executeQuery(sql); if(RS.next() String sid=RS.getString(sid); String cid=RS.getString(cid); sql1=update stu_cour set status = 预选 where sid =+sid+ and cid = +cid+; workM1.executeUpdate(sql1); workM.closeCon(); try /删除temp表的内容sql=delete from temp1 where sid=+AdminAcc+;workM.executeUpdate(sql);3.4选课结果学生可以对预选的课程在指定的时间内作添加或删除修改。3.5选课历史已选修过的课程以及课程的学分。3.6 修改密码 学生可以自己修改密码。3.7退出登录 选课结束后退出系统。 第四章 运行结果截图4.1登录界面图4.1登录界面4.2学生首页图4.2学生首页4.3 查看选课说明图4.3查看选课说明4.4查看选课单图4.4查看选课单4.5选课结果图4.5选课结果4.6选课历史图4.6选课历史4.7 修改密码图4.7修改密码结 论时光飞逝,流年似水,短短的设计即将结束,现在回头想想半年的设计,我对自己的这次设计有了更深,更新的体会。在本次设计的全过程中,我对四年所学的知识有了一个比较系统的认识和理解。涉及了各方面的知识,大大扩展了我的知识面,同时是我学会了如何使用所学的知识去解决一些实际的问题。在设计中我深知自己掌握的知识还远远不够,掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。把学到的知识应用到时间中去,多做多练,才可以把理论的精华发挥出来。知识不是知道,了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。而且知识又不是单一的,它是互相联系的,学科与学科之间都有着内在的联系。计算机是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。在设计阶段,通过对课题的深入分析与研究,迫使我对技术有了一定的了解。在遇到问题时,得到了指导老师与同学的悉心帮助,使我感受到集体的力量是无穷的。通过这次设计,我学会了和别人配合工作

温馨提示

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

评论

0/150

提交评论