基于JSP的教学管理系统开发与实现_第1页
基于JSP的教学管理系统开发与实现_第2页
基于JSP的教学管理系统开发与实现_第3页
基于JSP的教学管理系统开发与实现_第4页
基于JSP的教学管理系统开发与实现_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

1、基于JSP的教学管理系统的开发与实现用JSP实现教学管理系统摘要J2EE 技术无疑是当今互联网应用的最佳技术解决方案之一。围绕J2EE技术的适用性,也产生了大量的Web开发框架、中间层开发框架、数据层开发框架,极大地提高了J2EE技术的易用性。性别。本文介绍了J2EE的相关技术,如Servlet、JSP 、Struts、Hibernate等,并利用这些技术完成了一个基于Web的教学管理系统。本文介绍了在myeclipse9.0环境下使用MVC开发模式开发教务系统的过程。介绍了教务信息系统的系统分析部分,包括需求分析和安全分析;系统设计部分主要介绍系统功能设计、数据库设计和代码设计;系统实现与测

2、试部分讲解了几个主要模块的算法,系统界面友好,操作简单,更实用关键词: Servlet,JSP ,Struts,Hibernate ,MVC,教学管理系统目录 TOC o 1-3 h z u HYPERLINK l _Toc325629014 1简介 PAGEREF _Toc325629014 h 1 HYPERLINK l _Toc325629015 1 . 1主题背景 PAGEREF _Toc325629015 h 1 HYPERLINK l _Toc325629016 1 . 2目的和意义 PAGEREF _Toc325629016 h 2 HYPERLINK l _Toc3256290

3、17 2开发技术与环境 PAGEREF _Toc325629017 h 3 HYPERLINK l _Toc325629018 2 . 1 PAGEREF _Toc325629018 h Servlet介绍3 HYPERLINK l _Toc325629019 2 . 1 . 1什么是Servlet PAGEREF _Toc325629019 h 3 HYPERLINK l _Toc325629020 2 . 1 . 2 Servlet技术的特点 PAGEREF _Toc325629020 h 3 HYPERLINK l _Toc325629021 2 . 2 JSP技术概述 PAGEREF

4、_Toc325629021 h 4 HYPERLINK l _Toc325629022 2 . 2 . 1 JSP技术 PAGEREF _Toc325629022 h 的产生背景4 HYPERLINK l _Toc325629023 2 . 2 . 2 JSP技术的优缺点 PAGEREF _Toc325629023 h 4 HYPERLINK l _Toc325629024 2 . 2 . 3 JSP技术的工作原理 PAGEREF _Toc325629024 h 5 HYPERLINK l _Toc325629025 2 . 3 Struts概述 PAGEREF _Toc325629025 h

5、 5 HYPERLINK l _Toc325629026 2 . 3 . 1 Struts5的起源与发展 PAGEREF _Toc325629026 h HYPERLINK l _Toc325629027 2 . 3 . 2 Struts PAGEREF _Toc325629027 h 5的MVC模式介绍 HYPERLINK l _Toc325629028 2 . 3 . 3 Struts 7的优缺点 PAGEREF _Toc325629028 h HYPERLINK l _Toc325629029 2 . 3 . 4 Struts工作流程 PAGEREF _Toc325629029 h 8

6、HYPERLINK l _Toc325629030 2 . 4 Hibernate数据库持久化技术 PAGEREF _Toc325629030 h 9 HYPERLINK l _Toc325629031 2 . 4 . 1 PAGEREF _Toc325629031 h Hibernate介绍9 HYPERLINK l _Toc325629032 2 . 4 . 2 休眠工作流程 PAGEREF _Toc325629032 h 10 HYPERLINK l _Toc325629033 2 . 5开发环境 PAGEREF _Toc325629033 h 10 HYPERLINK l _Toc32

7、5629034 2 . 5 . 1 Eclipse开发工具 PAGEREF _Toc325629034 h 10 HYPERLINK l _Toc325629035 2 . 5 . 2 雄猫服务器 PAGEREF _Toc325629035 h 11 HYPERLINK l _Toc325629036 3系统分析 PAGEREF _Toc325629036 h 12 HYPERLINK l _Toc325629037 3 . 1需求分析 PAGEREF _Toc325629037 h 12 HYPERLINK l _Toc325629038 3 . 1 . 1目标系统功能说明 PAGEREF

8、_Toc325629038 h 12 HYPERLINK l _Toc325629039 3 . 1 . 2用户需求分析 PAGEREF _Toc325629039 h 12 HYPERLINK l _Toc325629040 3 . 2系统安全 PAGEREF _Toc325629040 h 12 HYPERLINK l _Toc325629041 4系统设计 PAGEREF _Toc325629041 h 14 HYPERLINK l _Toc325629042 4 . 1数据库设计 PAGEREF _Toc325629042 h 14 HYPERLINK l _Toc325629043

