毕业论文基于javaeeweb应用系统的解决方案内容摘要:

这也是很多 JSP 站点最后不得不寿终正寝的原因所在 [2]。 从 Java 开发就已经加入了 JDBC API, 用于以基于 SQL 的方式访问关系型数据库 , 这种做法对于如今的很多应用程序仍旧适用。 JDBC 能够以很高的性能执行基于数据集的操作,这种时候 SQL 非常强大而且易用。 JDBC 的目标不是要给关系型数据提供一个面向对象的视图,也不会牺牲目标数据库专有的强大功能。 传统型 JDBC有许多积极的方面使之在许多 J2SE 和 J2EE 应用程序开发中占有重要地位。 然而,也有一些特征使其难于使用 [3]:  开发者需要处理大量复杂的任务和基础结构,例如大量的trycatchfinallytrycatch 块。  应用程序需要复杂 的错误处理以确定连接在使用后被正确关闭,这样以来使得代码变得冗长,膨胀,并且重复。  JDBC 中使用了极不明确性的 SQLException 异常,没有引入具体的异常子类层次机制。 相应于任何一种错误,都只是抛出 SQLException 异常 无论它来源于 JDBC 驱动程序还是来源于数据库,这使得程序员很难理解到底是哪里实际出现了错误。 例如,如果 SQL对象是无效的或已经被锁定,那么将抛出一个 SQLException 异常。 调试这样的异常需要一定的时间来检查 SQL 状态值和错误代码。  编写 JDBC代码并不是一项容易的工作 存 在大量的重复性的工作。 在大多数 Java 项目中,大部分代码都是样板代码。 异常处理就属于此类代码。 即使业务逻辑只有 3到 4 行代码,用于异常处理的代码也要占 10到 20行。 本课题在实际应用中的作用  改进在编程中, HTTP请求中表单( forms)的维护性以及验证机制。  在异常体系中,引入 Spring 框架中的异常机制。 把业务异常与运行时异常区别开来,分别加以对待。 在一定程度上,解决了 JDBC 给开发带来的复杂性和危险性。  简化 J2EE 编程模型 , 有助于开发简单,高质量,可维护,高性能,可伸缩性的 J2EE应用。 更加有效的使用 Java EE  更好地用轻量级的、更具可测性的开源框架解决企业级开发中的问题。 实现目标 本文的研究内容就是要通过对 Spring 框架的分析,针对 Struts 框架缺乏对业务对象管理的不足,将 Spring 与 Struts 进行整合,目的是提出一个框架整合方案,进而形成一个新的框架结构。 使得此框架在前端拥有 Struts 框架所提供的灵活的控制层和视图层,同时又能够利用 Spring 中的 IoC容器和 AOP 支持,使得实际的应用系统在业务上有着良好的可扩展性。 由此,本文的目标为 :  通 过 对 Spring 框 架的研究 ,探讨 Spring 与 Struts 整合的实现方法,并将两者集成到一起,从而形成一个新的体系结构。 同时验证此架构的可用性。  对 Struts 中的表单维护与验证进行探讨。 改进 Struts 中的业务流,引入抽象 Form 来处理基本验证,使得在业务中复杂的表单验证机制得以改善。  对 J2EE 持久层的异常处理的研究。 本文将讨论如何让异常处理保持简单和直观,使开发人员可以专心于开发业务逻辑,而不是把时间浪费在编写异常处理的样板代码上。 本文还将说明用于在 J2EE 环境中创建和处理异常的基础知识和指导原则,并提出了一些可以使 用异常解决的业务问题。 本文将使用 Spring + iBATIS 框架作为业务逻辑实现。 第二章 轻量级 Java EE 应用平台的技术与开源框架 轻量级开发核心原则及常用技术 轻量级方法强调开发中测试第一,积极调动客户和重构。 轻量级框架鼓励人们使用简单原始的 Java 对象( POJO)编程,而不是类似 EJB 的重量级面向组件模型。 轻量级设计模式在对象和集成服务之间进行松散耦合,而无需艰苦地编写业务逻辑或领域模型 [4]。 轻量级开发原则 1) 争取简单性。 开发人员应该尽量使用最简单的方法解决问题。 2) 修补漏洞。 许多开发方法可能不鼓励在过程中进行重构或变更,因为这些行为不直接用于产生客户代码。 轻量级开发要求可以自由地修补太复杂或充斥 bug 的代码。 我们在开发时,需要为它做出预算。 3) 自动化单元测试。 在开发过程中,应该优先编写测试用例。 广泛的单元测试改善客户体验,并提高代码的设计水平,这是因为它强迫我们在编码前,解耦联系过于紧密的代码。 这些原则并不能完全包含我们采用何种技术和开发过程,但它有利于描述开发体验。 在开发时,就不至于做出无效技术选择,或者开发一些不必要的工件。 确立原则后,就该规划一个有效过程 了。 轻量级开发过程 紧凑、快速的开发过程通常从敏捷开发方法 当中得到灵感。 通常,敏捷开发包括下列原则 [4]: 1) 专注现场客户和代码,而不是其他设计技巧。 您可以使用其他技巧,本方案不需要它。 2) 简化文档。 为了需要,宁可使用电子表格中的一行来描述,也不使用令人困惑的用例图。 3) 只做足以完成工作的设计工作。 不要对设计或性能过分忧心忡忡,使自己陷入绝境。 4) 为了开发,努力进行简化并保证至少每天都集成您所构建的程序,必要时进行重构。 自动化测试。 轻量级开发常用技术 依赖注入 最新一代容器称为轻量 级容器,它们使用一个共同设计原理:依赖注入。 对这个简单思想来说,这是一个复杂的术语。 依赖注入将对象和它所依赖的东西交给第三方。 然后第三方创建所有对象并将它们绑在一起。 比方说,称为 myDao 的数据访问对象需要一个称为 ds 的数据源。 那么该容器会一同创建它们,并设置一个属性: 清单 1. 创建一个第三方汇编程序 myDao = new Dao()。 ds = new DataSource()。 (ds)。 当然,不创建这种第三方汇编程序的话,也可以使用框架来做其他附 加的工作(如提供配置支持)。 Spring 框架、 Pico 和 HiveMind 就扮演了这个角色。 其他像 JavaServer Faces(JSF) 框架也利用了依赖注入。 面向对象编程 使用面向对象编程( AOP),可以编写通用的功能性模块(称为方面) —— 例如,日志、事务、安全或持久性。 AOP 使您可以将这些方面联系到 POJO,然后指定一个时间点(如方法开始时或产生异常时)和另一个需要联系的方面。 例如,我们可能想要创建一个外观事务对象。 在调用方法时将 TransactionBegin 方面关联到外观 方法。 然后在产生异常时将 RollBack 方面关联到外观的异常。 最后,在方法结束时将 Commit 方面关联到外观的方法。 在配置中完成这些工作,而不是通过编写代码。 依靠这种能力,我们就可以创建一个简单的 POJO 事务、安全或远程访问。 这对企业应用程序非常有用。 使用这些工具,我们可以完全放弃 EJB,或者最小化它的作用。 而这正是轻量级组件所要做的。 透明持久性 持久性也是建立在较简单的编程模型之上。 透明持久性框架通过配置而不是编写代码,为应用程序添加持久性。 因为大多数应用程序是面向对象的,并且访问一个 关系数据库。 Java EE 各层开源开发框架 表现层框架简介 Struts 是一个基于 Sun J2EE 平台的 MVC 框架,主要是采用 Servlet 和 JSP技术来实现的。 由于 Struts 能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的几年中颇受关注。 Struts 把 Servlet、 JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套 MVC 模式,极大的节省了时间,所以说 Struts 是一个非常不错的应用框架 [5]。 WebWork 是由 OpenSymphony 组织开发的,致力于组件化和代码重用的拉出式 MVC 模式 J2EE Web 框架 [5]。 WebWork 目前最新版本是 ,现在的 前身是 Rickard Oberg 开发的 WebWork,但现在 WebWork 已经被拆分成了 Xwork1和 WebWork2 两个项目。 Xwork 简洁、灵活功能强大,它是一个标准的 Command模式实现,并且完全从 web 层脱离出来。 Xwork 提供了很多核心功能:前端拦截机( interceptor),运行时表单属性验证,类型转 换,强大的表达式语言( OGNL – the Object Graph Notation Language), IoC( Inversion of Control 倒置控制)容器等。 WebWork2 建立在 Xwork 之上,处理 HTTP 的响应和请求。 WebWork2 使用 ServletDispatcher 将 HTTP请求的变成 Action(业务层 Action类 ), session(会话) application(应用程序)范围的映射, request 请求参数映射。 WebWork2 支持多视图表示,视图部分可以使用 JSP, Velocity, FreeMarker, JasperReports, XML等。 在 中添加了对 AJAX 的支持,这支持是构建在 DWR 与 Dojo 这两个框架的基础之上。 Tapestry 是一个开源的基于 servlet 的应用程序框架,它使用组件对象模型来创建动态的,交互的 web应用 [5]。 一个组件就是任意一个带有 jwcid 属性的html 标记。 其中 jwc 的意思是 Java Web Component。 Tapestry 使得 java代码与 html 完全分离,利用这个框架开发大型应用变得轻而易举。 并且开发的应用很容易维护和升级。 Tapestry 支持本地化,其错误报告也很详细。 Tapestry 主要利用 javabean 和 xml技术进行开发。 Spring MVC是结构最清晰的 MVC Model 2实现 [5]。 它的 Action也不叫 Action,而是称做 Controller; Controller 接收 request, response 参数,然后返回ModelAndView(其中的 Model 不是 Object 类型,而是 Map 类型)。 但在其它的Web Framework 中, Action 返回值一般都只是一个 View Name; Model 则需要通过其它的途径(如 , Context 参数,或 Action 本身的属性数据)传递上去。 持久层框架简介 Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库 [7]。 Hibernate 可以应用在任何使用 JDBC的场合,既可以在 Java 的客户端程序实用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是,Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任 [5]。 使用 iBATIS 提供的 ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java 对象, 这一层与通过 Hibernate 实现 ORM 而言基本一致,而对于具体的数据操作, Hibernate 会自动生成 SQL 语句,而 iBATIS 则要求开发者编写具体的 SQL 语句。 相对 Hibernate 等 “全自动” ORM机制而言, iBATIS 以 SQL开发的工作量和数据库移植性上的让步,为系统 设计提供了更大的自由空间 [7]。 作为“全自动” ORM 实现的一种有益补 充, iBATIS 的出现显 得别具意义。 第三章 Web 层 随着 J2EE 平台的成长和传播, J2EE 技术中成长最迅速的部分正是JavaServer Pages(JSP)。 几乎每个使用 Java 开发基于 Web 的应用的人现在都会使用 JSP。 自由、开放源码的 JSP/Servlet 容器(例如 Apache Jakarta 项目中的 Tomcat)的存在更急剧促进 JSP的应用。 随着 JSP 的成熟以及开发者对 JSP 更富经验,使用所谓 Web 应用框架(或就称为框架)的开发者的数目得到了爆炸性增长。 框架通过为应用开发提供预先准备好 的起步器,来帮助开发者更快地建立应用。 新项目将不再以这样的问题开始:“我们应该使用一个框架吗。 ”,而是会问:“我们应该使用哪一个框架。 ” Struts 应用框架 Struts—— 来源于 Apache Jakarta 项目 —— 是这些框架中的王者。 它无可辩驳地是所有框架中最好的并且使用最广泛的。 它的身后正在形成一股风潮。 而且还有另外一个很好的原因:作为 Apache Jakarta 项目的旗舰框架,它随之带来了可观和巨大的用户基础。 Web 应用 Struts 的目标是建立 web应用 [2]。 这种说法 有几个含义。 Struts 一般是用来构建客户端软件,是 Web 游览器的应用程序。 使用游览器作为客户端软件来构建应用,是 1995 年以来 Inter 技术最大的转变。 最初,这类应用只是在 Inter 上得到初步应用,并且系统用户一般使用游览器。 从大概 1999 年底开始,情况发生了改变。 现在,所有的公司似乎想把每个应用都构建成以。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。