logo资料库

基于SSM架构的在线考试系统设计文档.pdf

第1页 / 共48页
第2页 / 共48页
第3页 / 共48页
第4页 / 共48页
第5页 / 共48页
第6页 / 共48页
第7页 / 共48页
第8页 / 共48页
资料共48页,剩余部分请下载后查看
2.1 Web 应用程序开发 JSP 技术 2.1.1 JSP 的概述 JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、多家公司 参与共同建立的一种动态网页技术规范,是一种用来开发动态网页内容的 标准。 JSP 是新一代的动态网页内容编程技术,它跟 Java 技术类似具有“一 次编写,随处运行”的特性,该特性允许相关开发人员开发和维护与操作 平台无关、信息丰富的动态 Web 页面,包括 HTML,DHTML,XHTML 和 XML 等。 该技术使 Web 开发人员搭建网络平台变的更加简单。JSP 技术可以让用户界 面跟内容从根本上分离出来,使得 Web 开发人员不必修改底层的动态内容, 来修改整体的页面布局。 2.1.2 JSP 的运行原理 程序运行的过程中,首先将相关 JSP 文档复制到 Web 服务器的文档目 录中。当用户请求该文档时,服务器将识别出这个具有.jsp 扩展名的文档, 并将该文档进行特殊处理。当用户第一次请求该文档时,它首先被编译成 一个 servlet 对象,并将其存储到内存中,然后所需内容反馈给发出请求 的客户机。在此之后,只要有请求到来,服务器都将进行检查,查看该文 件是否被改动,若没有变化,服务器将调用已编译过的 servlet 对象;否则 重新将编译。 JSP 请求具体过程如图 1-1 所示。 (1)用户机发出一个 JSP 页面请求。 (2)JSP 引擎编译该 JSP 被编译成 servlet。 1
(3)生成的 servlet 被编译并装载。 图 1-1 JSP 请求步骤 (4)将编译后的 servlet 服务请求一并反馈给用户机。 JSP 主要是为对于 Java 程序处理熟悉的人设计的。与传统的 servlet 相比,JSP 具有如下优势: 1.与传统的 HTML 语言兼容。 2.开发跟测试相对方便。 2.1.3 JSP 的优势与劣势 JSP 的优势: (1)可移植性强:JSP 是在 Java 的基础上开发,因此它具有 Java 的 “一处编写,随处运行,支持跨平台运行”的特点。 (2)有效性:JSP 的初始化仅在网络服务器首次加载时执行一次。在 处理某个新的请求时,只须调用其对应的服务方法。相对于每个请求都全 部加载一个完整的程序来说,这种方式是一种相当有效的技术。 (3)强大的可伸缩性和可扩充性:基于面向对象的语言(Java)开发, 2
并可在现有的面向对象基础上进行扩展,形成新的对象,可以更好地满足 用户的需求。 (4)JSP 是以 servlet 技术为基础,并对其进行对方的改进。利用跨 平台的 JavaBeans 组件,为业务逻辑模块与视图模块的分离提供了很好的 解决方案。 JSP 的劣势: (1)为了达到其跨平台功能以及极度的伸缩能力,极大的提高了其的 复杂性。整合 Java 系统中的 JRE,JDK,J2EE,EJB 等多种组件,这就需要 拿出部分精力来学习,这样才能更加灵活地对其加以运用。 (2)内存需求加大。 (3)JSP 的运用需要掌握一定的 Java 知识。 (4)程序调试起来异常复杂,可能某些细节问题都会影响整个系统运 行。 2.2.1 B/S 介绍 2.2 B/S B/S 体系结构即浏览器和服务器结构。该结构是基于传统 C/S 体系结构 的改进。其体系结构由 Web 服务器、浏览器、数据库服务器三个层次组成, 其中通过浏览器跟后台交互,一般情况下浏览器只具有展示功能,业务逻 辑交于后台处理。Web 服务器位于业务层,对于用户传过来的具体请求进行 处理,并将处理结果反馈给用户,同时它也是数据库跟浏览器交互的桥梁。 服务器根据用户请求对数据库数据进行相应的操作[错误!未找到引用源。]。 B/S 体系结构系主要部分安装及维护全在服务器端进行,用户仅需要网 路通畅的浏览器就可以运行系统的全部功能模块,从而避免了安装大型客 3
户端所带来的麻烦,用户不需要安装所有的组件,降低了客户端电脑的配 置需求,与此同时也降低了系统维护与升级的成本和工作量。 2.2.2 B/S 体系结构的优势与劣势 B/S 结构优势: (1)支持客户端跨平台操作 由于 B/S 结构以浏览器作为系统功能的使用接口,各种操作系统、数据 库管理系统都可以通过统一的协议和标准完全集成在一个 B/S 结构中,从 而为用户提供统一的信息服务界面。 (2)软件和硬件成本降低 使用 B/S 结构的系统,用户只需要在自己的电脑上配置 Web 浏览器就 可以对服务器进行访问,从而方便地使用系统提供的各项功能,极大节省 了用户的系统开销和各项成本。此外,B/S 结构系统对客户端和服务端的操 作系统没有具体的要求,因此,许多系统的服务器端选择使用免费的 Linux 操作系统,大大降低了服务提供方的成本。 (3)维护和升级方式简单 基于 Web 的 B/S 系统结构的主要特点就是它把系统管理程序装在服务 器端,维护人员只需要管理服务器,不必去考虑客户端的相关维护工作, 极大方便了系统的升级和维护工作。 B/S 结构劣势: 尽管 B/S 体系结构具有诸多优点,但它对系统的服务端配置也提出了 一定的要求。B/S 结构系统的核心集中在服务器端,服务器运行负荷较重, 服务器一旦“崩溃”,将会带来不可估量的严重后果。因此,对于服务器端 需要添加许多必要的措施,这样大大提高了运营成本,增加了许多不必要 的支出。 4
2.3 SSM 框架 SSM 框架是 Spring MVC ,Spring 和 MyBatis 框架的整合而成,采用标 准的 MVC 模式,该框架将系统划分为视图层,控制层,业务层,持久层四 部分,运用 spring MVC 框架处理请求的转发和视图管理,Spring 框架对业 务对象进行管理,采用 MyBatis 框架对数据对象进行持久化操作[错误!未找到引用源。]。 2.3.1 Spring Spring 是由 Rod Johnson 创建,用于解决企业应用开发的复杂性而创 建成熟的开源框架。Spring 使用基本的 Java Bean 来完成以前只可能由 EJB 完成的事情。然而,Spring 的用途不仅限于用于服务后台的开发。从软件 可测试性和高内聚、松耦合的角度而言,任何运用该框架的 Java 应用都可 以从中受益。简单来说,Spring 是一个轻量级的控制反转(IOC)和面向切面 (AOP)的容器框架[错误!未找到引用源。]。Spring 架构如图 2-1 所示: 图 2-1:Spring 架构 Spring 优势: (1)Spring 提供了一种管理对象的方法,可以把中间层对象有效地组织 5
起来。一个完美的框架“黏合剂”。 (2)养成面向接口的编程习惯,使代码结构更加清晰。 (3)采用了分层结构,可以增量引入到项目中。 (4)目的之一是为了写出易于测试的代码。 (5)非侵入性,应用程序对 Spring API 的依赖可以减至最小限度。 (6)一致的数据访问介面。 (7)一个轻量级的架构解决方案。 2.3.2 Spring MVC 通过策略接口,Spring MVC 框架是可配置的,而且包含多种视图技术, 例如 Java Server Pages(JSP)技术、Velocity、Tiles、iText 和 POI。 Spring MVC 框架并直接使用的视图,因此不会强迫开发者使用 固定的视 图技术。Spring MVC 分离了控制器、实体对象、过滤器以及处理程序对象 的角色,这种分离使得程序耦合度降低。 Spring MVC 工作原理: (1)客户端发送请求到 DispacherServlet(分发器) (2)由 DispacherServlet 控制器查询 Hander Mapping,找到处理请 求的 Controller (3)Controller 调用业务逻辑处理后,返回 ModelAndView (4)DispacherServlet 查询视图解析器,找到 ModelAndView 指定的 视图 (5)最后将请求结果显示到客户端 Spring MVC 流程如图 2-2 所示: 6
Spring MVC 优点: 图 2-2:Spring MVC 流程 Spring MVC 是一个典型的 MVC 模式的框架,而不像 struts 等都是变种 或者不是完全基于 MVC 系统的框架,对于初学者或者想了解 MVC 的人来说 是非常必要的!其次,它跟 tapestry 一样是一个纯正的 servlet 系统,这 也是它相对于 tapestry 和 struts 所具有的优势。而且框架本身属于 Spring 家族对于 Spring 来说具有更好的兼容性。 2.3.3 MyBatis MyBatis 是一款优秀的持久层框架,它支持定制 SQL、存储过程以及高 级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取 结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将 接口和 Java 的 POJOS(Plain Old Java Objects,普通的 Java 对象)映射 成数据库中的记录。MyBatis 架构如图 2-3 所示: 7
图 2-3:MyBatis 架构 每个 MyBatis 应用程序主要都是使用 SqlSessionFactory 对象的,通过 SqlSessionFactoryBuilde 来 生 成 所 需 的 SqlSessionFactory 对 象 。 SqlSessionFactoryBuilde 可以通过 XML 文件配置然后交给 Spring 来管理, 也可以通过 new 关键字来初始化所需对象。 MyBatis 优点: (1)简单易学:框架本身很小且内容相对简单。且不存在第三方依赖, 只要导入两个必要 jar 文件并且配置几个简单的对应 SQL 映射文件,就可 以操作和使用该框架。通过阅读官方文档和源代码,可以较熟练的操作该 框架。 (2)灵活:MyBatis 不需要对现有的应用程序或者数据库设计强加多余 的操作。 SQL 配置在对应的 XML 文件里,该方式便于统一管理和优化。通 过其自动生成工具生成的 SQL 可以基本上满足我们所需的所有数据库基本 操作,一些相对复杂的业务处理可以自定义所需的就可以。 (3)解耦:通过提供 DAO 层,将具体业务逻辑和数据访问逻辑分离,降 低了个各层间的耦合性,使程序结构更加清晰,更易维护测试。SQL 和代码 8
分享到:
收藏