9、4 . 1 . 1数据库简介 PAGEREF _Toc325629043 h 14 HYPERLINK l _Toc325629044 4 . 1 . 2数据库设计与实现 PAGEREF _Toc325629044 h 17 HYPERLINK l _Toc325629045 4 . 2功能设置 PAGEREF _Toc325629045 h 23 HYPERLINK l _Toc325629046 4 . 2 . 1主要模块功能说明 PAGEREF _Toc325629046 h 23 HYPERLINK l _Toc325629047 4 . 2 . 2系统功能模块 图 PAGEREF _

10、Toc325629047 h 23 HYPERLINK l _Toc325629048 4 . 3控制处理层 PAGEREF _Toc325629048 h 24 HYPERLINK l _Toc325629049 5系统实施和测试 PAGEREF _Toc325629049 h 25 HYPERLINK l _Toc325629050 5 . 1业务逻辑层中的Bean函数 PAGEREF _Toc325629050 h 25 HYPERLINK l _Toc325629051 5 . 2系统界面 PAGEREF _Toc325629051 h 27 HYPERLINK l _Toc32562

11、9052 5 . 3搭建系统运行环境 PAGEREF _Toc325629052 h 33 HYPERLINK l _Toc325629053 总结 PAGEREF _Toc325629053 h 34 HYPERLINK l _Toc325629054 至 PAGEREF _Toc325629054 h 34 HYPERLINK l _Toc325629055 参考文献 PAGEREF _Toc325629055 h 35 HYPERLINK l _Toc325629056 附录 PAGEREF _Toc325629056 h 361 简介教学管理系统是集计算机技术和网络通信技术于一体的信息

12、系统工程。基于Web的教学管理系统是通过JSP开发的。一方面,通过数据库对学校海量信息进行管理,保证了数据的准确性、及时性、全面性和细节性。教学管理系统的开发过程以软件工程的思想为指导,是一个经过可行性研究、需求分析、总体分析、详细设计等主要阶段的法规开发过程。目前开发Web应用主要有两种模式:C/S(客户端/服务器)和B/S(浏览器/服务器)。 B/S设计模式为我们提供了系统设计的基本思路和基本方向。与C/S模式相比,B/S模式内容客户端在不安装软件的情况下通过访问服务器获取所需的信息,从而使网页更易于浏览和管理,满足用户对系统的使用要求,也就是用户无需安装客户端,通过浏览器即可访问相关服务

13、;在系统升级或维护时,只要将变更集中在Web服务器中,用户在下一页刷新时就可以立即得到反馈,并且对于那些在服务器上运行的逻辑和变更对用户是透明的;此外,B/S模式在数据迁移和安全性方面更具优势。学校作为一个复杂的机构,借助实用的教学管理系统,在日常教学活动中实现对海量数据的有效管理是不可或缺的。与教学活动相关的角色大致可分为三类:学生、教师和教学管理者。而这三类用户的权限、关注点和所需数据不同,需要为他们提供不同的操作界面,并规定他们相应的操作。因此,教学管理系统的主要功能也必须针对这三个主要角色进行设计。1.1 选题背景随着数据库技术、网络技术和科学管理方法的发展,计算机在管理中的应用越来越

14、广泛,管理信息系统逐渐成熟,给管理带来了新的革命。管理信息系统是以人为主导,通过使用计算机、网络通讯设备等办公设备,支持高层决策、中层控制和基层操作的人机系统。 、传输、处理、存储、更新和维护信息。管理信息系统最大的特点是高度集中,可以将组织内的数据和信息集中起来,快速处理,统一使用。支持决定。中央数据库和计算机网络系统是管理信息系统(MIS)的重要标志。 MIS的处理方式是基于数据库和网络的分布式处理。随着计算机网络和通信技术的发展,它不仅可以连接组织部门的各级管理,而且可以跨越地域界限,将分散在不同区域的计算机网络互连起来,形成跨区域的各种业务信息系统和管理。信息系统。目前,虽然很多学校已

15、经开始使用电脑来管理校务。学校的教务管理系统必须是一个完整统一、技术先进、高效、稳定、安全可靠的系统。根据国立大学现行管理模式,结合国际新理念,在校园网络环境下,构建与国际接轨的先进信息化管理平台。提高学校管理现代化水平,使其成为学校公共信息服务体系的重要组成部分。教学管理系统是高校管理信息系统建设的重要组成部分,是提高教学管理质量和效率乃至建设世界知名高水平大学的关键环节。教学和教务信息处理的计算机化、网络化也是实现学校管理现代化、信息化的重要组成部分。1.2 目的和意义随着计算机技术的不断发展,计算机作为知识经济时代的产物,已经广泛应用于社会的各个行业和领域。目前,随着我国科学技术的飞速发

16、展,计算机作为当今使用最广泛的现代工具,已经渗透到各个领域,正在成为未来社会信息社会的重要支柱。在这样的背景下,现代学校教务管理方式和资源建设发生了重大变化。这种变化体现在教务工作、管理和服务平台的变化上。教务管理不再是传统的人工操作。人工管理,但全面实行电脑管理。这个毕业设计让我提高了解决实际问题的能力。但是,由于本人知识有限,系统设计上还存在很多不足之处。请批评指正,以便我日后改进。另外,系统的顺利完成离不开老师们对我的帮助,对此我深表感谢。2 开发技术与环境2.1 Servlet简介2.1.1 什么是ServletServlet(Java 服务器小程序)是用 Java 编写的服务器端程序

