• 当前位置:论文网 > 论文宝库 > 信息科技类 > 应用电子?#38469;?/a> > 基于JAVA的网上商城构建正文

    基于JAVA的网上商城构建

    来源:UC论文网2018-02-09 11:00

    摘要:

      摘要:近年来,中国的电子商务快速发展,交易额连创新高,电子商务在各领域的应用不断拓展和深化、相关服务业蓬勃发展、支撑体系不断健全完善、创新的动力和能力不断增强。电子商务正在与实体经济深度融合,进入...

      摘要:近年来,中国的电子商务快速发展,交易额连创新高,电子商务在各领域的应用不断拓展和深化、相关服务业蓬勃发展、支撑体系不断健全完善、创新的动力和能力不断增强。电子商务正在与实体经济深度融合,进入规模性发展阶?#21361;?#23545;经济社会生活的影响不断增大,正成为我国经济发展的新引擎。网上商城是一个综合性的B2C?#25945;ā?#20250;员可以在商城浏览商品、下订单,以?#23433;?#21152;各种活动。管理员、运营可以在?#25945;?#21518;台管理系统中管理商品、订单、会员等。客服可以在后台管理系统中处理用户的询问以及投诉。


      关键词:电子商务;网上商城?#29615;?#24067;式;主流框架;高并发


      中图分类号:TP393文献标识码:A文章编号:1009-3044(2018)01-0094-02


      现阶段中国的电子商务?#25945;?#21457;展迅猛,涵盖了现代人的衣食住行,赚取巨大利润的同时?#24067;?#22823;地方便了人们的生活,为人们的生活带来了巨大的改变。电子商务一定意义上也改变了人们传统的消费思维模?#20581;?#30005;子商务交易的规模也逐年上涨,如图1所示。同时?#21442;?#24341;了越来越多的人用互联网的思维去考虑传统行业的新模式,新思路。归结到商业?#25945;?#19978;,最终还是会使用一个商城的模?#20581;?/p>


      1商城的整体架构


      针对商城的复杂性,所以在系统的搭建的建构选择方面我们会选用soa架构。所谓的soa就是通过将后台的系统进行拆分,每个功能?#26434;?#19968;个后台系统。这样降低了系统的耦合度,同时保证了系统的稳定性和处理多个任务的高效。系统的之间的通讯方式使用dubbo框架。Dubbo作为服务中间键,它的作用就是使系统之间的方法能够进行相互的调用。


      如图2所示,前段页面中的订单系统,会员系统,前台系统,后台系统以及搜素系统,接入的是不同项目的服务层入口,每个项目的服务层针对性的处理不同前台发过来的请求。最终完成数据库的存取工作。


      2商城基本功能的介绍


      一个商城的功能逻辑模块清楚之后还有一些问题需要解决。比如当同样的商品被多次查询后会加大与数据库的交互,对于一个大型的电商?#25945;?#32780;言这是比?#29616;?#21629;的,可能会导致数据的?#35272;!?#22240;而针对这点我们应该使用缓存?#38469;酢?#22914;图3?#20581;?#39318;次进行商品查询得到的结构我们将用json数据的格式进行分装,同时将其保存?#20132;?#23384;数据库中。


      针对索引库的建立我们是基于solor框架。其作用流程如图4所示。Solor的使用是基于一个分词工具。也就是说存入solor中的数据的关键?#24335;?#20250;?#29615;?#35789;器所拆分。因此在人们进行检索的时候就可以查到关键词。在前端请求进入到?#24535;?#23618;后,首先并不会先去数据库中进行检索,而是先会去索引库中进行检索。如果能有数据就会直接返回结果。当然索引库的更新依然是一个问题。?#28304;?#30340;解决方案大致?#21069;?#25324;两种。一种做法是每每在后台添加了一种商?#20998;?#21518;,就自动同步到索引库,但是这样就会比较浪费资源。所以现在比较流行的做法是定时更新。一般会规定在晚上访问量不大的情况下进行定时刷新索引库。


      3商城框架使用


      现在市场上流行的网上商城大?#38469;?#22522;于java语言进行开发。因为java相对于其他语言如php,python,nojs而言,它的解决方案更多,同时它?#28304;?#25968;据的处理能力更强。?#20013;?#30340;java一般对于请求是进行三段式处理,即表现层,服务层和?#24535;?#23618;。针对三层式的结构,现在市场上流行的框架也很多。针对表现层,流行的框架包括springmvc和struts2,以及已经过时的struts1。针对服务层,现在主流的框架仍然是spring。针对?#24535;?#23618;的框架,主流的框架包括mybatis和hibernate。两者不同之处在于处理sql语句的不用。Mybatis更加灵活,但是语句的可读性也比较差。Hibernate是针对对象的模型进行数据库的调用,可读性比较好,但是sql语句比较固定。针对三层的任务,表现层是接受前端发来的请求,同时交给服务层,最后将从数据库中检索的数据返回到前段页面。服务层是将请求的进行一个逻辑管理,最后请求相应的数据库,最后将请求到的数据返回给表现层。而?#24535;?#23618;的作用就是接受请求,最后调用数据库,最终将数据传递给服务层。


      4针对并发量问题的解决方案


      针对并发量的问题,现在处理的方式也是综合性的,包括静态页面?#38469;酰?#39033;目的分布式结构,nginx反向代理?#38469;酢?#19968;个tomcat或者jetty亦或者jboss这种服务器的?#24615;?#35775;问量大致是在500左右,如果多个服务器叠加访问量也不是一个加效果,所以针对这个关键性的问题,主流?#38469;?#26159;在各个环节上进行改善。首先是页面的访问采用静态页面?#38469;酰?#19981;是所有的访问都会调用程序的逻辑机制。查到的数据会填写到一个逻辑模板中,也就是一個静态的html页面上。也就是说表现层不用就耗费资源去进行一个页面的渲染工作。现在比较流行的框架是freemark。针对项目部署方面的工作,nginx是一个很大程度提升网站访问量的工具。我们一般可以在多个服务器上进行项目的部署,然后将服务器的地址写入到nginx中,同时?#37096;?#20197;分配服务器的访问权重。最后用户进行访问的时候是有nginx作为一个访问的入口,进行一个均衡的访问。合理的运用这些?#38469;?#35775;问量大致可以保持在百万级。当然如果有更高的访问需求,就可以考虑消息队列机制的框架进行优化,如ActivityMQ。


      作者:周琼伟

        参考文献: 

      [1] 鲁珂.基于Java语言的网络操作系统[J].电子?#38469;?#19982;软件工程,2017(10):247. 

      [2] 张尧.基于Nginx高并发Web服务器的改进与实现[D].长春:吉林大学,2016. 

      [3] 荀崇崇,覃章健,王欣颖.基于JavaEE的CMS网站设计与实现[J].科技风,2016(8):19. 

      [4] 王利萍.基于Nginx服务器集群负载均衡?#38469;?#30340;研究与改进[D].济南:山东大学,2015. 

      [5] 陆洲.JavaEE核心模式研究[J].计算机与数字工程,2014,42(1):81-84. 

      [6] 欧锋,邹敏,李晓桢.Java?#38469;?#26694;架概述[J].计算机系统应用,2012,21(8):236-239. 

      [7] 王艳慧.JAVA?#38469;?#22312;政府网站建设中应用[C]//第十届中国Java?#38469;?#21450;应用大会文集,2007:3. 

      [8] 张自然.基于JAVA/CORBA的WWW分布式电子商务系统研究[D].武汉:华中师范大学,2002. 

    核心期刊?#33805;?/h3>

    发表类型: 论文发表 论文投稿
    标题: *
    姓名: *
    手机: * (填?#35789;?#20540;)
    Email:
    QQ: * (填?#35789;?#20540;)
    文章:
    要求: