软件学院本科生选课系统--数据库及系统架构设计-------毕业论文_第1页
软件学院本科生选课系统--数据库及系统架构设计-------毕业论文_第2页
软件学院本科生选课系统--数据库及系统架构设计-------毕业论文_第3页
软件学院本科生选课系统--数据库及系统架构设计-------毕业论文_第4页
软件学院本科生选课系统--数据库及系统架构设计-------毕业论文_第5页
免费预览已结束,剩余41页可下载查看

下载本文档

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

文档简介

厦门大学本科生毕业论文本科毕业论文(科研训练、毕业设计)题 目:软件学院本科生选课系统 数据库及系统架构设计姓 名:学 院:软件工程系:软件工程专 业:软件工程年 级: 学 号:指导教师: 职称: 指导教师: 职称: 年 月 日软件学院本科生选课系统数据库与系统架构设计摘要 课程选修管理一向是高校教学管理工作中的重点。多年来,厦门大学软件学院本科生的课程选修一直采取传统的手工操作方式进行管理,这种方式容易出现数据丢失,统计错误等问题,造成教学管理劳动强度高、效率低。使用计算机可以高速,快捷地完成以上工作。数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率和水平。随着网络技术的发展和用户要求的不断提高,不受时间、空间限制B/S结构的网上选课系统取代原有的手工操作方式已成为一种趋势。选课管理系统以B/S(Browser/Server)架构,通过对教务管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来本论文论论述了学生选课系统数据库设计与系统架构,主要包括后台数据库的建立和前端应用程序的开发两个方面。建立起数据一致性、完整性、安全性好的数据库。前端页面则要求应用程序功能完备,易使用。 经过分析,我们使用MySql、 Eclipse作为开发工具,tomcat为Web服务器,windows xp作为开发平台。关键词 选课 学生模块 管理员模块 数据库 查询 Abstract The traditional manual mode of operation is fallibility and slowly. And it has a high rate of data loss. Using computer can avoid most of these problems. With the help of internet, we can share data easier and faster. Also we can avoid duplication of work and standardize teaching management. Thereby enhancing the efficiency and management level. This course management system use B/S (Browser / Server) framework. By managing student information and course information, it release the administrator from those boring data.This paper mainly include the framework of database and course management system, including establishment and maintenance of the backstage database, and web application development. Establish a strong and integrity and safe database. The web application must have completely function and be easy to use and so on.After analysis, we decide to use MySql, Eclipse as development tool, tomcat as Web server, windows xp as platform. First establish a system prototype in a short time, and then, constantly revise and improve, until it forms a viable system which can make customer satisfy. This system can make student more convenience when selecting courses. It can record mass student information. The complexity of the students information will not be a problem. This system can deal with mass information which may find in every process and adjust student information in time. Key words course selection student module admin module database query目录第一章引言81.1 课题意义91.2 课题的可行性分析91.2.1 课题调研91.2.2 可行性分析10第二章 系统总体分析112.1 需求分析112.2 相关技术122.2.1 JSP技术122.2.2 servlet技术122.2.3 tomcat简介132.2.4 MySql数据库132.2.5 AJAX技术132.2.6 Eclipse142.3 软硬件配置152.3.1对软件和硬件的要求152.3.1运行需求162.3.1其他需求16第三章 系统架构设计173.1 WEB系统设计的原则173.2 系统模块183.2.1 学生模块183.2.2 管理员模块193.3 模块核心代码的编程及实现21第四章 系统数据库设计324.1 数据库设计的原则324.2 数据库详细设计32第五章 系统实现365.1 系统安装说明365.1.1 数据库安装说明365.1.2 服务器安装说明365.2 系统使用说明37结论44致谢语45参考文献46ContentsChapter 1 Introduction81.1 The Significance of The Research91.2 Feasibility Analysis91.2.1 Subject Research91.2.2 Feasibility Analysis10Chapter 2 Overall Analysis of System112.1 Demand Analysis112.2 Related technology122.2.1 JSP122.2.2 servlet122.2.3 tomcat132.2.4 MySql132.2.5 AJAX132.2.6 Eclipse142.3 Operating Environment152.3.1 Software and Hardware Requirements152.3.1 Running Requirements162.3.1 Orther Requirements16Chapter 3 System Architecture173.1 Rules of WEB System173.2 System Modules183.2.1 Student Module183.2.2 Admin Module193.3 Core code21Chapter 4 Database Design324.1 Rules of Database Design324.2 Detailed Design of The Database32Chapter 5 System Implementation365.1 System Installation Instructions365.1.1 Database Installation Instruction365.1.2 Server installation instructions365.2 System Instructions40Summarizing47Thanks45References46VII第一章 引言随着计算机网络技术的迅猛发展和信息化的逐步深入,教学管理信息系统在高校中的应用也日趋广泛。同时,学分制的推广以及学生在课程选修方面的自由度逐渐增加,迫切需要建立相应的信息系统对学生课程的选修进行有效管理。高校应用环境具有人员多、访问量大、访问相对集中等特点,对信息系统中数据管理提出更高的要求。因此如何结合高校应用的特点开发一套适合高校课程选修管理的信息系统具有一定的应用价值。传统的手工操作方式具有数据易丢失,统计易错误,劳动强度高效率低等缺点。使用计算机可以高速,快捷地完成以上工作。使用Web,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高管理效率和水平。SUN公司推出的J2EE技术体系为我们开发系统提供了良好的技术支持。J2EE是一个基于组件的体系结构,采取通过创建和组织J2EE组件来建立基于WEB浏览器访问、分布式应用、可伸缩、易维护的信息系统。J2EE(Java 2 Platform,Enterprise Edition),Java2平台企业版是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化而且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的 不同平台之间,存在良好的兼容性。J2EE主要包括了JSP,Servlet,JAVABEAN,EJB、JDBC等。在本系统中,我们采用基于B/S模式的三层体系结构:即客户端、应用程序服务器、数据库服务器组成。J2EE三层体系架构在教学管理信息系统中的主要工作原理是:用MySql数据库系统作为后台数据库,用Servlet等高性能服务端程序作为后台总控程序,JSP程序在前台运行,Servlet接收用户的输入,分别调用不同的JSP程序向客户端反馈信息,JSP/ Servlet 通过HTTP连接在服务器端和客户端传递数据,当用户首先通过客户机向应用程序服务器发出请求时,JSP/ Servlet把用户请求的参数传递给事先编好的Java Beans和EJB组件,由它们对数据库进行操作,也就是应用程序服务器再向数据库服务器发出具体的数据访问命令(一般是SQL),这样的好处是把系统内部的数据封装保护起来了,Java Beans和EJB组件还可以把访问事务分发到另一个组件中去处理,最后把数据库服务器返回的数据被应用程序服务器Servlet重新组织之后,由JSP 把结果通过HTML页面返回给客户机显示出来。1.1 课题意义一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。软件学院目前缺少一个本科生选课系统,写这样的一个系统有助于帮助学院更高效地实行院系专业课选修制度。1. 本课题中所做的主要工作如下:(1) 介绍了系统所应用到的数据库技术,开发工具,网站开发技术等。(2) 阐述整个页面生成系统的系统结构及工作原理;分析了系统实现中的特 殊性、难点和重点。(3) 设计实现用户管理、课程管理、选课信息录入管理、新生信息录入管理、 课程的浏览和查找、学生查找等JSP页面 。(4) 建立完整的网上选课,进行测试并分析结果。2. 通过软件的开发和实践过程以实现以下目的。(1) 掌握Internet协议,以B/S方式,使用JSP编程技术。(2) 掌握网页脚本语言。(3) 掌握JSP的动态网页技术和MySql数据库。(4) 学会使用MyEclipse开发工具。(5) 培养团队合作精神1.2 课题的可行性分析1.2.1 课题调研(1)网上查询与实践活动和相关的文件和资料。(2)本课题要求学生有熟练的JSP开发能力,有较强的自学能力以及一定的关系数据库理论开发功底。(3)具有对大批量数据进行处理的能力。(4)具体问题再做详细调查研究并与指导老师面谈。1.2.2 可行性分析(1)技术可行性-J2EE平台的飞速发展,技术的成熟以及应用领域的不断扩大,为网上信息的交互提供了一个良好的平台和方便的操作界面。由于J2EE平台基于用户需求的设计方法,使得该系统的使用更加的人性化、个人化、更贴近用户。以J2EE平台的构建思想来实现网上选课系统可以最大程度的做到实用性,可扩展性和可维护性相结合,安全性以及规范化原则。(2) 经济可行性-由于本系统是为学生选课管理使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。(3) 操作可行性-界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。第二章 系统总体分析2.1 需求分析1.系统简要分析学生选课系统面向的对象至少应该有管理员、学生,提供的服务也应该是多样的。在本系统中开发一个面向管理员、学生这两个对象的信息管理平台。管理员可以通过管理员身份登录,对系统进行全面的管理,对新用户的添加,删除,对信息进行管理。管理员可以对同学的帐户进行管理。管理员分两种类型,普通管理员只可以对学生的和课程的信息进行管理,超级管理员可以对学生及普通管理员信息进行管理。管理员、学生不同身份的用户进入不同的界面,进行不同的操作。管理员可以发布自己本学期所要教的课程,课程学分以及本学期的学分限制。对学生提供的服务有登录、查看选课公告、查看选课说明、查看选课简介、选课、删除预选、查看当前学期的选课结果和查看选课历史。 图2.2.1 系统结构图2.2 相关技术2.2.1 JSP技术JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页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文本,因此客户端只要有浏览器就能浏览。2.2.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.2.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.2.4 MySql数据库MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL不支持视图(已经被列入5.1版的开发计划)、事件等)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。2.2.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.2.6 EclipseEclipse 是一个开放源代码的、基于 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.3 软硬件配置2.3.1对软件和硬件的要求服务器硬件处理器:Intel PII 450 或更好内 存:256M 或更大硬 盘:20G 或更大软件Microsoft Server 3.0 或更高版本MySql 5.5 或更高版本tomcat 5.0 或更高版本Microsoft Office 2000JDK 1.5 或更高版本客户机硬件无特殊要求,只要能上连接互联网即可软件Microsoft Windows / 95 / 98 或更高版本Microsoft IE 5.0 或更高版本系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。 本系统运行环境为单环境,在运算时对系统整体性能要求过高,要求:软件系统环境 :tomcat5.0 + MySql + JDK1.5硬件系统环境:C600、64MB(RAM)、500MB(HD)。系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序健壮性较好。2.3.1运行需求硬件条件:586 CPU、32M RAM、3.2G硬盘以上的PC机;打印机;局域网。软件条件:Windows 98以及Windows NT操作系统; 服务器。2.3.1其他需求本系统有较好的可维护性、可靠性、可理解性、效率。易于用户理解和操作。可维护性包括了可读性、可修改性、可测试性、等含义。可靠性通常包括正确性和健壮性。开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(经费、时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。第三章 系统架构设计3.1 WEB系统设计的原则和C/S结构相比,B/S结构受限于网络带宽不利于进行大数据量的统计分析,网络传输存在潜在的安全问题,还有用户界面不及C/S结构友好等等,但随着网 络带宽和网络应用的发展,加上AJAX技术的流行,使得现在越来越多的MIS系统或基于MIS系统的专业化应用系统都开始倾向于采用B/S结构进行设计, 充分利用B/S结构的优点。但是,要充分发挥Web应用的内在潜力,挖掘应用深度和扩大适应能力,需要采用先进的应用架构和以实用为根本准则,使得系统既 能满足业务需求,又能适应将来发展需要。因此,在开发Web应用系统时需要尽量遵循Web应用系统设计原则。 实用性原则:这是所有应用软件最基本的原则,直接衡量系统的成败,每一个提交到用户手中的系统都应该是实用的,能解决用户的实际问题,否则该设计就是垃圾。适应性和可扩展性原则:系统需要具备一定的适应能力,特别是Web应用要能适应于多种运行环境,来应对未来 变化的环境和需求。可扩展性主要体现在系统易于扩展,例如可以采用分布式设计、系统结构模块化设计,系统架构可以根据网络环境和用户的访问量而适时调整, 从某种程度上说,这也是系统的适应性。可靠性原则:系统应该是可靠的,在出现异常的时候应该有人性化的异常信息方便用户理解原因,或采取适当的应对方案,在设计业务量比较大的时候可采用先进的嵌入式技术来保证业务的流畅运行。可维护性和可管理性原则:Web系统应该有一个完善的管理机制,而可维护性和可管理性是重要的两个指标。安全性原则:现在的计算机病毒几乎都来自于网络,Web应用应尽量采用五层安全体系,即网络层安全、系统安全、用户安全、用户程序的安全和数据安全。系统必须具备高可靠性,对使用信息进行严格的权限管理,技术上,应采用严格的安全与保密措施,保证系统的可靠性、保密性和数据一致性等。总体规划、分层实施原则:在开始设计之前应该对Web系统进行总体设计,然后在总体设计指导下分步开发。基 于J2EE技术的应用系统是一个融合了多元信息的集成系统,现在一般都采用分层开发:表现层、控制层、业务逻辑层、模型层、数据访问层等,在适应系统需求 的准则下,设计低耦合的分层结构,利于团队成员的分工协作,提高开发效率,降低项目风险,实现各个模块的功能设计,完成整个系统的开发。3.2 系统模块3.2.1 学生模块 1. 学生首先要登录到系统。登录的时候要求输入学号和密码。该密码由管理员设置,通过通知告知给学生。在输入学号和密码之后,系统将验证学号和密码是否正确,如果验证成功,就使学生处于登录状态。否则,系统显示学号或密码错误的信息。2. 学生登录到系统后,进入的第一个画面便是选课公告画面,选课公告由管理员添加,最新的三个选课公告有new字样提示。学生可点击查看。3. 学生可以点击查看选课说明,选课说明由管理员添加,并可以看当前的选课开放学期。4. 学生可以点击下载选课简介。5. 学生在系统中可以查看到所有开选的可选的课程,然后进行预选。预选过的课程不会在出现在学生可选的课程中。6. 学生预选可部分课程后,可以删除自己选择的课程。删除以后的课程会重新出现学生可选的课程栏里面。已经选上的课程就不能进行以上操作。7. 学生选择的的每一个课程都有学分,学分限制由管理员输入。当学生不够当前的学分时系统会在多个页面给予提示。当学生选课超出学分最大限制时,系统会给予提示并撤销选择。8. 每个学生帐号都有一个初始密码,由管理员设定。在登录学生系统后可以进行修改。图3.1 学生模块表3.2.2 管理员模块管理员模块比较复杂,主要可以分为5个模块1. 学生管理模块a. 添加学生信息,管理员可以在这里单个添加学生,设置该学生的各种信息。b. 批量添加,使用电子表格批量输入。页面上提供电子表格样例。管理员必须按照样例的格式才能准确地批量输入数据。c. 学生信息管理,在页面上可以输入查询条件,支持模糊查询,不填查询全部。查询后进入查询结果页面。在该页面中可以批量删除学生,也可以对单个学生进行修改资料、设置选课状态、添加对不可选课程的选课权限(此功能主要针对那些专业选修课未修满的学生)。选课状态一共有六种:不可选 、可选、预选、选上、落选、禁选。2. 课程管理模块a. 添加课程,管理员在这里可以添加课程,并详细设置课程的名称、学年、学期、学分、年级和状态五个属性。课程状态有三个,当课程状态为不可选时,所有学生不可见该课程。当课程状态为开选时,与课程年级相同的学生便可以看见该课程并选择。当课程状态为停选时,所有学生不可见该课程。b. 修改课程状态,在这里,管理员可以修改课程状态,将未开选课程修改为开选可以让课程年级相同的学生便可以看见该课程并选择,修改成停选无影响。将开选课程修改为停选,所有预选该课程的学生选课状态将变成选上,修改成未开选会使原来可以看见该课程的同学不能看见该课程。停选课程修改成未开选无影响,修改成开选则与课程年级相同的学生便可以看见该课程并选择。c. 课程管理,在这里,管理员可以修改或删除课程。可以对可选、预选、落选、选上该课程的同学进行详细设定。包括选课状态和课程分班的设定,可以批量设定。可以对一个课程按人数分班或者按班级分班。3. 公告管理模块a. 添加公告,管理员可以在这里添加公告,公告包括标题和内容。b. 公告管理,可以修改和删除之前添加的公告。c. 选课说明,管理员可以在这里设定选课说明。d. 选课简介,管理员可以在此页面上上传一个word文档或者电子表格文件作为选课简介。选课简介在学生系统可以被下载。 4. 学分设定模块 a. 添加学分设定,管理员可以在此页面上加X年级X学年X学期的学分最大和最小设定。学分设定将在学生模块产生影响。当学生选课少于学风设定下限时,系统将给予提示。当学生在选课时超过学分设定时,系统将撤销该学生的操作并给予提示。 b. 设定统计,使用年级或学年查询,在查询结果页面,管理员可以修改或者删除之前的学分设定。 5. 其它设定模块a. 修改密码,管理员可以在此页面修改密码。b. 特殊权限操作,超级管理员才会出现的操作,可以添加管理员,修改当前所有管理员的资料和密码。图3.2 管理员模块表3.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();/去除最后的空格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(); else session.putValue(AdminAcc, AdminAcc);session.putValue(AdminType, AdminType);workM.closeCon();response.sendRedirect(AdminType + .jsp);else 此段程序用于验证用户的身份。首先,从登录页面的提交中获取用户名和密码以及用户类型,然后与数据库中存储的用户信息进行比较,如果身份存储库中包含该用户的信息,并且用户名、密码正确,则登录成功,否则登录失败。2. 页面无刷新功能的实现 (1) AJAX的javascript部分 var req; /定义一个XmlHttpRequestfunction reqCourse()/页面学期下拉框的选择改变事件 var grade = $(grade); /获取页面上的下拉框var nian = $(nian); /获取页面上的下拉框var xueqi = $(xueqi); /获取页面上的下拉框var course = $(course); /获取页面上的下拉框var action = $(action); /获取页面上的下拉框 if(xueqi.optionsxueqi.selectedIndex.value!=请选择=)action.selectedIndex = 0; /操作下拉框选定改为第一个 action.disabled = true/操作下拉框状态改为不可用 var a = new Date();/定义一个时间变量 var url=listCourse.view?grade=+grade.optionsgrade.selectedIndex.value+&xuenian=+nian.optionsnian.selectedIndex.value+xueqi.optionsxueqi.selectedIndex.value+&shua=+a; /向servlet请求的地址 if(window.XMLHttpRequest) /如果用户是Windows浏览器 req=new XMLHttpRequest(); else if(window.ActiveXObject) /判断浏览器是否支持ActiveX控件 req=new ActiveXObject(Microsoft.XMLHTTP); if(req) req.open(GET,url,true); /向servlet请求 req.onreadystatechange=callback; /状态改变时的操作函数是callback req.send(null);course.disabled = false; /课程的下拉框状态改为可用 else course.selectedIndex = 0; course.disabled = true;action.selectedIndex = 0; action.disabled = true; function callback() var grade = $(grade); /获取页面上的下拉框var nian = $(nian); /获取页面上的下拉框var xueqi = $(xueqi); /获取页面上的下拉框var course = $(course); /获取页面上的下拉框var action = $(action); /获取页面上的下拉框 if(req.readyState = 4) if(req.status = 200) /收到servlet回应时 parseMessage();/解析传回的数据 else alert(Not able to retrieve description+req.statusText); /没有收到时弹出错误 此段代码是使用javascript获取页面下拉框元素选择改变的事件,页面下拉框选择元素被改变时,向后台servlet代码传送一个请求,当接收到servlet的返回时,使用javascript解析返回数据并改变页面。(2) AJAX的servlet部分public class listCourse extends HttpServlet public listCourse() super();public void destroy() super.destroy();public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException db DB = new db(); String grade = request.getParameter(grade);/获取年级 String a = request.getParameter(shua);String xuenian = DB.getStr(request.getParameter(xuenian); /获取学年response.setContentType(text/xml;charset=UTF-8); /设置返回的数据头,类型是xml,数据编码是utf-8。response.setHeader(Cache-Control,no-cache); /设置无缓存PrintWriter out = response.getWriter();String sql = select * from course where grade = +grade+ and xuenian = +xuenian+; /sqlResultSet rs = DB.executeQuery(sql);String xml = ;xml += ;xml += =请选择=请选择=;tryif(!rs.next() elsers.last();int count=rs.ge

温馨提示

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

评论

0/150

提交评论