17、。它是一个Java类,由服务器端调用和执行,根据servlet自己的规则编写。 Servlet可以看成是用Java编写的CGI,但它的功能和性能都比CGI更强大。servlet 是使用 Java Servlet 应用程序编程接口 (API) 和相关类和方法的 Java 程序。除了 Java Servlet API 之外,Servlet 还可以用来扩展和添加 Java 类包到 API。它最常见的用途是扩展 Web 服务器,为 CGI 提供非常安全、可移植且易于使用的替代方案。它是一个动态加载的模块,为来自 Web 服务器的请求提供服务。它完全在 Java 虚拟机上运行。由于它运行在服务器端,它不

18、依赖于浏览器的兼容性。2.1.2 Servlet技术特点Servlet是一个Java类,可以实现Java除图形界面之外的所有功能。一般来说,它具有以下优点:1、可移植性 可以在不同的操作系统平台和不同的应用服务器平台下移植。2.强大的功能可以使用核心Java API的所有功能。3、有几种不同的安全级别为Servlet的安全提供了保障。4.简洁的Servlet代码是面向对象的,在封闭方面具有先天优势。5. 集成 Servlet 与服务器紧密集成,可以紧密协作完成特定任务。6.模块化第一个servlet可以执行特定的任务,它们可以一起工作。7. 可扩展性 Servlet 的接口设计非常简单,具有很

19、强的可扩展性。8. 高效持久的servlet一旦加载,就驻留在内存中,加快响应速度。2.1.3 Servlet生命周期Servlet部署在容器中,其生命周期由容器管理,一般可以摘要为以下几个步骤:1.加载Servlet 这个操作一般是动态执行的。2. servlet 容器创建 servlet 的实例。 3、容器调用实例的init()方法。 4. Service 如果容器有对servlet的请求,则调用该实例的service()方法。 5. 销毁 通过调用servlet 的destroy() 方法来销毁servlet。2.2 JSP技术概述2.2.1 JSP技术背景JSP(Java Server

20、 Pages)是由Sun Microsystems倡导并由多家公司参与制定的动态网页技术标准。该技术为创建显示动态生成的内容的网页提供了一种简单而快速的方法。 JSP 技术旨在使构建可以与各种 Web 服务器、应用程序服务器、浏览器和开发工具一起工作的基于 Web 的应用程序变得更容易和更快。 JSP 规范是 Web 服务器、应用程序服务器、事务系统和开发工具供应商之间广泛合作的结果。将Java程序片段(Scriptlet)和JSP标签(tag)添加到传统网页HTML文件(*htm、*.html)中,就构成了一个JSP网页(*.jsp)。由于 JSP 是建立在 Servlet 之上的,它具有

21、Servlet 的所有强大功能。 JSP 基于强大的 Java 语言,具有良好的可扩展性,并与 Java Enterprise API 紧密集成。在网络数据库应用开发领域具有得天独厚的优势。从JSP近几年的发展来看,JSP取得了巨大的成功。通过与E等J2EE组件集成,可以编写具有大扩展性和高负载的企业级应用程序。它从多个方面加速。开发动态 Web 应用程序页面。2.2.2 JSP技术的优缺点1 JSP技术的优势1. 一次编写,到处运行。2、系统多平台支持。3. 可扩展性强。4. 多样化强大的开发工具支持。2 JSP技术的弱点1. 跨平台功能和极致的可扩展性大大增加了产品的复杂性。2. 需要一定

22、的硬盘空间来存储一系列. Java 文件,. class 文件和相应的版本文件。3 JSP设置对象JSP包括九个集合对象:request对象、response对象、pageContext对象、Session对象、application对象、out对象、config对象、page对象和exception对象,可以通过application对象和session对象实现不同页面之间的数据共享。2.2.3 JSP技术的工作原理当 Web 服务器遇到访问 JSP 网页的请求时,它首先执行程序片段,然后将执行结果以 HTML 格式返回给客户端。程序片段可以操作数据库、重定向网页以致电子邮件等。这是创建动态

23、所需要的。所有程序操作都在服务器端执行,只有结果致到网络上的客户端。对客户端的浏览器要求最低,不需要Plugin,不需要ActiveX,不需要Java Applet,甚至不需要Frame。2.3 Struts概述2.3.1 Struts的起源与发展Struts 框架工具是 Apache Foundation Jakarta 项目发起的一个子项目。 Struts 在英文中的意思是支架和支持,这也体现了 Struts 在开发 Web 应用程序的过程中所起的重要作用。 Struts 为 Web 应用程序提供了一个通用框架,内容开发人员专注于如何解决问题。在实际业务问题上,同时,Struts框架还内容

