2.3 MVC模式
本系统中使用MVC模式来降低耦合度,实现分层思想。其中Model层实现系统中的业务逻辑,由JavaBean来实现,View层用于与用户的交互,用JSP来实现,Controller层是M odel与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作,本系统中是用servlet来实现的。
MVC全名是Model View Controller,是模型(model)、视图(view)、控制器(controll er)的缩写,一种软件设计典范,用于组织代码,用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑,MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中[5]。
视图是用户看到并与之交互的界面。对老式的Web应用程序来说 ,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML、XML/XSL、WML等一些标识语言和Web services。MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务,例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性[6]。
控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
2.4 MyEclipse简介
本系统是在MyEclipse上进行开发的,MyEclipse从本质上讲是基于Eclipse的JavaEE方面的插件,是专门为方便JavaEE项目的开发设计的。MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclip目前支持Java Servlet、AJAX、
第 6 页 共 34页
JSP、JSF、 Struts、Spring、Hibernate、EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。本系统用的是Myeclipse8.5版本,Genuitec发布了MyEclipse Enterprise Workbench 5.0,更智能、更快捷、更简单和更便宜的J2EE工具的新版本的诞生。它的价格对于个人和企业开发人员来说都是非常有吸引力的。这是J2EE IDE市场一个重量级的选手。通过增加UML双向建模工具、WYSIWYG的JSP/Strutsdesigner、可视化的Hibernate/ORM工具、Spring和Web services支持,以及新的Oracle数据库开发,MyEclipse 5.0继续为业界提供全面的产品[7]。
由于MyEclipse自带的jdk不全面,而且不能更新,所以在oracle官网中下载了jdk1.6.0_23,然后在MyEclipse中配置jdk,点击window下的Preferences,接着点击下面Java下的Installed JREs,点击add,最后还要设定环境变量path,JAVA_HOME。Path变量针对Java的具体含义是系统在任何路径下都可以识别Java命令需要设置的变量。JAVA_HOME变量就是java的安装路径。
2.5 Oracle简介
本系统使用的数据库是oracle,采用pl/sql工具建了5张表以及一个序列,该序列名称是T_SPXX_SPBH,PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。oracle数据库是一种大型数据库系统,一般应用于商业,政府部门,它的功能很强大,能够处理大批量的数据,在网络方面也用的非常多。不过,一般的中小型企业都比较喜欢用mysql、SQL server等数据库系统,它的操作很简单,功能也比较齐全。只是相对于oracle数据库而言,在处理大量数据方面有些不如,oraclede的稳定性比sqlserver好,安全性也比sqlserver好,获得最高认证级别ISO的认证,oracle具有开放性,sqlserver只能在windows上运行[8]。
oracle简称甲骨文,是仅次于微软公司的世界第二大软件公司,该公司名称就叫oracl e。oracle数据库管理系统是一个以关系型和面向对象为中心管理数据的数据库管理软件系统,其在管理信息系统、企业数据处理、因特网及电子商务等领域有着非常广泛的应用。因其在数据安全性与数据完整性控制方面的优越性能,以及跨操作系统、跨硬件平台的数据互操作能力,使得越来越多的用户将oracle作为其应用数据的处理系统。oracle数据库是基于“客户端/服务器”模式结构。客户端应用程序执行与用户进行交互的活动。其接收用户信息,并向服务器端发送请求。服务器系统负责管理数据信息和各种操作数据的活动。
第 7 页 共 34页
oracle数据库将权限划分为系统权限和对象权限两大类。系统权限是当前用户对数据库的操作权限,对象权限是当前用户对其他用户创建的数据库对象的访问权限。数据库对象有表、约束、索引、序列、触发器等等。实际Oracle的数据库对象是存放在一个叫做”方案”的逻辑空间内的。当前用户创建的数据库对象都放在当前用户的方案下,在用户创建的时候Oracle数据库会自动的为该用户创建一个与用户名相同的方案名。oracle创建表的规则:表名是由字母、数字、$、#、_组成 ,数字不能开头,长度不能超过30字符,大小写不敏感。一般情况下表名用大写来显示,不建议使用中文, 不能使用Oracle中的关键字。如该系统中的用户表名是T_YH,要注意的是如果需要访问其他的oracle数据库必须要配置tnsnames.ora在oracle的安装目录下的NETWORK/ADMIN/下,然后打开tnsnames.ora,把SERVICE_NAME = orcl中的orcl改成你要访问的那个数据库名称。
本系统要能正常使用数据库的前提是必须把服务(OracleServiceORC)和监听器(OracleOraDb10g_home1TNSListener)开启,建议把它们改成手动,这样不影响开机速度。
第 8 页 共 34页
第3章 总体设计
3.1 需求分析
商务系统随着中国经济的高速发展发生了巨大的变化。专做营销的中小型企业随着百姓个人消费水平的增长迅速成长起来,但同时也带来了这一行业激烈的竞争。如今的网站已经不单单是把企业想要表达的内容拜访在网站上那么简单,设计包含了更多的元素,例如css样式、jsp页面,给予浏览者更多的视觉享受。现在企业营销商需要用一些更新颖更有效的方式增强竞争力。建设一个宣传自身商品形象的电子商务营销模式的网站是一种有效的方法。另外,通过电子商务网站,广阔自己的营销方式和市场,能够帮助企业营销商从鱼龙混杂的市场中脱颖而出,完善企业销售与服务的环节,最终提升企业的价值与经济效益。苏宁也在建立起了属于自己的购物平台,本系统就是模拟苏宁易购网站实现的一个网上购物系统
[9]
。具有基本以下功能:
1.用户注册登陆功能:用户户根据注册模快要求进行邮箱注册,验证码的验证,手机号
是可选填的,注册后成功后完善自己的信息。
2.商品管理功能:该部分功能包括商品的管理和商品的浏览查询两大部分,将商品分成了日用、流行、新品、热销这4种状态,商品管理是面向管理员的,分商品增加、修改、查询,删除4个部分。面向用户的主要是商品的搜索,浏览功能,这里只支持精确查询。
3.购物车管理功能:商店用户在浏览商品时,可以根据自己愿意购买的商品加入到购物车,然后可以去结算或者继续购物,购买方式有两种,一键购和加入购物车,一键购是不需要加入购物车的,但是若要继续浏览其他商品可以选择先加入购物车,当进行结帐上时,购物车变为定单。
4.订单管理功能:订单管理分为面向管理员者和面向用户,管理员可以查询定单,修改定单以及删除订单,但是只能修改商品数量和商品总价格。用户可以查询订单状态,若此订单未付款,用户可以在此付款。
5.用户管理功能:此功能也分为两种面向管理员者和面向用户,用户可以对自己的信息进行修改,本系统有个默认的admin最大管理员,admin修改用户信息,注意的是不能修改用户密码,同时可以给用户授管理员权限,管理员可以查询所有用户,并有权删除。admin也可以新增其他管理员。
第 9 页 共 34页
3.2 功能模块设计
层次模块结构是将系统划分为若干子系统,子系统下再划分为若干的模块。而模块是指具备有输入输出、逻辑功能、运行程序和内部数据四种属性的一组程序。在结构化系统设计中,模块一般都是按功能划分的,通常称为功能模块。合理的功能模块的划分能够极大限度地减少重复劳动、提高开发工作的效率并增大系统的可维护性[10]。
以前面的需求分析为基础,将系统分为两大模块,即前台模块和后台模块。本系统的功能结构如图3-1所示。
网站
前台 后台
注册 登录 搜索商品 购物车 生成订单 用户管理 商品管理 订单管理 管理员新增 图3-1 系统功能结构图
3.2.1 前台功能模块设计
前台用户如需购买商品则需要先注册,为了系统的安全性考虑,在注册用户时要对邮箱格式进行了验证,还要校验两次密码输入是否相同,以及验证码是否输入正确,注册成功之后还要完善信息,完善的信息中包括昵称、真实姓名、性别、出生年月、证件类型、证件号码、居住地址。此时也要验证出生年月的格式和身份证的有效性,注册成功之后登录到首页面中,这时浏览商品了,将喜欢的商品选中加入购物车,可以查看购物车,修改商品数量,当总金额大于等于80时是免运费的,如果觉得这个商品不喜欢了可以删除购物车,购买购物车中的商品,即可以生成订单,也可以在订单管理里面查询到订单,订单状态为0的时候设置为未付款状态。如果没有登陆直接去主页面浏览商品的话,是不能加入购物车的,这是
第 10 页 共 34页