论文部分内容阅读
J2EE多层架构是目前最流行的Web应用开发架构,已成为解决电子商务和企业级应用的标准平台。但传统的J2EE架构过于复杂,开发成本较高。基于这些缺点,近年来开源社区涌现出一批优秀的轻量级框架,比如Struts,Spring,Hibernate,Webwork,JSF,iBatis等,对web应用的各个层次进行支撑。由于其具有松耦合、高可靠性、易扩展、开发成本低、开发周期短等特点,所以被广泛应用于中小型企业网上信息系统的解决方案中。近来,Apache在Struts和Webwork的基础上推出了Struts2。这是一款更加强大的轻量级开源框架,相信其不久后将取代目前深入人心的Struts框架。Hibernate的最新版本Hibernate3也有显著的进步,功能完备。本文主要对J2EE框架进行分析和整合,并通过对设计模式的研究,在现有框架的基础上为实现更多应用层次的设计复用而进行框架设计,形成一个“再次框架”。本文主要是笔者在多个J2EE项目开发基础上的经验总结,主要工作如下:(1)首先介绍了Struts2、Spring、Hibernate框架:对现有框架作了简单的比较;随后对选用框架的概念和基本流程做了简单介绍;最后说明了该框架的优势。除了框架之外,本文还简单介绍了java经典的设计模式和在此基础上发展起来的J2EE核心设计模式。(2)将这三个框架进行整合,在表示层使用Struts2框架,业务逻辑层使用Spring框架,数据持久层使用Hibernate框架。(3)在WEB层采用Struts2实现了拦截过滤器、前端控制器、应用控制器模式,以控制主流程;用javaScript验证机制和Struts2 Validation机制实现输入校验;用模板类设计模式、过滤拦截器模式实现逻辑安全。用扩展Button Tag以及拦截器模式等实现访问控制。用MD5加密机制确保敏感信息在数据库中的安全;用Ajax标准实现了数据的异步访问模式,完善了系统性能。(4)业务层中,利用Spring的工厂模式实现了bean的创建,用服务定位器模式完成bean的定义的获取,用其IoC机制完成bean的装配;另外本文提出了用代理模式来封装业务类中与相关服务固有属性不相关的内容,以减少对原始类的侵入性,利用会话门面模式封装了业务层组件,用策略模式实现了同一个方法封装在不同类中的实现;最后,本文采用了Log4j工具进行调试级日志管理。(5)数据持久层采用了hibernate的ORM机制,利用其二级缓存、批量存储以及延迟加载机制提高了系统性能;运用DAO模式进行底层操作的封装;提出了“反框架”思想;最后提出数据源的优化配置方案以解决团队开发中主机属性的同步问题。(6)最后,介绍了“再次框架”在“基于RFID的环保局放射源管理系统”中的应用实现。实验结果证明,将框架和设计模式有的放矢地结合起来应用在web应用系统的开发中,大大减短了系统的开发周期,优化了系统结构,提高了系统的性能和可维护、可扩展的能力,也降低了开发中的风险和成本。