24、开发者根据实际需要进行扩展和定制,从而更好地适应用户的需求。使用 Struts 可以简化遵循 MVC 设计模式的 Web 应用程序的开发,很好地实现代码重用,使开发人员从一些繁琐的工作中解脱出来,快速开发可以充分发挥 JSP/Servlet 的优势,具有很强的扩展性 Web 应用程序。总之,Struts的出现大大简化了Web应用程序的开发过程,可以缩短开发周期,提高开发效率。2.3.2 Struts的MVC模式介绍Model-View-Controller (MVC) 是一种软件设计模式,出现在 1980 年代 Smalltalk-80 中,现在被广泛使用。 1、模型(Model)模型是应用程

25、序的主要部分。模型代表业务数据或业务逻辑。 2.视图(View)视图是应用程序中与用户界面相关的部分,是用户看到并与之交互的界面。 3、控制器(controller) 控制器的工作是根据用户的输入控制用户界面数据的显示和更新模型对象的状态。 图 2.1 MVC 组件类型的关系和功能图 2.1 MVC 的关系和功能CATID MVC 的出现不仅实现了功能模块和显示模块的分离,而且提高了应用系统组件的可维护性、可扩展性、可移植性和可重用性。虽然 MVC 设计模式提出很早,但由于缺乏相关支持,在 Web 开发中引入 MVC 相当困难。直到基于 J2EE 的 JSP Model 2 出来后才改变。下面

26、简单介绍一下JSP Model 1和JSP Model 2。图 2.2 JSP 模型 1 的数据传输(JSP+JavaBean) 图2.2 JSP 模型 1 的数据传输(JSP+JavaBean+Servlet)图2.3 JSP模型2(JSP+JavaBean+Servlet)的数据传输图图 2.3 JSP 模型 2 的数据传输(JSP+JavaBean+Servlet)对比两种模式不难发现,JSP Model 2 的层级关系比 JSP Model 1 更清晰,开发出来的页面也更容易维护。这种模式下,各个组件的分工非常明确,使用JSP技术进行展示,充当视图的角色,使用Servlet执行业务逻辑

27、,相当于控制器的角色,使用JavaBean组件来表示数据,相当于模型的作用。尽管如此,JSP Model 2还是不够好,很容易让系统中出现多个Controller,页面导航的处理也比较复杂。 Struts 是一种基于 JSP Model 2 实现的 MVC 架构。它只有一个中央控制器,它使用 XML 来定制重定向的 URL。使用 Action 来处理逻辑是对 JSP 模型 2 3 的巨大改进。2.3.3 Struts的优缺点优点:Struts和Tomcat、Turbine等很多Apache项目一样,都是开源软件,可以让开发者对其实现机制有更深入的了解,这是它的一大优势。另外,Struts的优势

28、主要体现在两个方面:Taglib和页面导航。 Taglib是Struts的一个标签库,可以灵活使用,可以大大提高开发效率;页面导航使系统的上下文更加清晰。通过一个配置文件,可以掌握整个系统各个部分之间的联系,这对于后期的维护非常重要。一个巨大的好处,尤其是当另一组开发人员接管该项目时。缺点:taglib 是 Struts 的一大优势,但是对于初学者来说,需要一个不断学习的过程,甚至会打乱写网页的习惯,但是当你习惯了,你会觉得它真的很棒。 Struts将MVC Controller分为三个部分,在增加系统复杂度的同时获得了更清晰的结构。 Struts问世不到半年,却逐渐被越来越多的商业软件所采用

29、。虽然它还有很多不足之处,但它是一个非常好的 J2EE MVC 实现。2.3.4 Struts的工作流程WEB启动时会上传并初始化ActionServletActionServletsstruts 配置。 xml文件读取配置信息,并将它们存储在各种配置对象中。当 ActionServlet 接收到客户端请求时,其执行过程大致如下:1. 检索与用户请求匹配的 ActionMapping 实例。如果不存在,则返回用户请求路径无效。 2、如果ActionForm实例不存在,则创建一个ActionForm对象,将客户提交的表单数据保存到ActionForm对象中。3、根据配置位置判断是否需要表单验证。

30、如果需要验证,请调用 ActionForm 并抛出 validate() 方法。 4、如果ActionForm的validate()方法返回null或者返回一个不包含ActionMessage的ActionError对象,则表示表单验证成功。 5、ActionServlet根据ActionMapping实例中包含的映射位置决定将请求转发到哪个Action。如果对应的Action实例不存在,先创建这个实例,然后调用Action的execrte()方法。 6、Action的execute()方法返回一个ActionForward对象,ActionServlet将客户端请求转发给ActionForw

