熊欣
(中共大渡口区委党校,重庆 400084)
上世纪九十年代,Internet 和浏览器的发展正向推动了Java Web 技术的革新。而它也为电商平台的开发提供了技术支撑。这种科技化、自动化的交易方式发展至今,显现了巨大的商业价值。它把以前面对面洽谈、纸上交谈的交易方式逐步变成了由电子商务平台直接操纵的数字化活动方式。从上世纪九十年代末开始,欧洲,北美洲,亚洲等地的国家就陆续发表了电子商务发展的纲要,由此引导电商在全球范围内的健康、有序发展。
Java Web,是用Java 技术来解决Web 网站的技术栈。web 包括两个部分:服务器端和客户端。Java 在Client 客户端的应用有Java Applet,该技术在目前的网站开发中使用较少;Java 在Web 服务器端的应用就相对广些,比如Servlet、JSP、MVC 框架等等。Java 技术对Web 服务器的发展注入了强大的动力,而Java Web 技术又为电商平台的发展提供了无限可能。
网络发展日新月异,电商行业从上世纪的第一笔网购订单到如今的数千亿的订单,变化不可谓不大。在信息技术迅猛发展的时代历程中,互联网不仅为电子商务的萌芽——发展——成熟的各阶段提供了可靠的技术支持,还为无数企业商家带来新的商机,创造新的价值,带来新的体验。电子商务这种新时代的产物,完全颠覆了实体商家的想象,以势如破竹之势在各个行业占领一席之地。
Java Web 技术发展大致分为以下几个阶段:
在Servlet 技术诞生之前用户使用的浏览器只能向Web 服务器请求静态资源,比如最常见的静态网页页面html。然而随着Internet 的发展,浏览器急需满足各类用户的不同请求,动态地处理这些请求并将其反馈给对应用户。为了解决这种动态处理的需求,Servlet 应运而生。
现行的Servlet 概念存在两种版本,一种是狭义的解释它是Java 支持的接口;一种是广义的解释它是一个实现类[2]。而被广泛采用的理解是第二种,广义的定义。客户端递送的超文本传输协议请求一般需要得到及时的响应,而这个响应过程便是由Servlet 来操作。
在Servlet 体系中,存在一个重要概念叫过滤器,它的主要功能就是对调用Servlet 的过程进行拦截。它对开发电商平台起着画龙点睛的作用。实际开发时可以阻止游客直接访问需要验证身份才能进入的页面,保障了平台后台管理系统的安全。
JSP 技术是建立在Servlet 规范之上的动态网页开发技术[3]。JSP 页面与HTML 页面最主要的区别就是JSP 页面融合了HTML 的长处,使得静态网页代码和Java 代码可以同存于JSP 页面中,用特殊的符号隔开做区别。
JSP Model 模型主要分为两种,JSP Modle1 模型是JSP 技术与JavaBean 技术相结合的技术[4]。而JSP Modle2 模型采用了三种技术结合的技术,在第一种模型的基础上添加了Servlet 技术。Servlet 页面主要是在JSP 原页面中提取出来的流程控制代码。JSP Model2 模型的工作原理如图2.2 所示:
三层架构是指软件系统的整体设计分层:业务逻辑层、数据持久化层和表现层。而MVC 设计模式只体现在表现层中,即将表现层又分为模型、视图和控制器。所以在上面Model2 模式下对JavaBean 分割后形成了三层架构与MVC 的全新的JavaWeb 开发模式。
MVC 设计模式在上世纪末诞生,它按功能对软件的模块进行归类。由于MVC 模式中的功能模块相互独立,本平台采用MVC 模式进行系统的搭建可以使平台在研发完成后具有如下特点:1.可维护性强:后期平台的运营人员可以根据层次分明的包层源代码对平台进行维护;2.可拓展性高:根据不同包层对应的类不同,可以将平台后期想要增加的功能或设计快速地进行扩展补充;3.可复用性强:由各模块相互独立的特点决定。MVC 设计模式主要有三个模块,如图2.3 所示:
所谓“需求分析”,就是系统分析人员针对所开发的系统软件提出问题,解决问题的过程。在这个过程中我们必须弄懂开发平台的目的,要使用哪些技术,要实现什么功能,是否具备可行性,最终要呈现怎样的效果。以下以普通的电商平台开发为例:
1.安全性分析
出于对系统的安全考虑,在前期需求分析阶段要讨论出使用什么技术保障后台管理系统的安全。基于Java Web 技术,常用的基础安全性策略是设置Filter 过滤器。该过滤器主要用于平台登录设置,可以阻止用户通过输入对应的网页地址进入拦截页面。用户登录系统时对用户的身份进行识别,判断账户是否激活,判断角色类别,判断账号密码是否匹配。当用户输入账号和密码时,系统先判断该账号在注册24 小时内是否已激活,若已激活且密码匹配,则根据用户的角色类别进入不同的系统页面。
2.需求分析
近几年,随着互联网的迅速崛起,传统的销售模式遭遇挑战,越来越多的商家开始由单一的线上销售转为线上与线下相结合的模式进行销售,向消费者展示出别致新奇的购物方式。随着电商平台的广泛出现在大众生活中,技术也更多地转向B2C模式。建立一个电商平台至少应满足如下需求:
· 操作界面功能清晰、一目了然。
· 商品的分类合理简洁,用户可以按照类别栏筛选不同商品。
· 网站首页轮播图播放当月热卖主推商品,可适当投放广告。
· 用户可进行注册、登录、信息修改等基础操作。
· 使用字模糊查找相关特产。
· 提供简单安全的验证模式,用户必须登录后才能购买特产。
· 方便快捷的购物功能。
· 用户权限不交叉,各行其是。
· 设计完备的后台管理系统,以便随时管理网站的各种数据信息。
· 安全稳定的运行环境、及时准确的响应方法。
1.系统架构设计与实现
大型网站系统架构都是随着功能增加而不断进步的,所有的初衷都是为了满足需求分析得出的系统目标。一开始访问量不高,功能单一时,单个软件就可以达到目标。但是后来随着访问量逐渐增加,业务要求越来越多,单体软件已不能满足开发需求,因此各种集群化部署、内存数据库等技术应运而生[7]。
系统架构主要包括4 层,它们分别为底层、配置层、工具层和门户层。其中底层主要为系统架构上层提供支持;配置层具有连接功能,为底层提供数据服务等;工具层顾名思义为各层的功能实现做桥梁,哪层需要工具集或者插件,它便要提供;门户层就是用户与系统交涉的中介,一般来说在编写门户层的页面时要注意界面美观,功能简洁到位,体验感好。
2.数据库设计与实现
在进行数据库板块的设计时使用数据字典可以从结构上清晰的分析相关功能。数据字典主要用于对需求分析阶段要求的数据做出一定的解释。其中要遵循的规则是各个数据的定义按照统一的标准得出[7]。
在设计数据库之前,需要明确项目涉及哪些实体,各包含哪些属性,实体之间的关系是如何的,因此用E-R 图描述较为方便。E-R 模型即实体―联系模型。它主要用于需求分析之后,数据库设计之前的中间环节分析。研究E-R 模型有助于归纳每个实体的相关属性、优化相关现实数据[8]。数据库中常用数据表来映射逻辑模型中的关联情况以及储存相关数据信息。数据表中的一个字段映射表达关系中的一个属性,一条记录映射表达关系中的一个元组,整体结构映射表达关系的整体框架,它们都是一一对应的关系,层次分明,逻辑清晰。
在数据库连接池技术诞生之前,每次JDBC 编程时创建和断开Connection 对象都会浪费少许的时间和IO 资源。除此之外,Java 程序还得把与连接相关的对象加载入内存中以降低开销。若某个Web 应用程序在某一高峰时段有上万人同时访问,则此时数据库内部就要进行上万次关于连接的操作。数据库连接池的出现极大地减轻了数据库的连接压力。它支持Web 应用程序直接使用之前建立的数据库连接,而不用每次访问时重新建立。应用程序本身省去中间与数据库驱动协作的过程,底层数据库也不用与应用程序的用户进行交流。因此引入JDBC 技术以后,驱动模块的代码编写完成后普适性更高。
3.功能模块设计与实现
一个基本的电商平台至少应该包含以下几个功能模块:登录注册:平台用户要实现购买功能需要先注册,注册完成并成功激活后登录网站。系统首先会验证输入框内的信息与数据库是否匹配,然后判断是否激活,若未激活则返回登录页面且提示用户进行激活,成功激活则登录成功。购物模块:用户进入平台首页浏览商品,若要加购,系统捕捉此时用户的登录状态,未登录的通过重定向技术将页面跳转至登录页面,已登录的则成功加入购物车。结算模块:用户想要结算购物车的物品,必须是在登录状态下,进入结算中心,勾选要结算的商品,进行订单确认,若订单确认后未支付订单,用户也可以根据自己的实际情况取消订单;确认订单后进入支付环节支付购物金额。
一个强大的电商平台,不仅要有美观可操作性强的前台页面,还应该有功能齐全的后台管理系统,只有将后台数据牢牢抓住,才能及时调整平台销售策略,针对用户的购买记录精准推荐好物。后台管理系统主要包含四大功能块:
(1)商品管理:添加商品、编辑商品、删除商品、查询商品
(2)销售榜单:下载销售数据
(3)公告管理:添加公告、查询公告、删除公告、编辑公告
(4)订单管理:删除订单、查询订单后台管理系统的实现主要依赖于数据库,对数据库的数据进行增删改查等操作。如购物车的实现:用户点击购买,系统获取商品的id,调用service 层方法,根据id 查找商品,然后获得session、从session 中获取购物车对象、如果购物车为null,说明没有商品存储在购物车中,创建出购物车接下来便是向购物车中添加商品、如果商品数量不为空,则商品数量+1,否则添加新的商品信息。