• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 数学学习 > 正文

    [基于Struts2和AJAX的网上汽车配件商城的设计与实现]网上汽车配件商城

    时间:2019-04-23 03:35:00 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘要:良好的框架可以让开发人员减轻解决复杂问题的负担和精力,并且在必要时可以被扩展以进行内部的定制化。本文基于Struts+Ajax轻量级架构部署J2EE三层结构,分别实现视图表现层、业务逻辑层和数据持久层,并以网上汽车配件商城项目的开发进行应用分析。
      关键词:Struts2;Ajax;架构
      中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 09-0000-02
      一、概述
      2010年2月,中国汽车零部件规模以上企业数量上升至10788家[1],汽车配件因其车型、零部件种类多,在汽配行业中手工管理己经不能适应市场经济的发展。实时、互动、全面、客观的网络营销特性能为企业带来更多的销售机会,大大拓展交易的灵活性。因此,通过网络进行交易将是以后进行汽车配件的销售一个重要的发展趋势。要快速开发出功能强大、可扩展性强的网上商城系统必定要使用基于MVC设计模式的框架技术,而Strut2以其简化的开发流程、灵活的执行控制和全程可测试等特点,正是此中的佼佼者。本文阐述了采用Struts2的系统实现,同时运用AJAX技术增强用户的体验。
      二、Struts 2
      Struts 2是以WebWork为核心设计,吸收Struts1的优秀部分,建立起来的优秀的MVC框架。Struts 2与Struts 1在体系结构上有着巨大的差别,Struts2采用一种与Struts1完全不同的非常松耦合的设计,让框架中的Action不再与Serlet API耦合,增强了单元的可维护与测试性。同时Struts2的开发者设计了强大的标签库,这些标签即提供了对表现层数据处理的功能,还提供了包括国际化、AJAX、上传下载等Web操作的常用功能。Struts2可用来创建企业级Web应用的可扩展框架,其综合Struts1和WebWork的优点,简化了复杂问题,可应用于整个软件周期的构建、发布和维护[2]。
      Struts2框架中,用户的请求大多是使用拦截器来处理,请求首先通过在Web应用的部署描述符里注册的Servlet Filter控制器截获,其后根据请求资源的类型分派到相应的模块Action中,或者进行直接读取操作。若为Action的请求,则通过一系列配置好的Interceptor执行通用功能,如验证、设置参数、上传文件等。然后,到达相应的action类调用相应的execute方法产生不同的result,再通过在struts.xml中的配置信息把这些result分别转换成不同的Web响应。
      三、AJAX
      AJAX(异步JavaScript和XML)是指一种异步交互方式的网页开发技术,让用户使用B/S(浏览器/服务器)架构上的Web系统时可以体验到C/S(客户机/服务器模式)架构上操作的连续性。Ajax并不是一项新的技术,它只是几种早己出现的技术的综合使用,是一种新的互联网应用设计思想和实现方式。Ajax主要由如下一些技术要点组成[3]:
      1.页面描述语言:HTML,XHTML和XML;
      2.页面文档展示模式语言:Cascading Style Sheet(CSS);
      3.页面交互和动态展示:W3 C Document Object Model(DOM);
      4.客户端语言:JavaScript;
      5.异步数据传输和交互:XMLHttpRequest;
      6.数据转换:XML,XSLT,HTML,JSON;
      7.传输协议:HTTP,HTTPS;
      8.服务器端语言:JSP,JSF,PHP,ASP等。
      使用JavaScript作为黏合剂将以上技术结合起来,让它们在Web应用系统的不同层次发生作用,从而实现用户与系统良好的交互效果。
      四、设计与实现
      (一)架构和总体流程设计
      本系统采用经典的MVC三层结构,即数据持久层(Data Persistence)、业务逻辑层(business)、视图表现层(View)。这样的优势在于对一个组件的更改不会影响另外两个组件;表示层和数据层相互独立,使系统具有良好的可扩展性;实现组件的充分复用和良好的分工合作。本系统的建设目标是构建一个技术先进、安全稳定、可扩展性强的网络销售系统。系统总体流程如图1所示。
      (二)具体实现
      (1)数据持久层的实现
      在数据持久层,实体类是一个普通的JavaBean,包含若干属性及其相应的Getter和Setter方法,每个业务实体类与数据库中的一张数据表相对应(也可以考虑到需求增加或减少一些与表字段相对应的属性)。同时都实现java.io.Serializable接口,以便进行序列化。因为对数据库的操作共分为增删改查四种,所以系统在构建DAO操作层时只需要关注相应方法的编写,同时注意这些方法的通用性。系统构建一个DAO的基类,对以上四种操作进行封装,建立基础操作方法,声明save()方法用来保存数据记录,也可以更新记录,声明delete()方法用于数据距离的删除,声明load()方法用于根据对象的ID和对象类型获取实体对象信息。之后建立的具体DAO对象都继承自这个基类,自动获取基础操作方法,实现对汽车配件信息数据库的操作。
      (2)业务逻辑层的实现
      在业务逻辑层,系统构建一个包含业务对象基本属性和方法的基础业务类,汽车配件商城的每一个新建的业务对象都继承这个基础业务类。利用基本的面向对象开发思想,系统既实现了业务代码的复用,也规范了商城的业务流程,也方便扩展和管理。系统对业务逻辑处理分为两类:一个是简单对象处理,例如每个对象自身的增加、删除和修改操作;另一个是复杂逻辑处理,这类操作主要是针对关系交错复杂、业务逻辑繁多的对象,将某一类操作抽离,形成一个专门的处理对象,保证程序较好的解耦性。系统利用Struts2与Servlet API良好的解耦性,首先开发上层通用的Action基类或接口,再针对不同的业务逻辑开发相应的Action实现类,继承基类或实现接口,把调用数据持久层的增删改查操作(或相应的业务逻辑代码)的方法放置在一个Action类中,完成相关业务操作。   (3)视图表现层的实现
      表现层的主要功能就是把经过业务逻辑层处理过的数据重新组合,并以特定视图样式展现给用户,也可以将来自视图的数据组合封装,传给业务逻辑层进行处理。为了使页面组件化,实现模块的重用,系统使用了模板语言Freemarker实现视图展现部分。Freemarker是一种Java模板语言,可以在Servlet容器外使用。
      DWR是一个Java Ajax框架,允许开发人员在客户端通过Javascript代码调用服务器端的Java方法。首先将dwr.jar和common-logging.jar都复制到WEB-INF/lib下,修改web.xml文件保证将请求转发给DWR的核心Servlet,同时在web.xml同目录下创建dwr.xml,用来定义Java类和Javascript之间的对应关系。然后导入DWR的Javascript文件,包括engine.js和util.js,之后就可以在页面实现无刷新效果了。本系统中的很多页面效果,比如查找的自动补全效果,就是DWR的贡献。
      最后通过对Struts2配置文件struts.xml的编辑,来配置Action中method属性与result元素的对应关系,主要采用通配符的方式,使页面更为丰富,系统更加灵活。
      五、结束语
      通过对网上汽车配件商城系统的设计开发可以发现,Struts2使用拦截器来捕获请求参数并完成解析,同时融合了控制反转和面向方面编程的思想,实现了可插拔式的编程方式,解决了Struts1与Servlet API的紧耦合性,方便日后对代码复用和维护。结合AJAX技术的应用,提高了响应速度、增强了客户体验。随着Struts2技术的普及,相信Struts2会在更多的Web领域里体现它强大的功能。
      参考文献:
      [1]2010-2015年中国汽车零部件行业投资分析及前景预测报告.2010,8
      [2]Apache software foundation.Struts2[EB/OL].[2008-1028].http://struts.省略/2.0.x/index.html.
      [3]ZEPEDA J S,CHAPA S V.From desktop applications towards ajax Web applications[C].Electrical and Electropics Engineering,2007.ICEEE 2007.4th International Conference on 5-7 Sept,2007:193-196
      [4]王彬,张计龙.Struts2框架的改进与实现[J].大连海事大学学报,2010,36(2):75-77,80
      [作者简介]宋万里(1981.1-),男,辽宁法库人,博士研究生,高校讲师,主要研究方向为软件技术、计算机应用技术。

    推荐访问:汽车配件 商城 设计 网上

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章