31、ard对象指向的JSP组件。 7、ActionForward对象指向的JSP组件生成动态网页返回给客户端4。下图是Struts的工作流程,所有请求都提交给ActionServlet图 2.4 Struts 工作流程图图 2.4 struts 的工作流程2.4 Hibernate数据库持久化技术2.4.1 Hibernate简介Hibernate 是用于 Java 环境的对象/关系数据库映射工具。它是根据 GNU 宽通用公共许可证发布的免费开源软件。它提供了一个易于使用的框架,用于将面向对象的领域模型映射到传统的关系数据库。Hibernate 不仅管理 Java 类到数据库表的映射(包括 Jav

32、a 数据类型到 SQL 数据类型的映射),还提供了面向对象的数据查询和检索机制,可以大大减少手动使用 SQL 和JDBC 在开发过程中处理数据。 Hibernate 的目标是解放 95% 的开发人员通常与数据持久性相关的编程任务。对于以数据为中心的程序,他们往往只使用数据库中的存储过程来实现业务逻辑。 Hibernate 可能不是最好的解决方案,但对于那些在基于 Java 的中间层应用程序中实现面向对象的业务模型和业务逻辑的应用程序来说,它是最有用的。2.4.2 Hibernate的工作流程在 Java 应用程序中使用 Hibernate 大致包括以下步骤:1. 创建 Hibernate 配置

33、文件。2. 创建持久类。3. 创建对象关系映射文件。4.编写代码通过Hibernate API访问数据库。2.5 开发环境2.5. 1 Eclipse开发工具Eclipse 是目前主流的Web 应用程序开发工具之一。它是一个开源、基于 Java 的集成和可扩展开发平台,类似于 NetBeans、Sun ONE Studio 和 Borland uilder。它也是最著名的开源开发平台。项目之一。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一组标准插件,包括 Java 开发工具 (JDT)。它以插件的形式嵌入了包括Spring、Strut

34、s、Hibernate等主流开发框架,大大减少了程序开发者的工作量。根据Eclipse的架构,通过插件的开发,可以扩展到任何语言的开发,甚至可以成为画图的工具。虽然 Eclipse 是用 Java 语言开发的,但它的使用并不局限于 Java 语言;例如,支持 C/C+、COBOL 和 Eiffel 等编程语言的插件已经可用或预计可用。 Eclipse 框架也可以用作与软件开发无关的其他应用程序类型的基础,例如内容管理系统。此外,Eclipse还支持多种流行的数据库管理软件,如SQL、Oracle等,是一款功能强大且不可多得的集成开发工具。由于它的开源特性,任何人都可以免费获得,并且可以在此基础

35、上开发自己的插件,因此越来越受到人们的关注。最新更稳定的版本是Eclipse 3.3,插件版本是MyEclipse 6.0.1。2.5.2 Tomcat服务器1 Tomcat的产生与发展Tomcat是一款小型轻量级的应用服务器,广泛应用于中小型系统和并发访问用户不多的场合。它是开发和调试JSP 程序的首选。自 JSP 发布以来,已经引入了各种 JSP 引擎。在完成了 GNUJSP1.0 的开发之后,Apache Group 开始考虑在 SUN 的 JSWDK 的基础上开发一个可以直接提供 Web 服务的 JSP 服务器。当然它也支持Servlet,于是Tomcat就诞生了。 Tomcat是ja

36、karta项目中的一个重要子项目,也是sun公司官方推荐的servlet和jsp容器。由于其技术先进、性能稳定,也受到越来越多软件公司和开发者的青睐。 servlet和jsp的最新规定可以在新版tomcat中实现。其次,Tomcat 是完全免费的软件,任何人都可以从 Internet 上免费下载。2 在 Tomcat 中部署 Web 应用程序在Tomcat中,应用部署很简单,你只需要把你的WAR放到Tomcat的webapp目录下,Tomcat就会自动检测到这个文件并解压。当你在浏览器中访问这个应用程序的Jsp时,第一次通常很慢,因为Tomcat必须将Jsp转换成Servlet文件,然后编译。

37、编译后访问会很快。3 系统分析3.1 需求分析3.1.1 目标系统功能说明教务管理系统为客户提供强大的软件功能,主要维护日常教务管理等基本信息,可为教务教学提供更好的数据支持。软件功能基本一般。提供系统用户管理、角色管理、数据字典管理、课程管理、通用课程管理、教师薪酬管理统计、试卷档案管理和生成报表Excel数据文件、查询帮助等功能。3.1.2 用户需求分析本教务管理系统基于Windows操作系统,通过对既定数据条件的研究分析,结合学校教务管理分析。对原有教务管理系统的非图形化界面操作,功能弱的数据库系统不稳定、不可扩展、移植困难,以及原有的覆盖面不够广等问题提出了一些要求。系统功能。1、目前

38、流行的数据库系统Mysql需要作为底层数据库,使其具有较强的稳定性、可扩展性、可移植性等优良性能。2、系统要求使用功能强大的Windows系列操作系统作为操作系统平台,使其具有优秀的可视化图形操作界面,并大力提高系统的可操作性和交互性,最大限度地减轻操作者的负担,使他们更加方便,更方便。更快更容易操作。3、需要扩大系统功能的覆盖面。其功能需要对图书编目建库、浏览数据、检索统计数据、印刷数据等进行综合管理。并且可以控制每个用户的系统权限,从而保证系统的安全性能。4、需要提高系统的可维护性。系统的数据需要随时备份和恢复。基于家庭图书馆管理系统的局限性,不要求数据可以与其他数据库(和共享数据)进行通

