基于j2ee网上购书系统的设计与实现毕业设计论文(编辑修改稿)内容摘要:
,向模型查询业务状态。 接收模型发出的数据,更新显示用户界面。 模型 (Model)是应用程序的主题,它用于表示业务数据和业务逻辑。 一个模型可以同事为多个视图提供数据,从而提高了代码的可重用性。 控制器 (Controller),顾名思义起控制作用。 它接收用户输入,并调用模型和视图来完成用户请求。 再用户提交表单时,控制器本身并不做任何处理和输出工作。 控制器 所做的仅仅是:接收请求,然后调用模型组件处理请求,最后调用视图来显示 模型处理 后返回的 数据。 图 2- 1 简单演示了 MVC 架构在企业环境中的工作原理。 14 这里将控制器显示为五角形,将模组显示为组件,将视图显示为可视页面,并解释了用户操作和事件响应。 设计模式 设计模式概述 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模 式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。 GoF( Gang of Four,指《设计模式 可复用面向对象软件的基础》的四位作者: Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides)的“设计模式”是第一次将设计模式提升到理论高度,并将之规范化,提出了 23 种基本设计模式,自此,在可复用面向对象软件的发展过程中,新的大量的设计模式不断出现 [5]。 设计模式的基本要素 设计模式使人们可以更加简单方 便地复用成功的设计和体系结构。 将已证实的技术 表述成设计模式也会使新系统开发者更加容易理解其设计思路 [6]。 ( pattern name) 一个助记名,它用一两个词来描述模式的问题、解决方案和效果。 命名一个新 15 的模式增加了我们的设计词汇。 设计模式允许我们在较高的抽象层次上进行设 计。 基于一个模式词汇表,我们自己以及同事之间就可以讨论模式并在编写文档时使用它们。 模式名可以帮助我们思考,便于我们与其他人交流设计思想及设计结果。 找到恰当的模式名也是我们设计模式编目工作的难点之一 [8]。 (problem) 描述了应该在何时使用模式。 它解释了设计问题和问题存在的前因后果,它可能描述了特定的设计问题,如怎样用对象表示算法等。 也可能描述了导致不灵活设计的类或对象结构。 有时候,问题部分会包括使用模式必须满足的一系列先决条件。 (solution) 描述了设计的组成成分,它们之间的相互关系及各自的职责和协作方式 [37]。 因为模式就像一个模板,可应用于多种不同场合,所以解决方案并不描述一个特定而具体的设计或实现,而是提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合(类或对象组合)来解决这个问题。 (consequences) 描述了模式应用的效果及 使用模式应权衡的问题。 尽管我们描述设计决策时,并不总提到模式效果,但它们对于评价设计选择和理解使用模式的代价及好处具有重要意义 [38]。 软件效果大多关注对时间和空间的衡量,它们也表述了语言和实现问题。 因为复用是面向对象设计的要素之一,所以模式效果包括它对系统的灵活性、扩充性或可移植性的影响,显式地列出这些效果对理解和评价这些模式很 有帮助。 设计模式的作用 外 观( Facade):为了系统中的一组功能调用提供一个一致的接口,这个接口使 得这一子系统更加容易使用; 装饰( Decorate):当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能; 单件( Singleton):保证一个类仅有一个实例,并提供一个访问他的全局访问点; 16 模板方法( Template Method):在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。 模式( pattern)就是做事的一种方法,也即实现某个目标的途径,或者技术。 这种捕获有效技术的思 想可以应用到许多领域当中,比如烹饪、生产焰火制品、开发软件以及其他一些行业。 对于任何一个正迈 向成熟的行业,人们总会开始寻找一些通用和有效的方法,来达到目标并解决不同场合中的问题。 由某个行业的从业人员组成的社区通常会发明一些专业术语,以便于同行之间进行交流。 这其中的某些专业术语将称为模式,即实现特定目标的公认技术。 随着某个行业及其专业术语的发展,一些作者便开始起到重要的作用。 他们将某个行业的模式记录归档,参与标准化专业术语,并且公开传播这些有效的技术 [32]。 设计模式的好处 对不断重复出现问题,复用既有的、高质量的解决方案 确立通用的术语,改善团队内的沟通。 提升思考层次 判断设计是 否正确,而不仅仅是能够奏效 改善个人学习和团队学习 提高代码的可修改性和可维护性 采用更佳设计方案,即使没有明确使用模式 发现巨型继承层次结构的代替放案 系统使用的框架与技术 设计模式和框架 现在,可复用面向对象软件系统现在一般划分为三大类:应用程序、工具箱和框架 (Framework),我们平时开发的具体软件都是应用程序; Java 的 API 属于工具箱。 而框架是构成一类特定软件可复用设计的一组相互协作的类。 EJB( Enterprise JavaBeans)是 Java 应用于企业计算的框架。 框架通常定义了应用体系的整体结构类和对象的关系等等设计参数,以便于具 17 体应用实现者能集中精力于应用本身的特定细节。 框架主要记录软件应用中共同的设计决策,框架强调设计复用,因此框架设计中必然要使用设计模式 [4]。 另外,设计模式有助于对框架结构的理解,成熟的框架通常使用了多种设计模式,如果你熟悉这些设计模式,毫无疑问,你将迅速掌握框架的结构,我们一般开发者如果突然接触 EJB、 J2EE 等框架,会觉得特别难学,难掌握,那么转而先掌握设计模式,无疑是给了你剖析 EJB 或 J2EE 系统的一把利器。 软件框架( Frameworks)和设计模式易被混淆。 它们两者时紧密相关的。 下表列出了两者的相似点和不同点 [10][19]。 18 Struts 框架 Struts 概述 Struts 是在 JSP Model2 的基础上实现的一个 MVC 框架,它很好的结合了 Jsp, Java Servlet, Java Bean, Taglib 等技术。 结构如图 22。 在 struts 框架中,模型分为两个部分: 系统的内部状态 可 19 以改变状态的操作(事务逻辑) 内部状态通常 由一组 ActionForm JavaBean 表示。 根据设计或应用程序复杂度的不同,这些 Bean 可以是自包含的并具有持续的状态,或只在需要时才获得数据(从某个数据库)。 大型应用程序通常在方法内部封装事务逻辑(操作),这些方法可以被拥有状态信息的 bean 调用。 比如购物车 cart,它拥有用户购买商品的信息,可能还有 addCart()方法用来 添加购物车信息 ,并向仓库发定货信息。 小型程序中,操作可能会被内嵌在 Action 类,它是 struts 框架中控制器角色的一部分。 当逻辑简单时这个方法很适合。 建议用户将事务逻辑(要做什么)与 Action 类所扮演的角色(决定做什么)分开。 选择 Struts 的原因 简单、易懂。 容易被人采用,功能强大。 视图 控制器 (MVC)设计模式,使用 struts 可以开发使用JAVAServlets 和 JavaServer Pages 的高性能、面向事务的 WEB 应用程序。 提供的模型 2 体系结构,视图层 事务处理层 数据模型层,通过明确的应用程序分工使得事务逻辑和显示逻辑彼此相互独立,视图层 (html,JSP)将用户所需要的任何数据向事务处理层 (servlet)发送请求,事务处理层将根据请求处理相关事务 (包括处理请求,验证数据等 ),将用户所需要的数据提交到数据模型层,数据模型层从数据库取得数据再反馈给事务处理层,由事务处理层传递给视图层显示数据信息。 提供强大的自定义标签库 (taglib),编程人员可以根据需要编写各种类型的标签。 本身自带的 validator 框架, tiles 和 jstl 标记库标记,更能为编程人员提供方便,提高编程效率。 更能使整个项目结构性良好、清晰,便于维护。 能很好的与 hibernate、 spring 整合 20 Struts 框架对应客户请求的工作流程如下。 判断 ActionMapping 实例是否存在。 如果实例不存在,则创建一个ActionMapping 对象,它包含了把请求转发给哪个 Action 的消息。 判断 ActionForm 实例是否存在。 如果实例不存在,则创建一个 ActionForm 对象,并把客户提交的表单数据保存到 ActionForm 对象中。 根据配置信息决定是否需要表单验证。 如果需要验证,就调用 ActionForm 的 validate()方法。 如果ActionForm 的 validate()方法返回 null,或返回一个不包含 ActionMessage 的ActionErrors 对象,就表示表单验证成功。 如果 ActionForm 的 validate()方法 返回 21 一个或多个 ActionError 的 ActionErrors 对象,则表示表单验证失败,将直接把请求转发给包含客户提交表单的 JSP 组件。 在这种情况下,不会再创建 Action 对象并调用 Action 的 execute 方法。 ActionServlet 根据配置信息决定将请求转发给哪个Action。 如果相应的 Action 实例不存在,就先创建这个实例,然后调用其 execute方法。 Action 的 execute 方法返回一个 ActionForward 对象, ActionServlet 再把客户请求转发给 ActionForward 对象指向的 JSP 组件。 ActionForward 对象指向的 JSP组件生成动态网页,返回给客户。 Hibernate 框架 Hibernate 概述 Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序使用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是, Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任 [20]。 Hibernate 的核心接口一共有 5 个,分别为: Session、 SessionFactory、 Transaction、Query 和 Configuration。 这 5 个核心接口在任何开发中都会用到。 通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。 下面对这五的核心接口分 别加以介绍 [28]。 Session 接口: Session 接口负责执行被持久化对象的 CRUD 操作 (CRUD 的任务是完成与数据库的交流,包含了很多常见的 SQL 语句。 )。 但需要注意的是 Session 对象是非线程安全的。 同时, Hibernate 的 session 不同于 JSP应用中的 HttpSession。 这里当使用 session 这个术语时,其实指的是Hibernate 中的 session,而以后会将 HttpSesion 对象称为用户 session。 SessionFactory 接口: SessionFactroy 接口负责初 始化 Hibernate。 它充当数据存储源的代理,并负责创建 Session 对象。 这里用到了工厂模式。 需要注意的是 SessionFactory 并不是轻量级的,因为一般情况下,一个项目通常只需要一个 SessionFactory 就够,当需要操作多个数据库时, 可以为每个数据库指定一个 SessionFactory。 22 Configuration 接口: Configuration 接口负责配置并启动 Hibernate,创建 SessionFactory 对象。 在 Hibernate 的启动的过程中, Configuration 类的实例 首先定位映射文档位置、读取配置,然后创建 SessionFactory 对象。 Transaction 接口: Transaction 接口负责事务相关的操作。 它是可选的,可发人员也可以设计编写自己的底层事务处理代码。 Query 和 Criteria 接口: Query 和 Criteria 接口负责执行各种数据库查询。 它可以使用。基于j2ee网上购书系统的设计与实现毕业设计论文(编辑修改稿)
相关推荐
何特定操作系统、中间件或硬件,因此,设计合理的基于 J2EE的程序只需开发一次就可以部署到各种平台,这在典型的异构企业算环境中是十分关键的。 J2EE 标准还允许客户订购与 J2EE 兼容的第三方的现成组件,把其部署到异构环境中,节省了由自己制订整个方案所需的费用 【 8】。 2. 提高开发效率 :由于组件技术的使用,可以按照开发人员的技能对应用程序开发进行分工,并行开发,提供整体开发效率。
毕业设计选题测试及管理系统功能 下载教师批改 论文 修改密码 管理课题信息 用户登陆 管理课程 信息 查看学生测试 成绩 管理学生预选信息 管理 个人信息 管理 学生论文 管理课题信息 分配课题 9 信息科学与技术学院学士学位论文 分用例有时间上的优先顺序。 所有用户使用系统时必须先登录,学生和教师的部分必填的个人信息要导入到系统中,教师在学生测试之前要完成对课题的设置和课题建议工作。
Sheridan等人于 1991 年精心设计出来的计算机编程语言,其构想在于实现使用同一种编程语言所写出来的程序可以在不同的平台上运作。 这种架构对于消费性电子产品而言是具有革命性的,因为在消费性电子产品中的处理器及操作系统各不相同,要在这些平台上开发程序必须要了解各个平台的特性,以及其提供的 API 使用方式,分别开发不同的版本才能执行,影响应用程序的普及性。 然而 Java很快就做到了这点。
d extends Thread{ DriftBall father。 //主类引用 boolean flag。 //循环控制变量 boolean isIn。 //是否是淡入菜单 boolean isOut。 //是否是淡出菜单 int sleepSpan = 20。 //睡眠时间 int [][] menuCoordinate={ //菜单在没进来之前的位置,分别是菜单背景和 4个菜单项
应 用程序开发复杂性而创建的。 框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。 Spring 框架的功能可以用在任何J2EE 服务器中,大多数功能也适用于不受管理 的环境。 Spring 的核心要点是: 8 支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。 这样的对象可以在不同 J2EE 环境( Web 或 EJB
架 ——Apache Shiro 服务器 : Jetty 构建工具 : Maven JSP 概述 JSP是由 Sun公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端 2 请求,而动态生成 HTML、 XML 或其他格式文档的 Web 网页的技术标准。 JSP 技术是已 java语言作为脚本语言的, JSP网页为整个服务端的 Java库单元提供了一个接口来服务于 HTTP的应用程序。