网上商城的设计与实现论文

网上商城的设计与实现论文

ID:23018858

大小:951.32 KB

页数:42页

时间:2018-11-02

上传者:U-991
网上商城的设计与实现论文_第1页
网上商城的设计与实现论文_第2页
网上商城的设计与实现论文_第3页
网上商城的设计与实现论文_第4页
网上商城的设计与实现论文_第5页
资源描述:

《网上商城的设计与实现论文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

毕业设计(论文)网上商城系统的设计与实现学生姓名学号班级所属院(系)指导教师2016年6月1口 第1章绪论41.1课题背景41.2目的和意义41.3系统设计思想5第2章需求分析52.1业务流程图52.2网上商城系统的需求分析62.3数据流图7第3章总体设计83.1系统模块总体设计83.2数据库设计103.2.1数据分析103.2.2数据库的详细设计11第4章详细设计与实现154.1系统运行平台设置154.2运行环境154.3开发工具及技术简介154.3.1开发工具简介154.3.2技术简介154.4系统首页设计164.5系统前台基本功能设计与实现164.5.1用户维护模块设计与实现164.5.2数码产品展示模块设计与实现204.5.3购物车模块的设计与实现214.5.4收银台模块的设计与实现224.5.5查看订单模块的设计与实现234.5.6公告浏览模块的设计与实现23 4.5.7客户留言模块的设计与实现244.6系统后台管理功能设计与实现254.6.1基本信息管理设计与实现254.6.2订单信息管理设计与实现254.6.3产品信息管理设计与实现264.6.4公告信息管理设计与实现274.6.5留言信息管理设计与实现2828参考文献285女W29幌I30P緑II32 第1章绪论1.1课题背景全球网络销售的盛行,互联网的兴起己经完全改变了商品市场,当国内各大型互联网公司出现,就衍生出互联网产品的销售,并通过网络进行管理。随着全社会的进步,实体交易己不能满足于消费者,从而促进了电子商务的兴起,电子商务便加入丫互联网公司的业务。如今的淘宝,京东,聚美优品等等大型网络销售客户端的出现,是对如今网络市场的最好诠释。网上购物影响了人们的生活方式,改变了人们的传统消费习惯,网络购物、网上查看产品的信息,实物3D展示,好评度,都已经成为人们挑选商品以及决定是否购买的关键。1.2目的和意义网上商城系统的控制分类,产品信息,订单数据极其复杂多样,而且至今为止产品的信息量仍然在不断增长,网络商品的丰富与实体商城己经今非昔比。商城系统的信息收集和购物页而,信息页而来回跳转,只需移动鼠标即可完成。网上购物平台的发展,使得消费者更多的缩短了信息收集与参与购物的时间,使得各大商品生产商更加重视网络销售的重要性。小米手机网上销售的突破,海外代购的出现等等,极力推进网上商城的快速发展。因为网上销俦有许多优点,与传统的方案相比:1.网上销售提供广泛的搜索途径,奔找方便,分类明确,网上交易快速,准确。2.网上销售的产品信息量比起传统的销售方式更加庞大。3.成木低,风险小,最独到的地方是:减少消费者的消费时间、扩大消费范围和巩固消费群体,节约了投入资本和租赁费用。通过互联网,推广其产品和服务,从而时间和空间上的障碍得以消除。 1.3系统设计思想一个传统的信息管理系统,尤其是数据信息量极大地管理系统,如网上商城系统,需耍满足使用方便,灵活操作的耍求。在设计系统时,耍遵循以下原则:(1)、提供信息安全可靠、采用人机交互的操作模式,便捷的信息奔询、友好的信息交互、商城页面优雅美观,数据存储准确安全;(2)充分显示销售产品的详细信息,同吋提供特价产品和新款产品;(3)提供便利的查询方式,方便消费者迅速查询产品的详细信息;(4)消费者随时修改自己购物的资料;(5)实现网上购物的各种功能;(6)产品具有排名功能,方便消费者熟悉丫解;(7)网上销售系统网站所收录产品的最新信息会出现在公告栏;(8)消费者随时可以查看自己的订单信息;(9)具有系统输入校验功能;(10)尽可能地实现易操作和易维护;(11)系统运行稳定、安全可靠;第2章需求分析2.1业务流程图1.系统业务流图描述如下(1)消费者浏览网站:为网上销售产品注册浏览器的客户端,为消费者提供新的,便宜的产品及其详细信息,同时消费荠还可以通过类别来奔看所需产品。此外,消费者可以浏览公示,产品的销量排名,(2)用户注册及登录:登录前需要注册用户,商品购买会记录数据库中。(3)购物车处理:具有添加,查看,删除,修改,清空功能。(4)收银台处理:购物车中的产品被用户决定耍购买后,需耍消费者填写最终订单的相关信息。完成后用户可以査看自己的订单。(5)管理员后台处理:查看受理和未受理的详细订单信息,可以修改数据 库信息,。系统业务流图如图2-1所示。2-1系统业务流2.2网上商城系统的需求分析(1)系统需要有极强的易用性,方便消费者使用,还有完整友好美观的操作界面;(2)能够斉看商品的详细信息,方便商品斉看、参考与对比;(3)消费者可以通过分类查找快速搜索商品;(4)购物车统一结账功能;(5)设立公告栏,消费者可以了解商城的动态,特价活动和新品信息等;(6)产品销售排行功能;(7)斉询商品详情、斉询订单详情功能;(8)后台管理功能。 2.3数据流图1.系统总数据流图如图2.1所示/P.I.•'/户蠡il铂A‘fl?;Iwrm*乐统锌理》客户2.1系统总数据数据流订单管理数据流图如图2.2所示。2.2订单管理数据流基本信息维护数据流阁如阁2.3所示。 扇•丧科Rfe、/nunInt麻fliU關MflknAP54I22.3基本信息维护数据流图数据流图第3章总体设计3.1系统模块总体设计木系统井两个模块:前台和后台,前台和后台访问同一个数据库。1.前台系统功能模块分为(1)产品展台模块:添加新品上架信息栏,分页展示优惠产品,将所有产品销售量进行排行并且展示结果;(2)产品查询模块:消费者可以通过商品类别快速查询;(3)购物车模块:消费者可以添加商品到购物车,查看购物车产品,删除不需耍的商品,清空购物车,增加或者减少商品数量:(4)收银台模块:结账并填写详细的订单信息;(5)用户维护模块:注册、登录、个人资料修改以及修改密码、找回密码功能;(6)订单查询模块:查看最近订单信息以及之前的订单记录; (1)公告浏览模块:公告信息栏通知站内各种最新信息。(2)留言模块:客户可以发表留言给网站管理者提出建议。系统前台用户功能结构图如图3.1所示。3.1系统前台用户功能结构1.后台系统功能模块分为(1)产品管理模块:按产品的类别快速查询产品,维护和管理产品;(2)用户管理模块:管理员只能查看用户信息和删除,以保证信息安全;(3)管理员维护模块:维护管理员信息。(4)订单管理模块:査看订单信息,完成订单受理;(5)公告管理模块:浏览站内公告,发布和修改公告信息;(6)留言模块:查看客户留言,对留言进行回复。系统后台管理员功能结构图如图3.2所示。 3.2系统后台管理员功能结构I3.2数据库设计3.2.1数据分析(1)新用户注册、老用户登录、验证等功能建立信息表,包括用户名、密码、邮箱地址、收货地址等;(2)查看产品详细信息和产品分类信息等功能至少需要两张数据表,因为既需要管理产品分类类别,也需耍面向每一种产品维护其信息;(3)管理订单,包括订单的详细信息和基本信息等;(4)订单处理完成后需要出货,需要记录订单的发货情况;(5)系统需要维护,要创建管理员数据表,包括管理员ID、账号、密码等。(6)客户留言,需创建留言数据表,包拈留言日期、留言标题等。因此必须建立一下数据表:(1)用户信息:用户ID,用户名等;(2)管理员信息:管理员ID,密码等;(3)产况信息:产rSilD,产品名称、单价、特价等;(4)产品类别信息:类别ID,类别名称等;(7)订单信息:订单ID,用户编号,订货地址等;(8)订单明细信息:订单ID,产品ID,订货时间等; (1)公告信息:公告ID,公告名称及内容等;(2)留言信息:留言标题,留言日期,留言内容等。1.2.2数据库的详细设计(1)规划符合作用的数据库:(2)遵循数据库规范,避免数据库错误;(3)对数据完整性的保护;(4)合理分配数据库用户权限,确保安全;(5)为满足性能需求,合理配罝数据库;(6)数据库维护。通过物理设计,提高系统数据处理的效率并使其充分利用计算机的内存空间。(1)使用顺序记录的方式来记录数据库中的文件;(2)全局变量将用于保存各个用户数据的链接字符和用户名等;数据库E-R如图3.3所示。HIPFK川尸瞩彆川广A-SlHK住tt41^rinIoIkI*0tfiVK1Klf:i2A典曲鐵曲MJArtT編价tvrr!:I.•,IJ1<€>>AAHtTK“丨t.fn屮叫相HFKTK11K21.¥叫怕編”u单鹹兮啪.LAi1K1丨•••.JH户編VU-P1»Ail!llJif雄状.U的;f)快ItTKjkn3.3数据库E-R图数据库命名为db_shoping,共分为8张数据表。1.产品信息表用这张表来记录所有网站内产品的详细信息,这张电子产品的类别表是与产品相关联的。如表3.1所75。序号M涵I长度(字符) 1goodsjd编号Int42goods_name商品名varchar503goods_miaoshu商rfii描述varchar50004goods_pic存放商品图片varchar505goods—yanse商品颜色varchar506goods_shichangjia商品市场价int47goods一tejia商品特价int48goodsjsnottejia普通商品varchar509goods_catelog」d商品种类号int4表3.1t_goods(产品信息表)2.产品类别信息表用这张表来记录所有网站内产品类别的详细信息,它的设立,很大程度上方便了用户对产品的查询和管理员对产品信息的管理。如表3.2所示。序号名称别名类型长度(字符)1catelog_id种类编号Int42catelog_name种类名称Varchar503catelog_miaoshu种类描述Varchar5000表3.2t_cateIog(产品类别信息表)3.订单信息表用来记录交易订单的详细信息,方便用户查看订单信息同时方便出货。如表3.3所示。序号名称别名类型长度(字符)1orderjd订单IDInt42order—bianhao订单编号Varchar503order_date订单生成円期varchar504order一zhuangtai订单状态varchar505orderjine总的消费金额Int46order—songhuodizhi送货地址Varchar50 7order一fukuangfangshi付款方式Varchar508order_user_id用户IDInt4表3.3t_order(订单信息表)1.订单明细信息表用这张表来记泶所有网站内订单明细的详细信息,提供全面的产品订单详情给用户,同时也提供用户所有订购的产品的详细信息给管理员,方便出货。如表3.4所示。序号名称别名类型长度(字符)1orderltemjd订单明细编号Int42orderjd订单编号Int43goodsjd商品编号Int44goods_quantity购买数量Int4表3.4t_orderltem(订单明细信息表)2.用户信息表用来记录用户的详细信息,设置权限,为管理员维护提供信息。如表3.5所示。序号名称别名类型长度(字符)1user_id用户IDInt42user_name用户名Varchar503user一pw用户密码Varchar504user_realname真实姓名Varchar505user一address住址Varchar506user_sex性别Varchar507user_tel联系电话Varchar50 8user_email用户邮箱Varchar509user_qq用户QQVarchar50表3.5t_user(用户信息表)1.管理员信息表用这张表来记录所有网站内管理员用户的详细信息。如表3.6所示。序号名称别名类型长度(字符)1userid管理员IDint42userName管理员名称Varchar50续表4.63userPw管理员密码Varchar50表3.6t_admin(管理员信息表)2.公告信息表用来记录公告的详细信息,提供产品的最新信息。如表3.7所示。序号名称别名类型长度(字符)1gonggaojd公告编号Int42gonggao_title公告标题Varchar503gonggao_content公告内容Varchar50004gonggao_data公告创建时间Varchar505gonggao_fabuzhe发布人Varchar50表3.7t_gonggao(公告信息表)3.留言信息表用这张表来记录所有网站内用户留言的详细信息,以及对商品的意见和建议等。如表3.8所示。序号名称别名类型长度(字符)1liuyanjd留言idInt4 2liuyan—title留言标题Varchar503liuyan—content留言内容Varchar50004liuyan_date留言时间Varchar505liuyan_user留言客户Varchar50表3.8t_liuyan(留言信息表)第4章详细设计与实现4.1系统运行平台设置系统运行分为硬件和软件。4.2运行环境1.硬件环境系统中硬件环境配置:系统内存4G,系统硬盘500G。1.软件环境系统中的软件环境配置:Mysql数据库,Windows8操作系统,jDK1.7、Tomcat7.0服务器和MyEclipse开发工兵也。4.3开发工具及技术简介4.3.1开发工具简介拥有丰富的功能,编码室,测试,测试j2EE集成开发环境和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernateo在结构上,MyEclipse的特征可以分为7类:(1)J2EE模型;(2)WEB开发工具;(3)EJB幵发工具;(4)应用程序服务器的连接器;(5)J2EE项目部署服务;(6)数据库服务;(7)MyEclipse整合帮助。4.3.2技术简介系统使用MVC框架,MVC(模特-视图-控制器),输入,处理,输出的必须应用对应的设计图案。MVC,视图层,相关数据和用户输入数据。控制层,用户输入接收。 Java技术相关的jsp,JDBC,SSH框架。其中,Struts使用。MVCWeb应用程序框架是基础。4.4系统首页设计该销售系统网站的登录主界面利用上、左、右的设计结构进行布局,上部分是所有功能的选择区,用来展示本网站的所有功能,右边部分可以方便用户注册、登录,这之下为公告信息展示。界面设计如阁4.1所示。回4.1系统首页4.5系统前台基本功能设计与实现详细说明前台功能模块。4.5.1用户维护模块设计与实现因为网上购物一定要确保用户验证的正确性、购物信息的安全性,必须对消费者资料进行严格的管理,所以用户信息的维护和管理是销售网站最为重要的环节。1.注册(1)实现S标用户需要输入密码和确认密码、用户真实姓名、地址、性别、邮箱、QQ号码来完成注册。这个过程要求用户通过邮箱注册是考虑到两方面:第一,用户的 邮箱是惟一的;第二,借助用户的邮箱来与用户本人取得联系。确认注册信息后,系统会检查填写信息的合法性。对不合法的填写给出提示,并自动跳转;对于正确的注册表单,返回相应的提示告诉用户现注册成功,注册信息会立即保存对应的数据库表中。界而的设计如图4.2所示。用户注冊用户名:密码:密码确认:真实姓名:住址:性别:©男O女联系方式:E-mail:QQ:确定取消图4.2用户注册模块(2)实现过程所属页面名:userReg.jsp表单属性:name="forml"action="<%=path%>/userReg.action"method="post"页面设计如表5.2所示。名称类型含义userNameText输入用户名称passwordPassword输入密码passwordOnePassword输入确认密码userRealnameText输入真实姓名续表5.2 userAddressText输入住址userSexradio选择性别userTelText输入联系方式E-mailText输入E-mail地址确定Button提交用户信息取消Button取消注册表4.2用户注册信息列表2.登荥和验证(1)用户登录程序流程描述先是验证身份合法性,若存在则登录成功,若该不存在,提示“您输入的用户名密码错误或者不存在,请前去注册”,网页跳转回登录界面重新输入用户名和密码。用户登录的程序流程阁如阁4.3所示。图4.3用户登录程序流程图(2)实现目标用户只是浏览商品,可以不登录,一旦需要使用购物车就必须登录,如进行用户信息更改,添加商品和结算操作等。界面的设计如阁4.4所示。用户登录用户名:密码:登录注册 图4.4用户登录模块(3)实现过程所属页面名:index.jsp页而设计如表4.3所示。名称类型含义userNameText输入用户名passwordPassword输入密码注册button注册新用户登录button登录网站表4.3用户登录信息列表1.用户修改和注销(1)实现目标注册成功的用户只要登录后可以使用单击用户修改按钮来更改,如可以修改密码、修改邮箱地址等个人信息。界而的设计如图4.5所示。图4.5用户修改模块(2)实现过程所属页面名:userXinxi.jsp表单属性:action=,,<%=path%>/uscrEdit.action”name=’’formlmethod=〃post〃页面设计如表4.4所示。 名称类型含义userNameText输入用户名称passwordPassword输入密码passwordOnePassword输入确认密码userRealnameText输入真实姓名userAddressText输入住址userSexradio选择性别userTelText输入联系方式E-mailText输入E-mail地址确定Button提交用户信息取消Button取消注册表4.4用户修改信息列表4.5.2数码产品展示模块设计与实现1.实现A标以商品的销售量排行展示商品为例,用户在网站首贞上可以看到商品的销售量排行,可以帮助顾客快速锁定畅销商品,提供选购参考。界面的设计如图4.6所示。0图4.6销售排行模块2.实现过程戶斤属页面名:index,jsp 通过斉询t_orderltem表中按销售额字段goods_quantity降序排列实现。4.5.3购物车模块的设计与实现1.购物车程序流程描述每个用户选购好的产品可以加入购物车,购物车会显示商品的数量和价格信息,如果用户不满意产品,可以对购物车进行清空和删除,购买的产品的数量可以调整。用户决定购买后,可以去结算。购物车流程图如图4.7所示。图4.7购物车程序流程图2.实现目标购物车功能的设计包括:顾客可以在购物车添加商品,同时可以对购物车内的商品进行管理。购物车不限制用户采购商品的数量。界面的设计如阁4.8所示。3.实现过程所属贞面名:myCart.jsp核心代码参见附录2页面设计如表4.8所示。 4.8购物车模块4.5.4收银台模块的设计与实现1.实现0标检查产品的购物车,确认用户的选择内容,即单击该帐户,在接下来的步骤后,过渡到结账页面。本页面信息用以客户联系,填写联系电话和订购地址等。一旦发货所需的用户信息准备完整,订单过程立即开始,并反馈给用户。界面的设计如图4.9所示。订单确认小明18535253789收货人帐号:xiaoming收货人姓名:收货人联系电话:太原科技大学货到付款收货人地址:山西省太原市万柏林区太B送货地址:付款方式:返回上一步f提交订单图4.9结账模块2.实现过程所層页面名:orderQuren.jsp表单属性:action=,/<%=path%>/orclerSubmit.action"name=/,f" mcthod=〃post" 页而设计如表4.5所示。具体代码参照附录3。名称类型含义userNameText收货人账号userRealnameText收货人姓名userTelText收货人联系电话userAddressText收货人地址odderSonghuodizhiText送货住址表4.5收银台信息列表4.5.5查看订单模块的设计与实现1.实现目标用户可以查看自己的历史订单及订单详情。界面的设计如图4.10所示。s图4.10查看订单模块2.实现过程所属页面名:myOrder.jsp具体代码参见附录2。4.5.6公告浏览模块的设计与实现1.实现目标宣传广告来吸引顾客的方式有许多种,该系统用公告信息栏的形式宣传。利用循环流动的形式展示站内信息。界而的设计如图4.11所示。 图4.11公告浏览模块2.实现过程所属页面名:gonggaoDetailQian.jsp将公告信息添加到数据库中,利用gonggaoDAO中save方法,用户点击公告,利用gonggaoDAO卜‘的findAll方法,调出数据,跳转贞面。4.5.7客户留言模块的设计与实现1.实现H标提升客户对网站的好感度和对产品的满意度,开发了留言功能,让用户能够在第一时间将问题反映给管理者,以便进行调整和改进。界面的设计如图4.12所示。»氏人:mm2016-5-2419.OS.*41«*B:找竇:STn人:mm:2016-S-2419XXh01USB:2016.5.24内«:快遍穀快MB图4.12客户留言模块2.实现过程所属页而名:liuyanAll.jsp首先要对session屮的userName是否为空进行判断,若值为空,就必须先进行登录才可以写留言。若值不为空,则留言用户显示userName,使用获取系统时间给留言时间赋值。客户输入留言标题和留言内容之后,将被存储到数据库表中,在客户或者管理者想耍查看时调出。4.6系统后台管理功能设计与实现本节对后台功能设计进行详细的说明。4.6.1基本信息管理设计与实现1.实现目标 管理员主要是维护用户信息,产品种类,加工订单信息,公共信息和消息。例如,当添加或删除和更新操作这些基本信息,该系统将操作结果返冋数据库,显示新的结果集合,可以被更新到相应的页面。有必要使用SQL语句,并添加这些信息到数据库。界面的设计如图4.13所示。店铺后台管理当前:yangchengkai[賴寿■会员管理ID用户名密码S3SSS棚E-mailQQS作9xiaoming123侧山西迄太原市万桕休男18535253789123456@qq.com123456«除14杨触123男18235189684583700287@qq.co583700287图4.13客户信息管理模块2.实现过程戶斤属页面名:userMana.jsp主要利用uscrDAO中的findByld和findAll方法来获取和删除数据在数据库屮的记录來进行管理。通过findAll方法展示用户的详细信息,想要获取特定的用户的ID,就需要使用findByTd方法,使用sql语句进行操作。4.6.2订单信息管理设计与实现1.实现目标管理员进行删除或受理订单操作,查看订单详情。界面的设计如图4.14所 订詹財通濟幻肪*Uroi«057407a<01V11M?016M24070401贈:itdwe燹《7雌購汀雌UK79鰣*上mJVPJHlt□MB扇飄■霉yjB?-yangchengkoi作店铺后台管理图4.14订单管理模块2.实现过程所属页面名:orderMana.jsp订单管理功能利用了buyAction方法,在用户耍确认订单时,订单状态提交至管理荞时是默认为未受理。管理员浏览订单时使用了OTdertkmaO方法让订单能够在页面屮展示,选择删除时需要用到orderDelByAdO方法利用订单号即TD找到指定订单,对其进行删除操作,选择受理订单的话会用到orderShouliO方法,此时订单状态会由未受理变成己受理。管理员浏览订单详情时用到orderDetailO方法,利用订单号即1D找到指定订单并且展示在网页中。具体代码参照附录2。4.6.3产品信息管理设计与实现1.实现0标产品管理模块实现基木信息的管理功能,查看客户产品,该系统产品增加了产品的图像上传功能加法模块。通过点击上传的输入,上传产品基本信息的图像,提交后,在产品信息管理屮设置特殊的商品价格和非特价商品。设计如图4.15所示。 图4.15商品信息管理模块2.实现过程所属页面名:goodsManaYesTejia.jsp主要用来管理商品,包括删除和查询操作,把产品分为非特价和特价商品,便于管理,通过goodslsnottcjia方法区分是否为特价商品。4.6.4公告信息管理设计与实现1.实现0标这一模块主要是方便顾客及时了解销售网站的各种公告信息,以此为参考来决定购买的类别和商品。界面的设计如图4.16所示。图4.16公告管理模块2.实现过程所属页面名:gonggaoMana.jsp在gonggaoAction中,使用gonggaoAdd方法添加公告,管理员用gonggaoMana()方法查看,用gonggaoDel()方法进行删除。4.6.5留言信息管理设计与实现1.实现目标任何消费者可对网站提出意见或者建议,管理员都会第一时间查看,并且做 岀处理。界面的设计如图4.17所示。若铺后台管理2前:yangchpngkai■留二人2杨桜C2016-5-2419:08:41USR:我=内费:啪睐很好杨■■■■■■■■■■■I■匾2016-5-2419:09^)1USR:2016.5.24内费:快通很快图4.17留言信息管理模块2.实现过程所属页面名:liuyanMana.jsp主要通过liuyanDAO.findAll方法来获取用户留言,随后利用liuyanMana来显示,用liuyanAdd方法进行管理员操作,获取系统当前时间来确定留言的时间。调用liuyanDel方法来删除留言。结论在该系统的设计阶段,木人心态上于边学习边利用、边学习边完善的状态,对于JAVA语言、JSP的认识和理解都上升了一个层次,对于项目的整体掌控能力也有了很大的提高,尤其是在完善页而的外观和跳转的逻辑时,不仅锻炼的自己JSP设计界面的能力和对于友好型界面的审美,还趁机的锻炼了自己在业务逻辑处理上的能力。在技术的支持和生活经验的结合下,基本完成了该系统需要具备的各种功能。由于该项目进行的仓促和本人的专业能力有限,该系统在实现起来还是有很多的不足之处:功能还有不够细化的地方;界面也有一些地方制作不够精美,如信息列表表格不够清晰醒目。今后我一定会总结经验,提升专业技术,将有待完善的地方修改的更好,做到精益求精。参考文献[1]印旻.Java语言与而向对象程序设计教程[M].北京:清华大学出版社,2010.58〜63.[2]杨绍方.深入掌握J2EE编程技术[M].北京:科学出版社,2012.43〜92. [3]张琴,张千帆.JSP动态网页制作基础培训教程[M].北京:人民邮电出版社,2008.155〜158.[4]刘甫迎,谢春,徐虹.Java程序设计实用教程⑽].北京:科学出版社,2010.21〜67.[5]孙佳,刘中兵,李伯华.JSP+Oracle动态网站开发实例精选[M].北京清华大学出版社,2007.31^105.[6]科夫勒.SQLServer权威指南[M].北京:人民邮电出版社,2007.22〜32.[7]陈刚.MyEclipsc从入门到精通[M].北京:清华大学出版社,2005.155~172.[8]高海茹.SQLServer网络数据库技术精粹[M].北京:机械工业出版社,2002.87〜91.[9]徐敏奎.管理信息系统[M].北京:中国标准出版社,2011.12^35.[10]王冰.JSP+Oracle网站开发实例精讲[M].北京:人民邮电出版社,2007.75〜122.[11]冯若曼.ThinkingInJava第四版中文版[M].2010.49〜61.[12]王路群.Java高级程序设计[J].北京:中国水利水电出版社,2006[13]范青;马树才.浅谈网络数据库系统安全.河北北方学院学报:自然科学版.2005.72-74[14][美]HerbertSchidt著.Java参考大全[M].鄢爱兰.鹿江春译.北京:清华大学出版社,2006[15]陈刚.MyEclipse从入门到精通[M].北京:清华大学出版社,2005.4.[16]宛延阍等编著.实用Java程序设计教程[M].北京:机械工业出版社,2006致谢在指导老师的指导和同学帮助之下,我顺利地完成了木次毕业设计。在毕业设计这段时间里,我认识到了自己的不足并努力的争取独立完成我的设计,最终收获很多,学到了以前很多没有学到的知识,同时也巩固了所学过的知识。首先,感谢我的指导老师。作为我的导师,无论是在理论还是实践方面都给我提了很多宝贵的意见,使我的毕业设计在有条不紊的环境下进行,逐步趋于完善,得以顺利完成。其次,我也很感谢在开题检奔时老师给我提出宝贵意见,还有其他老师 在此期间的关怀和帮助,以及学院为我提供良好的毕业设计环境。最后,感谢在毕业设计中为我提供帮助的学院老师和同学,以及在毕业设计中被我引用或参考的论著的作者,总之感谢在毕业设计期间给予我帮助的所有老师和同学,感谢你们对我的支持。在毕业设计期间,我也通互联网向无数的网友寻求过帮助,很多热情的网友也很热心地帮助我寻找问题、解决问题,在互联网这个虚幻的世界里也能有这么多好心人对我的毕业设计工作提供丫巨大的支持,在此也要向这些不留姓名的好心人提出感谢!附录IStrutsApacheStrutsisanopen-sourcewebapplicationframeworkfordevelopingJavaEEwebapplications.ItusesandextendstheJavaServletAPItoencouragedeveloperstoadoptamodel-view-controller(MVC)architecture.ItwasoriginallycreatedbyCraigMcClanahananddonatedtotheApacheFoundationinMay,2000.FormerlylocatedundertheApacheJakartaProjectandknownasJakartaStruts,itbecameatoplevelApacheprojectin2005.DesigngoalsandoverviewInastandardJavaEEwebapplication,theclientwilltypicallysubmitinformationtotheserverviaawebform.TheinformationistheneitherhandedovertoaJavaServletwhichprocessesit,interactswithadatabaseandproducesanHTML-formattedresponse,oritisgiventoaJavaServerPages(JSP)documentwhichinterminglesHTMLandJavacodetoachievethesameresult.Bothapproachesareoftenconsideredinadequateforlargeprojectsbecausetheymixapplicationlogicwithpresentationandmakemaintenancedifficult.ThegoalofStrutsistocleanlyseparatethemodel(applicationlogicthatinteractswithadatabase)fromtheview(HTMLpagespresentedtotheclient)andthecontroller(instancethatpassesinformationbetweenviewandmodel).Strutsprovidesthecontroller(aservletknownasActionServlet)andfacilitatesthewritingoftemplatesforthevieworpresentationlayer(typicallyinJSP,butXML/XSLTandVelocityarealso supported).Thewebapplicationprogrammerisresponsibleforwritingthemodelcode,andforcreatingacentralconfigurationfilestruts-config.xmlwhichbindstogethermodel,viewandcontroller.Requestsfromtheclientaresenttothecontrollerintheformof"Actions"definedintheconfigurationfile;ifthecontrollerreceivessucharequestitcallsthecorrespondingActionclasswhichinteractswiththeapplicationspecificmodelcode.Themodelcodereturnsan"ActionForward”,astringtellingthecontrollerwhichoutputpagetosendtotheclient.InformationispassedbetweenmodelandviewintheformofspecialJavaBeans.ApowerfulcustomtaglibraryallowsittoreadandwritethecontentofthesebeansfromthepresentationlayerwithouttheneedforanyembeddedJavacode.Strutsalsosupportsil8n(internationalization),providesfacilitiesforthevalidationofdatasubmittedbywebforms,andincludesatemplatemechanismcalled"Tiles"which(forinstance)allowsthepresentationlayertobecomposedfromindependentheader,footer,andcontentcomponents.CompetingMVCframeworksAlthoughStrutsisawelldocumented,matureandpopularframeworkforbuildingfrontendstoJavaapplications,itisfacingnewchallengesfromnewer"lightweight"MVCframeworkssuchasSpringMVC,StripesandTapestry.ThenewXFormsstandardsandframeworksmayalsobeanotheroptiontobuildingcomplexwebFormvalidationswithStrutsinthefuture.TheWebWorkframeworkspunofffromApacheStrutsseveralyearsago,aimingtoofferenhancementsandrefinementswhileretainingthesamegeneralarchitectureoftheoriginalStrutsframework.However,itwasannouncedinDecember2005thatStrutswouldre-mergewithWebWork.WebWork2.2hasbeenadoptedasApacheStruts2,whichreacheditsfirstfullreleaseinFebruary2007.SunrecentlybroughtoutanewadditiontotheJavaplatform,calledJavaServerFaces(JSF).Asidefromtheoriginalframework,theApacheStrutsprojectalsooffersaJSF-basedframeworkcalledShale.OtherMVCframeworksthatarenotJ2EEbasedincludeRubyonRails,WebObjects,Django,Catalyst,TurboGears,CakePHP,Symfony(forPHP),Zend,AchievoATK,and Codelgniter(forPHP).Struts4phpisaversionoftheStrutsframeworkforthePHPwebscriptinglanguage.GirdersisaportoftheStrutsframeworkinC#forMicrosoft.NET.附录11购物车核心代码在userAction巾:publicStringuserLogin(){Stringsql="fromTUserwhereuserName=?anduserPw=?n;Object[]con={userName,userPw};ListuserList=userDAO.getHibernateTemplate().find(sql,con);if(userList.size()==O){this.setMessage("用户名或密码错误");this.setPath("qiantai/index.html");}else{Mapsession:ServletActionContext.getContext().getSession();TUseruser=(TUser)userList.get(O);session.put(HuserH,user); Cartcart=newCart();//用户登陆成功后生成购物车,并将其放入到session屮。session.put(,,cartn,cart);this.setMessage("成功登录");this.setPath("qiantai/index.html");}return"succeed";在buyAction中:publicStringaddToCart(){TGoodsgoods=goodsDAO.findByld(goodsld);TOrderltemorderltem=newTOrderltem();orderltem.setGoods(goods);orderltem.setGoodsQuantity(quantity);Mapsession:ServletActionContext.getContext().getSession();Cartcart=(Cart)session.get("cart");//将session中的cart取出,也就是上边存储在session中的cartcart.addGoods(goodsld,orderltem);session.putC'cart'^cart);//再把cart方夂入session//this.setMessage("");this.setPath("myCart.action");return"succeed";}publicStringmyCart()//获取我的购物车{returnActionSupport.SUCCESS; //确认提交订单publicStringorderQueren(){Maprequest=(Map)ServletActionContext.getContext().get("request");returnActionSupport.SUCCESS;}publicStringorderSubmit()//订单提交{Mapsession:ServletActionContext.getContext().getSession();Cartcart=(Cart)session.get("cart");//将cart取出TUseruser=(TUser)session.get("user");//将用户取出TOrderorder=newTOrder();order.setOrderBianhao(newSimpleDateFormat("yyyyMMddhhmmss").format(newDate()));//设定订单编号order.setOrderDate(newSimpleDateFormat("yyyy-MM-ddhh:mm:ss").format(newDate()));//确认订单的曰期order.setOrderZhuangtai("no");//订单状态默认为未受理order.setOrderUserld(user.getllserld());//设定订車的用户IDorder.setOrderJine(cart.getTotalPrice());//商品的价格orderDAO.save(order);//保存订单for(Iteratorit=cart.getltems().values().iterator();it.hasNext();)//把订单里的商品存入数据库{TOrderltemorderltem=(TOrderltem)it.next();orderltem.setOrderld(order.getOrderld());orderltem.setGoodsld(orderltem.getGoods().getGoodsld()); orderltemDAO.save(orderltem);}cart.getltems().clear();//清空购物车session.put(,,cart,,/cart);Maprequest=(Map)ServletActionContext.getContext().get(,,request");request.put("order",order);returnActionSupport.SUCCESS;publicStringmyOrder()//根据用户查询订单{Mapsession:ServletActionContext.getContext().getSession();TUseruser=(TUser)session.get("user");//获取用户Stringsql=HfromTOrderwhereorderUserld=,,+user.getUserld();ListorderList=orderDAO.getHibernateTemplate().find(sql);//调用orderDAO中的find方法,执行sql语句Maprequest=(Map)ServletActionContext.getContext().get(nrequestH);request.putC'orderList11,orderList);returnActionSupport.SUCCESS;//订单管理publicStringorderMana(){Stringsql=HfromTOrderorderbyorderUserld"; ListorderList=orderDAO.getHibernateTemplate().find(sql);Maprequest=(Map)ServletActionContext.getContext().get(,,requestn);request.put("orderList",orderList);returnActionSupport.SUCCESS;}orderDel()publicString//用户自己删除订单{TOrderorder=orderDAO.findByld(orderld);orderDAO.delete(order);Mapsession:ServletActionContext.getContext().getSession();TUseruser=(TUser)session.get(,,user,1);this.setMessage("删除成功this.setPath("myOrder.action?userld=,,+user.getUserld());//跳转到myOrder.actionreturn"succeed";}publicStringorderDelByAd()//管理员删除订单{TOrderorder=orderDAO.findByld(orderld);orderDAO.delete(order);Stringsql="deletefromTOrderltemwhereorderld=H+orderld;orderltemDAO.getHibernateTemplate().bulkUpdate(sql);this.setMessage("删除成功");this.setPathf'orderMana.action"); return"succeed'1;}publicStringorderShouli()//对订弟进行受理{TOrderorder=orderDAO.findByld(orderld);order.setOrderZhuangtai("yes");//己经受理订单orderDAO.attachDirty(order);this.setMessage("受理订革成功");this.setPathC'orderMana.action");return"succeed";publicStringorderDetail()//订单明细{Stringsql="fromTOrderltemwhereorderld="+orderld;ListorderltemList=orderltemDAO.getHibernateTemplate().find(sql);for(inti=0;iitems;publicCart()//定义构造方法{if(items==null){items=newHashMap(); publicvoidaddGoods(lntegergoodsld,TOrderltemorderltem)//招S力U购物车{if(items.containsKey(goodsld)){TOrderltem_orderitem=items.get(goodsld);_orderitem.setGoodsQuantity(_orderitem.getGoodsQuantity()+orderltem.getGoodsQuantity());//如果购买商品重复,则加上数量items.put(goodsld,_orderitem);}else{items.put(goodsld,orderltem);}}publicvoid//删除购物车{items.remove(goodsld);}delGoods(lntegergoodsld)publicvoidupdateCart(lntegergoodsld,intquantity)//更新购物车 的数量TOrderltemorderltem=items.get(goodsld);orderltem.setGoodsQuantity(quantity);items.put(goodsld,orderltem);}publicintgetTotalPrice()//计算总的价格{inttotalPrice=0;for(Iteratorit=items.values().iterator^);it.hasNext();){TOrderltemorderltem=(TOrderltem)it.next();TGoodsgoods=orderltem.getGoods();intquantity=orderltem.getGoodsQuantity();//单价乘以totalPrice+=goods.getGoodsTejia()*quantity;数量}returntotalPrice;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