39、信。3.2 系统安全计算机系统的安全管理是一项庞大、复杂、范围广泛的系统工程。安全的核心是人,安全管理必须以人为核心。采用各种先进的安全技术,保护系统免受非法攻击,排除无访问权限的用户窃取信息,确保系统安全可靠运行。根据学校教务系统的特点,为加强其安全性,系统采取了一定的措施。4 系统设计4.1 数据库设计4.1.1 数据库简介Mysql是目前主流的数据库软件之一。作为系统的后台服务,主要用于保存系统的各种信息。通过对数据库表的有效管理,可以实现数据的永久存储,其中存储的数据可以通过特定的SQL语句进行存储。数据执行一系列操作,如查询、更新、删除、添加等。1 SQL语言SQL 基础:SQL(S

40、tructured Query Language,结构化查询语言)是一种强大的数据库语言。 SQL 通常用于数据库通信。 ANSI(美国国家标准协会)声称 SQL 是关系数据库管理系统的标准语言。 SQL语句通常用于完成一些数据库操作任务,比如更新数据库中的数据,或者从数据库中检索数据。使用 SQL 的常见关系数据库管理系统有:Oracle、Mysql、Sybase、Microsoft SQL Server、Access、Ingress 等。虽然绝大多数数据库系统都使用 SQL,但它们也有自己的系统额外专有扩展。然而,诸如“Select”、“Insert”、“Update”、“Delete”、

41、“Create”和“Drop”之类的标准 SQL 命令通常用于执行大多数数据库操作。 MS SQL Server 使用 Transact-SQL。 SQL语言具有非常突出的优势。非过程语言:SQL 是一种非过程语言,因为它一次处理一条记录,提供数据的自动导航。 SQL 内容用户在不操作单个记录、操作记录集的情况下处理高级数据结构,并且所有 SQL 语句都接受集作为输入并返回集作为输出。 SQL 的聚合特性内容将一条 SQL 语句的结果用作另一条 SQL 语句的输入。SQL 不需要用户指定数据的存储方式,该特性使用户更容易专注于要获得的结果;所有 SQL 语句都使用查询优化器,它是 RDBMS

42、的一部分,它决定了对指定数据的最快访问。查询优化器知道存在哪些索引以及在哪里适当地使用它们,而用户永远不需要知道表是否有索引以及它有什么类型的索引。统一语言:SQL 可用于为所有用户建模数据库活动,包括系统管理员、数据库管理员、应用程序程序员、决策支持系统人员和许多其他类型的最终用户。SQL 为许多任务提供命令,包括:查询数据;插入、修改和删除表中的记录;创建、修改和删除数据对象;控制对数据和数据对象的访问;确保数据库的一致性和完整性;以前的数据库管理系统为上述操作提供了不同的语言,而 SQL 将所有任务统一在一种语言中。所有关系数据库的通用语言:由于所有主要的关系数据库管理系统都支持 SQL

43、 语言,因此用户可以将使用 SQL 的技能从一个 RDBMS(关系数据库管理系统)转移到另一个,并且所有用 SQL 编写的程序都可以移植。SQL语句:SQL功能强大,是一门完整的数据处理语言。它不仅用于数据库查询,还用于数据库中的数据修改和更新。总结起来,可以分为以下几组:DML(Data Manipulation Language):用于检索或修改数据;DDL(Data Definition Language):用于定义数据的结构,如创建、修改或删除数据库对象;DCL(Data Control Language,数据控制语言):用于定义数据库用户的权限。DML 组可以细分为以下语句:SELE

44、CT:用于检索数据;INSERT:用于向数据库添加数据;UPDATE:用于修改数据库中已有的数据;DELETE:用于从数据库中删除数据。DDL 语句可用于创建用户和重建数据库对象。这是 DDL 命令:创建表、更改表、删除表、创建索引、删除索引DDL 和 DML:数据定义语言 DDL:用于创建和修改数据库结构的语句,包括 Create、Alter 和 Drop 语句。数据操作语言DML:包括数据查询和数据更新。数据查询主要由Select语句完成,不再赘述。而数据更新带来的风险远不止数据查询。数据库管理系统必须在变更期间保护存储数据的一致性,保证有效数据进入数据库,数据库必须保持一致,DBMS还要

45、协调多个用户的并行更新,保证用户及其变更不会影响其他用户的工作。用于修改数据库内容的主要 SQL 语句有以下三种:(1)插入,向表中添加新的数据行(2)delete,从表中删除数据行(3)更新、更改数据库中已经存在的数据插入标准语法:INSERT INTO 表名 (col1, col2.) 值 (value1, value2.)插入语句还可以向目标表中添加多行数据。在这种形式的 Insert 语句中,新行的数据值不是在语句体中显式指定的,而是在语句中指定的数据库查询。附加值来自数据库自己的行,这在某些状态下很有用。多行Insert语句提供了一种简洁高效的复制数据的方法,但我在自己的图书管理系统

