资源描述
编号: 1351101105 毕 业 设 计(2017届本科)题 目: 基于Java的网上书城的设计与实现 系(部)院: 信息技术与传媒学院 专 业: 计算机科学与技术 作者姓名: 陈卫国 指导教师: 祁金佺 职称: 讲师 完成日期: 2017 年 5 月 15 日 IV河西学院本科生毕业论文(设计)诚信声明本人郑重声明:所呈交的本科毕业论文(设计),是本人在指导老师的指导下,独立进行研究(设计开发)工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 本科毕业论文(设计)作者签名: 二一七年五月十五日摘 要进入二十一世纪,电子商务已经逐渐成为主流的商业模式,“当当”、“京东”和“淘宝”演变成为我们生活中的一部分、一种生活的习惯。随着IT技术的进步和发展, 网上书城已经成为一种新型的图书销售形式。本文综合分析了网上书城的用户需求和系统业务流程,并针对分析和具体设计等进行了详细的介绍。该系统通过分析客户的需求,确定了系统的功能模块,将网上书城功能模块分成两部分,即前台功能管理模块和后台功能管理模块。前台功能管理模块,实现了首页展示、商城公告、销售排行、图书分类、购物车、订单生成等主要功能;后台管理模块,实现了后台登录功能、图书管理功能、用户管理功能、前台管理和订单管理功能等。通过实现这些模块,用户可以很方便的实现网上购书的目的和管理员对书城更好的管理。本系统采用了目前成熟完善的技术体系。开发平台选用基于Java语言的MyEclipse,实现方式采用B/S架构,系统遵循J2EE模型体系和MVC设计模式,关键技术上选用目前Web系统主流的“Struts+Spring+Hibernate”开发手段。关键词:网上书城;电子商务;JSP;SSH;MVC AbstractE-commerce has gradually become the mainstream business model in twenty-first Century. E-platforms like Dangdang, Jingdong and Taobao plays an essential role in our life. On the consequence, online shopping has been a normal lifestyle. With development of IT technology, online bookstores has become a new approach to book sales.This paper analyses users needs of the online bookstores as well as the processes of system service. Focusing on comprehensive analyses and specific designs, the thesis provides a detailed introduction. From the analyses of users needs, the system determines two function modules, namely the front desk management function module and the backstage management function module. The front desk the management function module have the following parts: homepage display and key recommendation, online announcement, sales rank, book classification, shopping cart and orders. While the backstage management module cover functions of the backend login, books management, user management, and order management. Through the effective operation of these modules, users are easily able choose and buy books online while the administrator can manage the website more efficiently. The system adopts advanced and developed technology. The platform employs MyEclipse based on Java language to use the B / S structure. The system follows the J2EE system and the MVC pattern. Referring the key technology, the popular tool, Struts + Spring + Hibernate in web system, is widely used.Keywords: Online bookstore; E commerce; JSP;SSH;MVC 目 录第一章 设计概述11.1 设计背景与意义11.2 同类或相关系统的开发现状11.3 选题的主要工作内容21.4 本章小结2第二章 系统采用的相关技术32.1 MVC设计模式在系统中的应用32.2 SSH框架在系统中的应用32.2.1 Struts 2.0的应用32.2.2 Spring 4.2.4 的应用32.2.3 Hibernate 4.3.11 的应用42.3 Web服务器技术的应用42.4 MYSQL数据库的应用42.5 本章小结4第三章 系统分析与设计53.1 系统分析53.1.1 用户角色分析53.1.2 需求分析53.2 功能模块设计53.2.1 总体功能模块设计53.2.2 详细功能模块设计63.3数据库设计103.3.1 数据库设计概述103.3.2 数据库结构设计103.4 本章小结13第四章 系统实现144.1 系统开发配置144.2 前台功能模块实现144.3 后台功能模块实现224.4 本章小结28第五章 系统安装部署和简要使用说明295.1 系统运行环境说明295.1.1 服务器软硬件环境说明295.1.2 客户机软硬件环境说明295.2 系统安装部署说明29第六章 结束语30致谢31参考文献32河西学院信息技术与传媒学院毕业设计第一章 设计概述1.1 设计背景与意义随着现代互联网技术的飞速发展,计算机网络已应用在我们生活的各个领域并发挥着举足轻重的作用。网上书城凭其图书信息更新快、存储量大、达成交易安全性高、操作简便快捷等特点1,迅速走进人们的日常生活。通过计算机对图书销售的数据进行集中管理,可以随时查阅销售信息、发货信息、库存信息、财务信息从而做出正确决策2,消费者也可以随时关注商品的相关信息和物流信息,这对于现代年轻人而言,有着极大的吸引力,所以开发一套管理方便、安全、可靠、快捷的网上书城销售管理系统无论对于图书商家还是普通消费者而言都是一件非常有必要的工作3-5。1.2 同类或相关系统的开发现状在国外,影响较大的有美国的亚马逊,它成立之初只经营网络的书籍销售业务。现在则扩及了范围相当广的其他产品,已成为全球商品品种最多的网上零售商和全球第二大互联网企业6。亚马逊商城首页如图 1-1 所示:图 1-1 亚马逊商城首页图国内的网上书城,虽然起步较晚,但是由于我国人口基数大,需求量多,得力于人口红利的原因,所以我国网上书城的发展非常迅速。目前我国运作和销售较好的大型网上书店,如当当、京东、天猫、文轩网、99网上书城,经营模式主要包括:B2B、B2C、C2C。当当网首页如图 1-2 所示:图 1-2 当当网首页图1.3 选题的主要工作内容1. 首先学习了解了本系统在当今流行背景下的趋势和潮流,收集查阅关于 JSP技术在网上书城系统应用的相关参考文献资料,在当当网、亚马逊、京东商城、中国图书网、互动出版网等国内大型网上图书销售网站进行点击购书实践。 2. 利用JSP技术在网络上架构一个动态的电子购书虚拟网站,确定它的开发语言和开发工具以及相关技术等。 3. 然后进入系统主要设计研究阶段。根据需求分析及三层架构设计的思想,系统总的分为前台和后台两个子系统。根据网上书城特点,系统将前台定为顾客操作界面,后台为管理员操作界面。勾画出系统的总体框架、软件结构、数据流程图,完成系统概要设计,再完成前、后台模块的详细设计,实现系统各模块之间的整合,同时也完成了界面的设计和实现。1.4 本章小结本章主要介绍了课题的设计背景和意义,同类或相关系统的开发现状,分别从国外及国内进行介绍,最后介绍了选题的主要工作内容。为后续的工作奠定了坚实的基础。第二章 系统采用的相关技术2.1 MVC设计模式在系统中的应用MVC(ModelViewController 模型-视图-控制器)是被广泛接受和使用的一种软件设计典范7。其把一个软件应用分成了Model(模型)、View(视图)、Controller(控制器)三个部分,简化了系统的开发结构。本系统的开发遵循了 MVC框架的分层原则8。 2.2 SSH框架在系统中的应用本系统是用目前成熟的SSH框架为核心进行开发实现的,SSH框架是Struts+Spring+Hibernate三个开源框架的集成910。SSH框架为四层:控制层、业务逻辑层、数据持久层、和域模块层。系统使用SSH框架进行开发,完全遵循MVC设计模式,使得模型、视图、控制器三层分离,同时业务逻辑层和数据持久层也有效的隔离开来。2.2.1 Struts 2.0的应用Struts2.0是Struts的第二代产品,是在Web Work的技术基础上开发了全新MVC框架121314。Struts2是SSH的整体基础框架,使MVC分离得以实现。2.2.2 Spring 4.2.4 的应用Spring是一个开源框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来,为了解决企业级开发的复杂性而创建的,使用基本的Java Bean代替EJB。总的来说,Spring是一轻量级的控制反转(IOC)和面向切面(AOP)编程的容器框架16。Spring在SSH框架中充当着容器管理的角色,利用Spring的IOC(控制反转和依赖注入)机制控制着Struts所有的Action和业务逻辑处理类的生命周期,业务层的生命周期不再由Struts所控制,这样层与层之间实现了良好的解耦,有利于提高程序的开发效率,维护起来也更加方便。Spring在SSH框架中的另外一个作用是实现事务控制。我们在以往的系统开发过程中,当事务提交成功时,往往使用Try/Catch语句来完成异常的处理。但是使用Spring的时候却不可如此大费周章,事务处理模板(Transaction Template)已经集成于Spring当中。2.2.3 Hibernate 4.3.11 的应用Hibernate 是一个开源的对象关系映射框架,其对JDBC 作了轻量级的对象封装,使得Java程序员可以脱离底层sql语句并使用面向对象的编程思想来对数据库进行操作17。通过Hibernate使数据库表和持久化对象之间的映射得以实现,Hibernate同时提供了处理数据库的一系列方法,程序员在系统开发中只需修改配置文件和编写数据库表的映射文件即可。因此,开发人员对数据库的操作将会变得非常简单,减少了编写SQL语句使用JDBC操作数据库的时间,提高了程序的开发效率。2.3 Web服务器技术的应用本系统采用Tomcat作为Web服务器。Tomcat是一个免费的开源的Servlet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其它一些公司及个人共同开发而成。因Sun参与并支持了Tomcat的开发,Tomcat对最新的Servlet和Jsp规范都提供了良好的支持。2.4 MYSQL数据库的应用本系统采用MySQL数据库。MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB公司开发,目前属于Oracle公司。MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(关系数据库管理系统)应用软件之一。2.5 本章小结本章主要介绍了系统采用的相关技术,确定使用市场主流的SSH框架,遵循MVC设计模式,数据库采用开源的MYSQL数据库,将Tomcat作为Web服务器。第三章 系统分析与设计3.1 系统分析3.1.1 用户角色分析本系统的用户有三类,分别是超级管理员、普通管理员、普通用户。系统管理员实现对普通管理员、普通用户、商品信息、商品类别、用户订单等的增删改查功能,普通管理员实现除不能管理普通管理员外所有超级管理员实现的功能,普通用户只有购物功能。3.1.2 需求分析本网站是一个网上书城,供用户浏览然后购买书籍,所以本网站应具有登录、注册、加购物车、下单、支付、查看订单等一些商城必备功能。3.2 功能模块设计3.2.1 总体功能模块设计本论文所实现的网上书城分为前台和后台模块。前台模块实现了用户注册、用户登录、用户加购物车、订单用户查询、订单支付、图书搜索等功能,后台模块实现了前台管理、权限管理、图书信息管理、图书类别管理、订单管理、用户管理等功能。图 3-1 功能模块图3.2.2 详细功能模块设计3.2.2.1 系统前台设计1. 用户注册模块如果游客需要在本网上书城购买图书,则需要注册。用户的注册信息包括用户名、用户密码、注册邮箱等信息。注册页面对用户名、密码、邮箱等有相应的校验,如果用户相应项输入信息不对,则会有错误提示信息,注册成功则有注册成功的提示。用户注册流程图如图 3-2 所示:图 3-2 用户注册流程图2. 购物车模块用户在商品详情页面点击加入购物车按钮,会将该图书添加到购物车,购物车显示图书书名、购买数量、单价、总价等信息;点击继续购买会跳回书城首页,继续购买感兴趣的图书;点击删除会删除购物车中某一图书;在数量选择框里修改图书的数量,相应的价格也随之改变;点击结账会跳转到订单信息填写页面,要求用户填写相应的信息。购物车流程图如图 3-3 所示:图 3-3 购物车流程图3.订单查询模块用户点击已买到的商品,如果没有登录,就会跳转到用户登录页面,登录之后跳回书城首页,即可进行订单查询。订单查询会显示用户在本书城已提交的所有订单,订单包括的信息有图书数量、图书总价、收货人姓名、收货地址、收货人联系方式、订单编号、订单详细信息、订单状态。订单查询流程图如图 3-4 所示:图 3-4 订单查询流程图4. 图书搜索模块用户根据图书名关键字对图书进行搜索,结果为满足条件的图书信息列表。图书搜索模块流程图如图 3-5 所示:图 3-5 图书搜索流程图5. 订单支付模块用户下单之后可以对订单进行支付。3.2.2.2 系统后台设计1. 权限管理模块后台系统管理员对使用后台的人员进行权限管理。点击系统管理下的权限管理,会列出系统所有的管理员信息;点击添加,页面会弹出添加管理员对话框,要求输入管理员账号、管理员密码、选择管理员类型;点击编辑,可以修改管理员类型、名称、密码等信息。点击删除将删除一个管理员的全部信息。2. 用户管理模块系统管理员可以对前台已注册的用户进行管理,点击用户管理下的查看用户,后台会显示所有的用户信息列表;点击删除按钮,可以删除一条用户信息。3. 图书类别管理模块管理员可以对图书类别信息进行管理。点击商品管理下的分类管理会显示所有图书类别的信息;点击添加,添加图书新类别详细信息,需要录入图书类别、图书类别描述信息;点击编辑,可修改当前选择图书类别信息;点击删除可以删除当前选择一条图书类别。图书类别管理流程图如图 3-6 所示:图 3-6 图书类别管理流程图4. 图书信息管理模块管理员管理一本图书的详细信息。单击商品管理下图书管理链接,后台会呈现所有图书的详细信息。单击添加,要求输入图书名、图书类别、图书封面、图书编号、图书出版社、出版日期、作者、价格等信息;单击修改,可以对图书信息进行修改;单击删除,可以删除一本或多本图书,图书信息管理流程图如图 3-7 所示:图 3-7 图书信息管理流程图5. 订单管理模块后台管理员可以对客户下的订单做相应管理。点击订单管理链接,会根据订单状态,显示出已经支付订单和未支付订单,进一步点击会显示订单详情:订单编号、订单价格、收货地址、订单状态等详细信息。点击删除订单,可以删除一条订单记录。6. 前台管理模块管理员登陆以后可以对前台首页显示的数据进行动态管理。包括轮播图、商城公告、图书推荐、热门活动等信息的添加编辑删除。3.3数据库设计3.3.1 数据库设计概述数据库设计是指根据用户的实际需要,在某一特定的数据库管理系统上,建立及设计数据库,使之能够有效的地存储数据。数据库作为一个应用系统的核心和基础,它把应用系统中的数据按照一定的数据模型组织起来,可以更新、存储、检索、维护应用系统中的数据,与此同时,应用系统也能及时有效的从数据库中获取想要的数据。数据库是应用系统各个功能部分紧密联系在一起的桥梁,数据库的设计在系统开发中有着举足轻重的地位。3.3.2 数据库结构设计从前面的需求分析可知,要实现网上书城的各个功能部分需要建立相应的数据表进行数据的存储操作。表间关系图如图 3-8 所示:图 3-8 表间关系图1管理员表管理员表主要用来保存书城后台系统管理员的信息,该表的字段包括:管理员编号、管理员名称、登录密码、管理员权限类别。详细内容见表 3-1:表3-1 管理员表列名数据类型默认值说明AdminIdInt标识种子,自动递增(主键)AdminNamevarchar管理员账号AdminPwdvarchar管理员密码AdminFlagvarchar管理员权限2图书信息表图书信息表用来存储一本图书的详细信息,该表的字段包括:图书名称、图书作者、图书价格、出版日期、出版社、图书库存、图书封面等信息,详细内容见表3-2:表3-2 图书信息表列名数据类型默认值说明shopIdInt标识种子,自动递增(主键)shopNamevarchar图书名称picvarchar图书封面authvarchar图书作者stockInt图书库存publishervarchar图书出版社briefvarchar图书简介PriceInt图书价格countInt图书售出数量typeIDInt类型ID(外键)3图书类别表图书类别表主要用来保存图书的类别信息,该表的字段包括:图书类别编号、图书类别名称、类别描述,详细内容见表3-3:表3-3 图书类别表列名数据类型默认值说明typeIDInt标识种子,自动递增(主键)typeNamevarchar图书类别名称typeDescrvarchar类别描述4用户信息表用户信息表主要用来保存用户信息,该表的字段包括:用户编号、用户登录名、登录密码、注册邮箱,详细内容见表3-4:表3-4 用户信息表列名数据类型默认值说明idInt用户编号,自动递增(主键)namevarchar用户登录名pwdvarchar用户密码emailvarchar用户邮箱5订单信息表订单信息表主要用来保存订单信息,该表的字段包括:订单总价、订单时间、订单编号、用户名称、订单地址、支付状态,详细内容见表3-5:表3-5 订单信息表列名数据类型默认值说明idvarchar订单编号,uuid生成策略(主键)moneyDouble订单价格paystateInt支付状态ordertimevarchar订单时间receiverAddressvarchar订单地址user_idInt用户ID6订单详情表订单详情表主要用来保存所有订单详情,该表的字段包括:订单详情编号、图书编号、订单编号、订单中每本书的数量,详细内容见表3-6:表3-6 订单详情表列名数据类型默认值说明itemidvarchar订单项编号,uuid生成策略(主键)buynumInt商品数量order_idvarchar订单IDshop_idInt商品ID7用户地址表用户地址表主要用来保存所有用户的地址,该表的字段包括:地址编号、详细地址、用户ID,详细内容见表3-7:表3-7 用户地址表列名数据类型默认值说明adrIdInt地址编号,自动增长(主键)addrvarchar详细地址idInt用户ID8商品推荐表商品推荐表主要用来保存推荐商品的信息,字段与图书信息表一致。9. 轮播图片表轮播图片表主要用来保存首页轮播图片的信息。该表的字段包括:图片编号、图片名称、图片路径、图书ID,详细类容见表3-8:表3-8 轮播图片表列名数据类型默认值说明idInt轮播图片编号,自动增长(主键)namevarchar图片名imgvarchar图片路径shopidInt图书ID3.4 本章小结本章主要介绍了系统的分析与设计。从系统分析、功能模块设计、以及数据库设计三个方面阐述了实现该系统需要完成的工作。第四章 系统实现4.1 系统开发配置本系统采用的是SSH框架进行开发的,所以第一步需要完成的就是整合好Struts 2、Spring、hibernate。SSH框架以Spring为主体,其Ioc机制用来管理Struts2的action和hibernate的SessionFactory。整个框架的配置文件包括web.xml、struts.xml以及bean.xml。4.2 前台功能模块实现1. 首页展示不管是游客还是已注册用户通过首页链接都可以访问本页面,本页面有几个板块组成,分别是头部导航区,数据显示区和页脚部分。首页展示页面如下图 4-1 所示:图 4-1 首页展示页面2用户注册游客需要注册成为书城的用户才能在书城进行购书操作,用户注册首页界面展示如图 4-2所示:图 4-2 用户注册页面用户填写相应的信息,注册信息必须匹配相应规则,否则注册失败。注册信息输入正确之后点击注册按钮,即可注册成功,关键代码如下所示:public String register() throws ExceptionUser user = new User();user.setName(name);user.setPwd(MD5Utils.md5(pwd);user.setEmail(email);userservice.sava(user);return register;/daopublic void sava(User user) / TODO Auto-generated method stubsessionFactory.getCurrentSession().save(user);3. 用户登录游客注册成功后,来到登录页面,用户登录界面展示如图 4-3 所示:图 4-3 用户登录页面用户填写相应的信息,登录信息提交到后台查询,后台给前台响应,若账号密码以及验证码输入正确,则登录成功,否则登录失败。关键代码如下所示:public void login() throws IOExceptionUser user = new User();user.setName(name);user.setPwd(MD5Utils.md5(pwd);List list = userservice.login(user);Map session = ServletActionContext.getContext().getSession();if(list != null & list.size() !=0)User us = list.get(0);session.put(user, us)elseServletActionContext.getResponse().getWriter().print(true);/dao实现public List login(User user) / TODO Auto-generated method stubreturn sessionFactory.getCurrentSession().createQuery(from User as u where u.name=? and u.pwd=?).setParameter(0, user.getName().setParameter(1, user.getPwd().list();4商品列表页用户点击商品分类导航浏览时,页面会按照商品所属的typeid进行分类显示,商品列表页展示如图 4-4 所示:图 4-4 商品列表页面关键代码如下所示:public String showlist()PageModel pm = new PageModel();pm.setPageNo(pageNo);List list = shopservice.findbytype(typeID);List top = shopservice.findtop();MapString,Listrequest=(Map)ActionContext.getContext().get(request);request.put(list, list);request.put(tops, top);return showlist;5商品详情页用户在书城首页单击图书小图片,即可查看图书详情及相应评论信息。界面展示如图 4-5 所示:图 4-5 商品详情页关键代码如下所示:public String show()Mapreq=(Map)ActionContext.getContext().get(request);MapString, List request = (Map)ActionContext.getContext().get(request);shop shop = shopservice.findbyid(shopId);List top = shopservice.findtop();req.put(shop, shop);request.put(tops, top);return show;6购物车用户在书籍详情页面点击加入购物车会跳转到购物车页面,购物车界面如图 4-6 所示:图 4-6 购物车页面关键代码如下所示:public String show()shop shop = shopservice.findbyid(shopId);Mapsession=ActionContext.getContext().getSession();cart = (Map) session.get(cart);int num = 1;if(cart = null)cart = new HashMap();if(cart.containsKey(shop)num = Integer.parseInt(cart.get(shop);num+=1;cart.put(shop, num+);session.put(cart,cart);return show;点击继续购物按钮,会跳转到系统首页,用户可以继续购买图书;点击删除可以删除一本图书;点击“+”“-”按钮,可以修改图书购买的数量。点击确认并填写订单按钮,将会跳转到订单信息填写页面,页面展示如图 4-7 所示:图 4-7 订单详细填写页面7订单页面点击提交订单按钮,来到订单页面,页面展示如图 4-8 所示:图 4-8 订单生成页面关键代码如下所示:public String addorder()/从session中取出购物车Mapsession=ActionContext.getContext().getSession();User user = (User) session.get(user);if(user = null)return login;Map cart = (Map) session.get(cart);/根据地址id查找地址address addre = addressservice.findbyadd(address);Date now = new Date();SimpleDateFormat dateformat = new SimpleDateFormat(yyyy-MM-dd);order order = new order();Set orderitems = new HashSet();/遍历购物车 加入到订单项 再把订单项加入订单if(cart != null)for (shop s : cart.keySet() OrderItem oi = new OrderItem();oi.setP(s);oi.setBuynum(Integer.parseInt(cart.get(s);oi.setOrder(order);orderitems.add(oi);order.setUser(user);order.setOrderItems(orderitems);order.setReceiverAddress(addre.getAddr();order.setOrdertime(dateformat.format(now);order.setMoney(money);/添加订单orderservice.addorder(order);Maprequest=(Map)ActionContext.getContext().get(request);request.put(order, order);session.put(order, order);session.remove(cart);return addorder;8支付页面点击确认支付按钮,来到订单支付页面,页面展示如图 4-9 所示:图 4-9 订单支付页面4.3 后台功能模块实现系统后台页面如图 4-10 所示:图 4-10 系统后台页面1权限管理页面管理员单击权限管理,会显示管理员用户列表。页面如图 4-11 所示:图 4-11 权限管理单击添加,即可打开到新增管理员对话框,页面如图 4-12 所示:图 4-12 新增管理员页面关键代码如下所示:public String addApp()/封装数据manager mg = new manager();mg.setAdminName(AdminName);mg.setAdminPwd(AdminPwd);mg.setAdminFlag(AdminFlag);managerservice.add(mg);/System.out.println(AdminName.getBytes();try ServletActionContext.getResponse().getWriter().print(new JSONObject().fromObject(1); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();return null;单击编辑,即可打开到编辑管理员信息页面,页面如图 4-13 所示:图 4-13 管理员信息编辑页面关键代码如下所示:public String update()manager mg = new manager();mg.setAdminFlag(AdminFlag);mg.setAdminId(AdminId);mg.setAdminName(AdminName);mg.setAdminPwd(AdminPwd);managerservice.update(mg);/System.out.println(mg.toString();try ServletActionContext.getResponse().getWriter().print(new JSONObject().fromObject(1); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();return null;2图书类别管理页面管理员点击分类管理,会跳转到图书分类管理页面,如图 4-14 所示:图 4-14 图书分类管理页面单击添加,即可打开到新增分类对话框,页面如图 4-15 所示:图 4-15 添加分类页面关键代码如下所示:public void addType()shopType type = new shopType();/type.setTypeID(typeID);type.setTypeName(typeName);type.setTypeDescr(typeDescr);System.out.println(type);typeservice.add(type);try ServletActionContext.getResponse().getWriter().print(new JSONObject().fromObject(1); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();单击编辑,即可打开编辑分类对话框,页面如图 4-16 所示:图 4-16 编辑分类页面关键代码如下所示:public void update()shopType type = new shopType();type.setTypeID(typeID);type.setTypeName(typeName);type.setTypeDescr(typeDescr);typeservice.update(type);try ServletActionContext.getResponse().getWriter().print(new JSONObject().fromObject(1); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();单击删除,即可删除选择的当前分类,页面如图 4-17 所示:图 4-17 删除分类页面3图书管理页面管理员单击图书管理,会跳转到图书管理页面,页面如图 4-18 所示:图 4-18图书页面单击添加,即可打开到添加图书对话框,页面如图 4-19 所示图 4-19 添加图书页面单击编辑,即可打开到编辑图书对话框,页面如图 4-20所示:图 4-20 编辑图书页面关键代码如下所示:public void update() throws ExceptionString uuid = UUID.randomUUID().toString();String pic = fileFileName.substring(fileFileName.lastIndexOf(.);String sname=shop/+uuid+pic;String fname=savepath+sname;FileUtils.copyFile(file, new File(fname);shopType type = typeservice.gettype(typeID);System.out.println(shopId);shop sh = new shop();sh.setShopId(shopId);sh.setBrief(brief);sh.setShopName(shopName);sh.setAuth(auth);sh.setPic(sname);sh.setStock(stock);sh.setPublisher(publisher);sh.setType(type);sh.setPrice(Price);System.out.println(sh);shopservice.update(sh);try ServletActionContext.getResponse().getWriter().print(new JSONObject().fromObject(1); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();单击删除,即可删除选择的图书。4订单管理管理员点击订单管理,可查看付款订单和未付款订单。可跳转到相应订单管理页面,页面如图 4-21 所示:图 4-21 订单页面5商城用户管理管理员点击用户管理,可跳转到用户管理页面,页面如图 4-25 所示:图 4-22 商城用户管理页面4.4 本章小结本章主要介绍了系统的开发与实现。从前台功能模块和后台功能模块两个方面入手,对系统实现的功能进行了详细的说明,并附加有关键代码。第五章 系统安装部署和简要使用说明5.1 系统运行环境说明5.1.1 服务器软硬件环境说明服务器硬件配置:CPU : Intel 主频 2.33GHz以上 4核心 内存: DDR3 8G 双通道 硬盘: SATA硬盘 RAID 500G 服务器软件配置 :Jdk1.5版本以上+Tomcat+MySQL5.1.2 客户机软硬件环境说明能连接互联网的电脑,安装有浏览器,如IE、chorme等。5.2 系统安装部署说明首先,将我们的项目打成war包,复制到tomcat安装目录下的webapps文件夹,然后打开安装目录下的conf/server.xml文件。在Host节点下添加以下代码:/中文需根据自己环境目录替换最后到安装目录下的bin文件夹下找到“startup.bat”文件运行,等待运行完成在浏览器输入“http:/localhost:8080/项目名”,即可访问当前发布网站。29第六章 结束语本文主要介绍了基于java的网上书城的设计与实现,通过系统的需求分析,系统的详细设计,系统各项功能的实现等几部分来完成该系统。本文取得的重要成果有:1.对基于JSP 的网上书城系统进行了业务流程分析,并对系统的功能需求进行分析,并根据系统功能需求对系统进行设计,包括架构设计、功能设计、类图设计、时序图设计和数据库设计,确定了系统采用三层架构。2. 通过对系统的设计实现了网上书城系统。前台模块主要实现了图书展示、购物车、在线支付、用户注册、订单查询、系统公告等功能。图书展台实现了重点推荐、新书上架、图书分类浏览、和销售排行等功能;购物车实现了添加至购物车、查看购物车、清空购物车等功能;在线支付实现了订单支付功能;用户模块实现了注册成用户、用户登录和修改资料等功能;订单查询实现了对订单的查看。后台模块主要实现了后台登录、图书管理、用户管理、订单管理、公告管理等功能。图书管理实现了查看图书信息、添加图书信息、修改图书信息、删除图书信息等功能;用户管理实现了查看用户信息、订单管理实现了查看订单信息等功能;公告管理实现了查看公告信息、添加公告信息、删除公告信息等功能。由于自身经验欠缺以及时间仓促,对于系统和本文来说,还有许多地方可以进一步改进,主要是系统的架构设计方面,有关提高系统性能方面的设计还可以进一步优化和完善。31致谢大学生活一晃而过,回首走过的岁月,心中倍感充实,当我写完这篇毕业论文的时候,有一种如释重负的感觉,感慨良多。首先诚挚的感谢我的论文指导老师祁金佺老师。他在忙碌的教学工作中挤出时间来审查、修改我的论文。还有教过我的所有老师们,他们严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他们循循循善诱的教导和不拘一格的思路给予我无尽的启迪。感谢四年中陪伴在我身边的同学、朋友,感谢他们为我提出的有意义的建议和意见,有了他们的支持、鼓励和帮助,我才能充实的度过了四年的学习生活。河西学院信息技术与传媒学院毕业设计参考文献1 蔡秉坤.关于完善我国电子商务税收法律制度的若干思考J. 兰州交通大学学报 (社会科学版), 2010, 5: 92-94.2 李南南,孙秋碧. 信息服务业的概念及范围初探J. 现代情报, 2008, 12: 69-70.3 徐安妮.网络图书销售管理系统J. 电脑学习, 2010 (1): 32-34.4 胡海.基于B/S模式的网上图书销售系统D. 南昌大学,2013.5 林卓.基于JSP的图书超市系统设计与实现J. 山西大同大学学报,2009,25,(5):16-20. 6 百度百科亚马逊EB/OL. http:/baike.baidu.com/link 7 孙卫琴.精通 Struts:基于MVC的Java Web设计与开发M.北京:电子工业出版社,2004. 8 赖英旭,刘增辉,李毛毛.MVC模式在B/S系统开发中的应用研究J微计算机信息,2006(30)62-64. 9 李刚.整合Struts+Hibernate+Spring应用开发详解M.北京:清华大学出版社,2007.10 李霞.MVC设计模式的原理与实现D.吉林:吉林大学,2004 11 刘京华.Java Web整合开发王者归来M.北京:清华大学出版社,2010. 12 李刚.Struts2权威指南:基于Web Work核心的MVC开发M.北京:电子工业出版社,2007. 13 Budi Kurniawan深入浅出Struts2M北京:人民邮电出版社,2009. 14 舟.Struts2 技术
展开阅读全文