网站首页  词典首页

请输入您要查询的论文:

 

标题 基于Spring MVC框架的电商平台的研究与设计
范文

    岳绍敏+王国春+董亚则+成锦晖

    摘要:传统的电子商务网站的开发周期比较长,而且运营之后经常出现难以扩展、可维护性不高等问题。论文对Spring MVC进行了深入的研究,并基于它来构建了一个电子商务网站,使得电商网站具有良好的框架结构,对以后的维护和扩展工作提供了方便。

    关键词:spring MVC;estore;电子商务;freemarker

    中图分类号:TP39 文献标识码:A

    The Research and Design of Electric Business Platform Based on Spring MVC Framework

    YUE Shaomin,WANG Guochun,DONG Yaze,CHENG Jinhui

    (College of Computer Science and Engineering,Changchun University of Technology,Changchun 130012,China)

    Abstract:Traditional development cycle of ecommerce website is long.And it is difficult to extend,low maintainability after operation usually.Paper makes a deep study of Spring MVC,and based on which builds an ecommerce site,which makes ecommerce sites have good frame structure,and convenience is provided for future maintenance and extension work.

    Keywords:spring MVC;estore;electronic commerce;freemarker

    1 引言(Introduction)

    随着互联网宽带技术应用的成熟,以及物流和支付系统的完善,电子商务成为互联网普及应用的主流,影响着千家万户的生活和经济行为,并日益成为社会商业活动的重要形式。因此,各行业均希望可以快速展开网上营销渠道。新形式下,电商网站开发人员如何缩短开发周期,进一步提高工作效率,是每一个程序员所面临的问题。各大WEB框架的出现,使得电商网站服务器端逻辑的设计非常便利,利用它进行网站的开发,可以节省很多的时间和精力。本文基于Spring MVC来构建一个电子商务网站,希望可以对读者学习和使用Spring MVC建站产生一些帮助。

    2 网上电商平台Estore(Online electric business

    platform estore)

    2.1 Estore简介

    Estore是采用Java技术设计开发的网上电子商务平台,采用了Spring MVC3、Hibernate3和Freemarker相结合的技术架构。继承了Java高效、跨平台、稳定且安全等多方面的优点[1],能够支持Oracle、Sqlserver、Mysql等数据库,统一在后台管理网站的模板,用户可利用标签自定义显示内容和方式。

    2.2 Estore的运行环境

    Estore原则上支持全系列JAVA运行环境、数据库,主要使用以下环境:

    (1)WEB服务器:Weblogic、Tomcat、WebSphere、JBoss等。

    (2)数据库服务器:Oracle、Mysql、SqlServer、DB2等。

    (3)操作系统:Windows、Linux、Unix等。

    3 基于Spring MVC的电商平台的设计与开发

    (The design and development of electric business

    platform based on the spring MVC )

    3.1 Spring MVC简介

    3.1.1 Spring MVC架构

    Spring MVC的整体架构如图1所示[2],视图层采用Html或Jsp实现;控制层采用Servlet实现,整个框架采用同一个Servlet,以实现请求的中转;模型层采用Java实现,主要决定用来做什么;在模型层后面添加了一个DAO,目的是将决定做什么和具体怎么做分开。

    图1 Spring MVC的架构

    Fig.1 The architecture of spring MVC

    整个Web框架大致的流程是:首先客户端发送请求,提交Html或Jsp页面给中转器(Servlet);中转器按照客户的请求,选择相应的模型层,即Logic进行相应的逻辑处理;如果需要使用数据库,则通过DAO进行相应的数据库操作。

    3.1.2 Spring MVC重要组件

    图2 Spring MVC的组件

    Fig.2 The component of spring MVC

    Spring MVC的组件如图2所示[3]。

    (1)Spring MVC将所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责对请求进行真正的处理工作。

    (2)DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller。

    (3)DispatcherServlet把请求提交到目标Controller。

    (4)Controller进行业务逻辑处理后,会返回一个ModelAndView。

    (5)Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象。

    (6)视图对象负责渲染并返回给客户端。

    3.2 Hibernate框架

    3.2.1 Hibernate简介

    Hibernate是一个开源免费的Java包,它使得程序与数据库的交互变得十分容易,更加符合面向对象的设计思想[4]。Hibernate使开发者可以专注于应用程序的对象和功能,而不用关心如何保存它们或查找这些对象。

    在对SQL语句完全不了解的情况下,使用Hibernate仍然可以开发出优秀的包含数据库访问的应用程序。

    3.2.2 Hibernate运行过程

    图3 Hibernate运行过程

    Fig.3 The running process of hibernate

    Hibernate的运行过程如图3所示。

    应用程序先调用Configuration类,该类读取Hibernate配置文件及映射文件中的信息,并用这些信息生成一个SessionFactory对象,然后从SessionFactory对象生成一个Session对象,并用Session对象生成Transaction对象。可通过Session对象的get()、load()、save()、update()、delete()和saveOrUpdate()等方法对PO(persistent object持久对象)进行加载、保存、更新、删除等操作。

    在查询的情况下,可通过Session对象生成一个Query对象,然后利用Query对象执行查询操作:如果没有异常,Transaction对象将提交这些操作到数据库中;如果有异常,则执行回滚操作。

    

    3.3 Freemarker简介

    FreeMarker是一个模板引擎[5],它由Java语言编写而成,基于模板来生成文本输出。FreeMarker与Web容器没有关系,即Web运行时,并不知道HTTP或Servlet。它不仅能够用于表现层的实现,而且还可以用于生成Xml、Jsp或Java等。FreeMarker允许Java servlet保持图形设计与应用程序逻辑的分离,这是通过在模板中封装Html完成的。模板用Servlet提供的数据动态地生成Html。模板语言是直观且强大的,编译器的速度快,输出接近静态HTML页面的速度。

    虽然FreeMarker具有一些编程的能力,但通常由Java程序负责要显示的数据,由FreeMarker生成页面,通过模板来显示数据。

    下面是用Freemarker来做的一个显示页面:

    

    

    

    

        [@post_list]

        [#list tag_list as post]

        [#list post.types as tlist]

        [#if tlist.name == "首页"]

        

  •     

        

        

        

         [/#if]

         [/#list]

         [/#list]

         [/@post_list]

        

        

        

        3.4 按Spring MVC框架分层设计电商平台

        3.4.1 Dao层

        Dao层分析模块所要涉及的表,确定表之间的关系,编写Hibernate Mapping文件和持久化类,它使用Hibernate连接数据库、操作数据库(增删改查)。根据模块需要的各种持久化操作,确定对应的方法,据此来编写Dao接口和实现类。

        3.4.2 Entity层

        Entity层是实体类层,也属于MVC中的model层,它的主要功能是把用户提交过来的参数封装成一个对象给Dao层也就是Hibernate操作。

        3.4.3 Service层

        引用对应的Dao数据库操作,在这里可以编写自己需要的代码(比如简单的判断、校验等操作)。

        3.4.4 Action层

        引用对应的Service层,在这里依据配置文件,跳转到指定的页面,当然也能接受页面传递的请求数据,也可以做些计算处理。

        3.4.5 显示层

        一个或多个HTML页面为模型提供数据显示,HTML页面主要使用HTML标记和Freemarker标签来显示数据。

        综上所述,各层之间的关系为:action调用service中的方法,service调用dao中的方法,调用时的参数使用entity传递,最后把结果显示在HTML界面,以响应用户请求。

        4 Estore的个性化功能(Personalization capabilities

        of estore )

        4.1 Estore标签的执行流程

        标签是Estore中的一个重要概念,利用它可以执行许多操作,比如对搜索结果分页、获得商品品牌的列表、获得商品子栏目的列表等,它的执行流程如下:

        (1)访问某个页面(如:页头导航栏.html),浏览器执行解析代码,执行到标签时跳转到后台estore-context.xml文件。

        (2)estore-context.xml文件中,假如有,在里面找标签对应的class文件(如shop_Category),再找对应的*.java文件。

        (3)到后台执行CategoryListDirective类中默认方法execute(如:[@shop_Category parentId=category.id],参数:父类别ID parentId)。

        (4)CategoryListDirective类链接数据库,获取目标数据并放入Map集合:

        如:Map origMap = DirectiveUtils.addParamsToVariable(env, paramsWrap)。

        (5)将获取的目标数据返回给前台,通过标签展示:

        [@shop_Category]

         首页

         [#list tag_list as ctg]

         ${ctg.name}

         [/#list]

        [/@shop_Category]

        4.2 制作“商业广告位”

        一幅色彩绚丽、形象生动的广告作品,能以其非同凡响的美感力量增强广告的感染力,使消费者沉浸在商品和服务形象给予的愉悦中,使其自觉接受广告的引导。在Estore平台上,可以为网站的首页添加一个“商业广告位”,具体步骤如下:

        (1)在系统后台的“辅助”中的菜单“广告版位”,添加一个“版位”,(如:页中广告)。

        注意:记录下此时的“ID”(如ID=6)。

        (2)“广告管理”中,修改“页中广告”,选择图片之后,改一下图片地址,去掉“/u”(如:把‘/u/201403/231829044ug5.jpg变为‘/201403/231829044ug5.jpg)。

        (3)在“WEB-INF store plinclude”下,新建文件“页中广告位.html”,内容如下:

        

        

        

        

        注意:此处的ID,其值取自第(1)步中的ID。

        (4)在“首页”相应的广告位置,加入如下语句:[#include "../include/页中广告位.html"/]。

        至此,即在网站首页添加了一个“商业广告位”,根据客户的需求,只需要更改后台的广告图片,即可在网站首页看到客户的广告宣传。

        4.3 Estore的后台处理流程

        当用户刚接触Estore时,可能对其后台的处理流程有点头痛,不知道应该如何学习,常常会感觉到无从下手,本文以访问后台的主界面为例,特在此做出一个简要的介绍,用户可以按照以下步骤来了解其处理过程:

        (1)用户查看浏览器端的访问请求路径,看要访问资源的后缀名,如“http://localhost:8080/storeOracle/eadmin/estore/index.do”的后缀名为“*.do”。

        注意:“eadmin/estore/”是虚拟访问路径,它在web.xml中设置。

        (2)web.xml文件的重要标签:

        

         EStoreAdmin

         /eadmin/estore/*

        

        注意:①因为扩展名为“.do”,所以找到值为“/eadmin/estore/*”的

        ②“eadmin/estore/”是虚拟访问路径,在此处设置。

        (3)去所有的action文件里找到相应“@RequestMapping”的value等于“index.do”的方法,看该方法返回什么字符串(如:“login”)。

        (4)去estore-servlet-admin.xml中找到id="freemarkerViewResolver"的bean,该bean中name分别为“prefix”、“suffix”的标签的value的值,正好和步骤(3)中的“login”组成文件名“/estore _sys/login.html”;系统将此页面返回,用户即可直接访问。

        (5)登录页login.html会向名叫“index.do”的action发送请求,按照步骤(3)和(4)操作后,可以直接访问文件“/estore_sys/index.html”。

        (6)文件“/estore_sys/index.html”里嵌套有“主体框架”:

        

        

        

        (7)在main.html里,又有左右两部分frame:

        

        

        至此,Estore系统后台的主界面全部形成。

        5 结论(Conclusion)

        通过研究可以证明,利用Spring MVC可以快速地开发一个具有良好架构的电子商务网站,并且易于维护、支持扩展,这大大地提高了建站的效率,节省了大量的时间和精力。同时,电子商务网站的开发还应考虑安全支付、快速物流等问题,这是今后需要研究的对象。

        参考文献(References)

        [1] Java 2 Platform,Enterprise Edition Specification Version l.2[EB/0L]./uploads/202205/10/3817 陆荣幸,等.J2EE平台上MVC设计模式的研究与实现[J].计算机应用研究,2003,3:144-146.

        [3] 何成万,余秋惠.MVC模型2及软件框架Struts的研究[J].计算机工程,2002,6:274-281.

        [4] 高昂,卫文学.基于Hibernate与Struts框架的数据持久化应用研究[J].计算机应用,2005,12:2817-2820.

        [5] 冷威龙.Freemarker[EB/OL].http://baike.baidu.com/view/1278430.htm,2014-05-23.

        作者简介:

        岳绍敏(1988-),男,硕士研究生在读.研究领域:智能系统.

        王国春(1978-),男,硕士,讲师.研究领域:软件工程与智能系统.

        董亚则(1982-),女,硕士,讲师.研究领域:软件工程.

        成锦晖(1989-),男,硕士研究生在读.研究领域:软件工程,智能计算.

        

        注意:此处的ID,其值取自第(1)步中的ID。

        (4)在“首页”相应的广告位置,加入如下语句:[#include "../include/页中广告位.html"/]。

        至此,即在网站首页添加了一个“商业广告位”,根据客户的需求,只需要更改后台的广告图片,即可在网站首页看到客户的广告宣传。

        4.3 Estore的后台处理流程

        当用户刚接触Estore时,可能对其后台的处理流程有点头痛,不知道应该如何学习,常常会感觉到无从下手,本文以访问后台的主界面为例,特在此做出一个简要的介绍,用户可以按照以下步骤来了解其处理过程:

        (1)用户查看浏览器端的访问请求路径,看要访问资源的后缀名,如“http://localhost:8080/storeOracle/eadmin/estore/index.do”的后缀名为“*.do”。

        注意:“eadmin/estore/”是虚拟访问路径,它在web.xml中设置。

        (2)web.xml文件的重要标签:

        

         EStoreAdmin

         /eadmin/estore/*

        

        注意:①因为扩展名为“.do”,所以找到值为“/eadmin/estore/*”的

        ②“eadmin/estore/”是虚拟访问路径,在此处设置。

        (3)去所有的action文件里找到相应“@RequestMapping”的value等于“index.do”的方法,看该方法返回什么字符串(如:“login”)。

        (4)去estore-servlet-admin.xml中找到id="freemarkerViewResolver"的bean,该bean中name分别为“prefix”、“suffix”的标签的value的值,正好和步骤(3)中的“login”组成文件名“/estore _sys/login.html”;系统将此页面返回,用户即可直接访问。

        (5)登录页login.html会向名叫“index.do”的action发送请求,按照步骤(3)和(4)操作后,可以直接访问文件“/estore_sys/index.html”。

        (6)文件“/estore_sys/index.html”里嵌套有“主体框架”:

        

        

        

        (7)在main.html里,又有左右两部分frame:

        

        

        至此,Estore系统后台的主界面全部形成。

        5 结论(Conclusion)

        通过研究可以证明,利用Spring MVC可以快速地开发一个具有良好架构的电子商务网站,并且易于维护、支持扩展,这大大地提高了建站的效率,节省了大量的时间和精力。同时,电子商务网站的开发还应考虑安全支付、快速物流等问题,这是今后需要研究的对象。

        参考文献(References)

        [1] Java 2 Platform,Enterprise Edition Specification Version l.2[EB/0L]./uploads/202205/10/3817 陆荣幸,等.J2EE平台上MVC设计模式的研究与实现[J].计算机应用研究,2003,3:144-146.

        [3] 何成万,余秋惠.MVC模型2及软件框架Struts的研究[J].计算机工程,2002,6:274-281.

        [4] 高昂,卫文学.基于Hibernate与Struts框架的数据持久化应用研究[J].计算机应用,2005,12:2817-2820.

        [5] 冷威龙.Freemarker[EB/OL].http://baike.baidu.com/view/1278430.htm,2014-05-23.

        作者简介:

        岳绍敏(1988-),男,硕士研究生在读.研究领域:智能系统.

        王国春(1978-),男,硕士,讲师.研究领域:软件工程与智能系统.

        董亚则(1982-),女,硕士,讲师.研究领域:软件工程.

        成锦晖(1989-),男,硕士研究生在读.研究领域:软件工程,智能计算.

        

        注意:此处的ID,其值取自第(1)步中的ID。

        (4)在“首页”相应的广告位置,加入如下语句:[#include "../include/页中广告位.html"/]。

        至此,即在网站首页添加了一个“商业广告位”,根据客户的需求,只需要更改后台的广告图片,即可在网站首页看到客户的广告宣传。

        4.3 Estore的后台处理流程

        当用户刚接触Estore时,可能对其后台的处理流程有点头痛,不知道应该如何学习,常常会感觉到无从下手,本文以访问后台的主界面为例,特在此做出一个简要的介绍,用户可以按照以下步骤来了解其处理过程:

        (1)用户查看浏览器端的访问请求路径,看要访问资源的后缀名,如“http://localhost:8080/storeOracle/eadmin/estore/index.do”的后缀名为“*.do”。

        注意:“eadmin/estore/”是虚拟访问路径,它在web.xml中设置。

        (2)web.xml文件的重要标签:

        

         EStoreAdmin

         /eadmin/estore/*

        

        注意:①因为扩展名为“.do”,所以找到值为“/eadmin/estore/*”的

        ②“eadmin/estore/”是虚拟访问路径,在此处设置。

        (3)去所有的action文件里找到相应“@RequestMapping”的value等于“index.do”的方法,看该方法返回什么字符串(如:“login”)。

        (4)去estore-servlet-admin.xml中找到id="freemarkerViewResolver"的bean,该bean中name分别为“prefix”、“suffix”的标签的value的值,正好和步骤(3)中的“login”组成文件名“/estore _sys/login.html”;系统将此页面返回,用户即可直接访问。

        (5)登录页login.html会向名叫“index.do”的action发送请求,按照步骤(3)和(4)操作后,可以直接访问文件“/estore_sys/index.html”。

        (6)文件“/estore_sys/index.html”里嵌套有“主体框架”:

        

        

        

        (7)在main.html里,又有左右两部分frame:

        

        

        至此,Estore系统后台的主界面全部形成。

        5 结论(Conclusion)

        通过研究可以证明,利用Spring MVC可以快速地开发一个具有良好架构的电子商务网站,并且易于维护、支持扩展,这大大地提高了建站的效率,节省了大量的时间和精力。同时,电子商务网站的开发还应考虑安全支付、快速物流等问题,这是今后需要研究的对象。

        参考文献(References)

        [1] Java 2 Platform,Enterprise Edition Specification Version l.2[EB/0L]./uploads/202205/10/3817 陆荣幸,等.J2EE平台上MVC设计模式的研究与实现[J].计算机应用研究,2003,3:144-146.

        [3] 何成万,余秋惠.MVC模型2及软件框架Struts的研究[J].计算机工程,2002,6:274-281.

        [4] 高昂,卫文学.基于Hibernate与Struts框架的数据持久化应用研究[J].计算机应用,2005,12:2817-2820.

        [5] 冷威龙.Freemarker[EB/OL].http://baike.baidu.com/view/1278430.htm,2014-05-23.

        作者简介:

        岳绍敏(1988-),男,硕士研究生在读.研究领域:智能系统.

        王国春(1978-),男,硕士,讲师.研究领域:软件工程与智能系统.

        董亚则(1982-),女,硕士,讲师.研究领域:软件工程.

        成锦晖(1989-),男,硕士研究生在读.研究领域:软件工程,智能计算.

        

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/2/6 3:52:53