46、中并没有使用这种方法。在系统中,我按照上面的用法,使用循环来完成多条记录。插入。Update 语句用于更新单个表中选定行的一个或多个列的值。要更新的目标表在语句中定义,Set 子句指定要更新哪些列并计算它们的值。 Update 语句总是包含 Where 语句,而 Update 语句是危险的,所以你必须清楚地认识到 Where 语句的重要性,它用于指定需要更新的行。标准语法:更新表名SET 列名 1 = 值 1,列名 2 = 值 2。 WHERE 搜索条件Delete 语句的标准语法:DELETE FROM 表名 WHERE 条件复杂操作的实现:在信息管理系统中,我们经常会遇到分类、聚合、映射、

47、索引、子查询等复杂操作。对应的支持和实现如下:GROUP BY 子句语法是:选择第 1 列,总和(第 2 列)从“表列表”GROUP BY 列列表;GROUP BY 子句将包含指定实例数据的所有行组合在一起,以内容聚合函数计算一列或多列。在我的系统中,在显示数据的时候,我使用这个语句对查询得到的内容进行排序,然后显示出来。组合条件和布尔运算符,以下 SQL 语句包含组合条件:选择第 1 列,总和(第 2 列)从“表列表”其中“条件1”和“条件2”;有时,要一起浏览多个查询的结果并组合它们的输出,我们可以使用 UNION 关键字。2 数据库数据库处理一直是信息系统研究中一个非常重要的课题。然而,

48、近年来,随着万维网(WWW)的迅猛发展和互联网技术的飞速发展,数据库技术已成为最流行的技术之一。数据库技术可以使 Internet 应用程序超越具有早期应用程序特性的简单分发。同时,互联网技术为向用户发布数据库内容提供了标准化的访问方式。这些技术并没有脱离经典数据库技术的要求。它们只是增加了数据库技术的重要性。数据库设计和开发,包括艺术和工程。了解用户需求,然后将其转化为有效的数据库设计是一个艺术过程。将设计转化为实际的数据库是一个工程过程,这些数据库具有全功能、高性能的应用程序。数据库的目的是帮助人们跟踪交易。经典的数据库应用程序涉及订单、客户、工作、员工、学生等项目,或其他需要密切关注的具

49、有大量数据的事务。近来,由于数据库的普及,数据库技术被应用到新的领域,例如用于互联网的数据库或用于企业联网的数据库。数据库也越来越多地用于生成和维护多媒体应用程序。4.1.2 数据库设计与实现1 数据库功能设计根据教学管理系统的处理要求,数据库表的设计和功能如下:学生个人信息表:用于存储学生的基本信息。教师个人信息表:用于存放教师的基本信息。课程信息表:用于存放课程的基本信息。学生成绩单:用于存储学生成绩记录。选课表:用于存放学生的选课记录。消息信息表:用于存放所有的消息记录。2 数据库概念结构设计一、实体及其关系图:图4.1实体及其关系图图4.1实体与关系2、系统流程图:图4.2系统流程图图

50、4.2系统流程图3 数据库逻辑结构设计数据库设计主要是对数据库进行逻辑设计,即将数据按照一定的分类、分组系统和逻辑层次组织起来,是面向用户的。设计数据库时,需要整合企业各部门的归档数据和数据需求,分析各种数据之间的关系,设计合适的规模,正确反映数据关系,减少数据冗余,提高访问效率。 DBMS 提供的功能和描述工具。可满足多种查询需求的优质数据模型。数据库设计的步骤是:(1)数据库结构的定义:目前的数据库管理系统(DBMS)有的是支持在线事务处理CLTP(负责事务数据的收集、处理和存储)的操作型DBMS,有的支持数据仓库和在线分析处理 CLAP。 (指处理数据以支持决策的大型DBMS),有些数据

51、库是关系型的,有些可以支持面向对象的数据库。对于选定的 DBMS,定义数据库结构。(2)数据表定义:数据表定义是指定义数据库中数据表的结构。数据表的逻辑结构包括:属性名、类型、表示、默认值、验证规则、是否为关键字、是否可以为空等。关系数据库应尽可能按照关系规范的要求进行设计,但为了达到高效率,规范的程度应根据应用环境和条件来确定。数据表设计不仅要满足数据存储的要求,还要增加一些字段或临时数据表,如反映相关信息、操作职责、中间数据等。(3)存储设备和存储空间组织:确定数据的存储位置、存储路径、存储设备等,备份计划,以及如何保证多个版本的一致性和数据完整性。(4)数据使用权限设置:根据用户不同的使

52、用需求,确定用户对数据的使用权限,保障数据安全。(5)数据字典设计:使用数据字典来描述数据库的设计,易于维护和修改。为了更好的组织数据,设计实用的应用数据库,需要注意以下几个问题:有规律地重组数据结构:有规律地表达数据,后面会详细讨论。建立关系数据结构:在对基础数据结构进行标准化重组后,还必须建立整体数据的关系结构。这一步的设计完成后,数据库和数据结构的设计就基本完成了。系统实施时,将数据分析和数据字典的内容代入到设计的整体数据关系结构中,建立起标准化的数据库体系结构。建立关系数据结构涉及三个方面:确定关联的关键索引项和建立关联表;确定单父记录结构;建立整个数据库的关系结构。根据上面的ER图,

53、建立了6张数据库表,其结构如下:表4.1学生个人信息表标签。 4.1学生信息字段名称数据类型是空的阐明数字varchar(20)不为空学生证(主码)姓名varchar(20)不为空性别varchar(5)不为空性别年龄大整数不为空年龄部varchar(50)不为空专门大学varchar(50)不为空大学电话varchar(20)不为空地址varchar(50)不为空地址及时varchar(50)不为空入场时间时差varchar(50)不为空毕业时间密码varchar(20)不为空密码表4 。 2 教师个人信息表标签。 4 . 2 教师信息字段名称数据类型是空的阐明数字varchar(20)不为

54、空员工编号(主要代码)姓名varchar(20)不为空性别varchar(5)不为空性别年龄大整数不为空年龄部varchar(50)不为空部邮政varchar(20)不为空职称评论varchar(100)不为空评论密码varchar(20)不为空密码表4 。 3 课程信息表标签。 4 . 3 课程信息字段名称数据类型是空的阐明数字varchar(20)不为空课程编号(主要代码)姓名varchar(20)不为空课程名信用大整数不为空信用老师varchar(20)不为空老师时间varchar(50)不为空上课时间地址varchar(50)不为空上课地点类型varchar(50)不为空课程类型表4

55、。 4 学生成绩单标签。 4 . 4 学生表现字段名称数据类型是空的阐明号码varchar(20)不为空学生证(外码)编号varchar(20)不为空课程编号(外码)年varchar(50)不为空学年学期大整数不为空学期年级漂浮不为空分数冲秀varchar(10)不为空重做标志表4 。 5 选课表标签。 4 . 5 课程由学生选择字段名称数据类型是空的阐明斯诺varchar(20)不为空学生号码诺varchar(20)不为空课程编号姓名varchar(20)不为空课程名称信用大整数不为空课程学分老师varchar(20)不为空老师时间varchar(50)不为空上课时间地址varchar(50

56、)不为空上课地点类型varchar(50)不为空课程类型选择varchar(20)不为空选课标志表4 。 6 留言信息表标签。 4 . 6 请假词的信息字段名称数据类型是空的阐明标题varchar(100)不为空主题姓名varchar(20)不为空评论者电子邮件varchar(50)无效的消息人电子邮件时间varchar(50)不为空留言时间内容varchar(2000)不为空留言内容4.2 功能设置4.2.1 主要模块功能说明基于Web的教学管理系统主要是实现在线选课、信息查询、个人信息修改等功能的系统。根据教学管理系统的基本要求以及不同角色使用系统的权限不同,本系统的具体功能设置如下:1.

57、管理员功能:实现学生信息查询、教师信息查询、添加或删除学生、添加或删除教师、消息管理、公告管理、课程信息录入和修改等功能。2、教师功能:实现学生成绩录入和修改、个人信息查询和修改、选修选课、在线留言、查看公告等功能。3、学生功能:实现在线选课、成绩查询、个人信息查询修改、在线留言和查看公告等功能。4.2.2 系统功能模块图系统功能模块如下:图4.3系统功能模块图图4.3系统功能模块4.3 控制处理层系统的进程控制主要由Servlet和Action完成。当用户提交相关信息时,将信息致给Servlet或Action,Servlet或Action调用对应JavaBean的相关函数,执行用户期望的操作

58、。跳转到对应页面,操作后返回结果。这个过程对用户是透明的,用户只能看到操作后返回的页面信息,不需要了解整个系统的过程控制。5 系统实现与测试5.1 业务逻辑层的Bean函数1. 课程。爪哇:public Collection queryOperator(String hql):封装查询的方法。public Course getCourse(String id):返回指定id的课程。public static void addCourse(CourseForm course):添加新课程。public static void deleteCourse(String id):删除指定id的课程。p

59、ublic Collection getCourses():返回所有课程信息。public void changeCourseInfo(String id, Course cour): 修改指定课程的信息2. 等级。爪哇:public Collection queryOperator(String hql):封装查询的方法。public void addGrade(GradeForm Grade):添加成绩记录。public Collection getAllGrades(String sno):返回指定学生的所有成绩记录。public Collection getYearGrades(Str

60、ing sno,String year):返回指定学生在指定学年的成绩。public Collection getTermGrades(String sno,String year,Long term):返回指定学生在指定学期的成绩。public static void changeGrade(String sno,Stringo,String Grade):修改指定学生指定课程的成绩。3. 科学。爪哇:public Collection queryOperator(String hql):封装查询的方法。public static Sc getSc(String sno, Stringo):

温馨提示

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

评论

0/150

提交评论