基于Java Web SSH框架的网上书店

上传人:仙*** 文档编号:29005669 上传时间:2021-09-23 格式:DOC 页数:54 大小:2.02MB
返回 下载 相关 举报
基于Java Web SSH框架的网上书店_第1页
第1页 / 共54页
基于Java Web SSH框架的网上书店_第2页
第2页 / 共54页
基于Java Web SSH框架的网上书店_第3页
第3页 / 共54页
点击查看更多>>
资源描述
X X 科 技 大 学毕 业 设 计( 论 文 )题目基于Java Web SSH框架的网上书店作者 学院 专业 学号 指导教师 2013 年 月 日X X 科 技 大 学毕业设计(论文)任务书 学院 系(教研室)系(教研室)主任: (签名) 年 月 日学生姓名: 学号: 专业: 1 设计(论文)题目及专题: 基于Java Web SSH框架的网上书店 2 学生设计(论文)时间:自 2013 年 月 日开始至 2013 年 月 日止3 设计(论文)所用资源和参考资料:1 徐建波 编著 Java Web 应用开发原理与技术M. 国防科技大学出版社2 (美) Y.Daniel Liang 编著 Java 语言程序设计进阶篇M. 机械工业出版社 3 戎伟 猛劼 苏微 编著 解密J2EE 项目开发的70个问题4 (美) Roger S.Pressman 编著 软件工程4 设计(论文)应完成的主要内容:基于Java Web 三大框架(SSH)技术开发的网上书店,包括前台展示和后台管理两个部分;其中前台展示包括登陆模块、注册模块、首页展示、图书展示、图书购买、产生订单;后台管理包括广告管理模块、用户管理模块、图书管理模块、订单管理模块。 5 提交设计(论文)形式(设计说明与图纸或论文等)及要求:(1)论文思路清晰,条理清楚,中心突出,内容充实,论据充分,结构紧凑,层次分明,图表清晰,格式规范,结论正确;按湖南科技大学本科生毕业设计(论文)要求与规范编排、打印文稿;(2)上交论文(纸质)打印文稿和系统源码(电子版);6 发题时间: 年 月 日指导教师: (签名)学 生: (签名)X X 科 技 大 学毕业设计(论文)指导人评语 主要对学生毕业设计(论文)的工作态度,研究内容与方法,工作量,文献应用,创新性,实用性,科学性,文本(图纸)规范程度,存在的不足等进行综合评价指导人: (签名)年 月 日 指导人评定成绩: X X 科 技 大 学毕业设计(论文)评阅人评语 主要对学生毕业设计(论文)的文本格式、图纸规范程度,工作量,研究内容与方法,实用性与科学性,结论和存在的不足等进行综合评价评阅人: (签名)年 月 日 评阅人评定成绩: X X 科 技 大 学毕业设计(论文)答辩记录日期: 学生: 学号: 班级: 题目: 提交毕业设计(论文)答辩委员会下列材料:1 设计(论文)说明书共页2 设计(论文)图 纸共页3 指导人、评阅人评语共页毕业设计(论文)答辩委员会评语: 主要对学生毕业设计(论文)的研究思路,设计(论文)质量,文本图纸规范程度和对设计(论文)的介绍,回答问题情况等进行综合评价答辩委员会主任: (签名)委员: (签名)(签名)(签名)(签名) 答辩成绩: 总评成绩: 湖南科技大学本科生毕业设计(论文)摘 要赶快写英文摘要,明天写完发给我改随着互联网技术的发展,网上购物越来越流行,而网上书店更是逐渐受到越来越多的人关注,不用涉及交通、不用到书店翻阅、即可看到全国各地的书籍价格、更加全面地搜索自己喜欢的书籍、需要的书籍。通过网络销售系统的平台,商家将拥有更大的市场,能更加及时快速地得到用户对于商品的反响,可以随时调整销售策略,提高商家的市场竞争力。对于消费者也提供了方便,消费者可以不受时间和地域的限制进行购物,并且可以获取更多信息.。本文阐述了如何构建基于B/S 架构,以Oracle数据库为基础,应用Java Web SSH框架的网上书店,系统主要完成以下基本的功能:主要是前台展示和后台管理两个部分;其中前台展示包括登陆模块、注册模块、首页展示、图书展示、图书购买、产生订单;后台管理包括广告管理模块、用户管理模块、图书管理模块、订单管理模块。本次课题主要采用java语言作为程序的开发语言,采用Oracle数据库作为数据库,MyEclipse6.5作为开发工作,运用PowerDesigner作为数据库建模工具,运用的知识还有JavaScript ,CSS, HTML 等知识。这两段修改如下:本文阐述了如何构建基于B/S 架构,以Oracle数据库为基础,应用Java Web SSH框架的网上书店,系统主要完成以下基本功能:前台包括注册与登陆、图书展示、图书购买、订单产生;后台管理包括广告管理、用户管理、图书管理、订单管理。本次课题设计采用的开发语言是java,数据库是Oracle,开发工具是MyEclipse6.5,数据库建模工具是PowerDesigner,此外还运用了JavaScript ,CSS, HTML 等知识。关键字:SSH框架;java;网上书店;B/S 架构;目 录第一章 引言- 1 -1.1 项目背景- 1 -1.2 项目目的- 1 -1.3 主要内容- 2 -第二章 系统理论和技术- 3 -2.1 MyEclipse 的简介- 3 -2.2 SSH框架的简介- 3 -2.3 B/S架构的简介- 5 -2.3 Java简介- 5 -2.4 Java Web工程的基本介绍- 6 -2.2.1 建立Web工程的基本步骤- 6 -2.2.2 Java Web 工程目录结构- 6 -2.3 Oracle数据库- 6 -2.3.1 Oracle 数据库简介- 6 -2.3.2 Oracle数据库的特点- 6 -第三章 系统需求分析与设计- 8 -3.1 可行性分析- 8 -3.2 功能需求分析- 8 -3.3 系统用例模型- 11 -3.3.1 普通用户用例图- 11 -3.3.2 管理员用例图- 11 -3.4 系统体系结构- 12 -3.5 数据库设计- 13 -3.3.1 数据库表E-R图- 14 -3.3.2 数据库表分析- 14 -第四章 系统实现- 16 -4.1 搭建开发环境- 16 -4.1.1 安装开发工具- 16 -4.1.2 开发软件的配置- 16 -4.1.3 建立web工程搭建开发框架- 17 -4.2 数据库实现- 17 -4.2.1 数据库表字段设计- 17 -4.2.2 数据库连接实现- 20 -4.3 前台主要功能模块- 21 -4.3.1 登陆功能的实现- 21 -4.3.2 注册功能的实现- 23 -4.3.3 首页功能实现- 25 -4.3.4 图书浏览功能- 27 -4.3.5 订单功能- 28 -4.3.6 购物车功能- 30 -4.10 后台管理功能- 34 -4.10.1 后台管理功能流程- 34 -4.10.2 用户管理- 35 -4.10.3 广告管理- 37 -4.10.4 图书管理- 38 -第五章 总结与问题分析- 41 -5.1 系统问题分析总结- 41 -5.2 开发过程中常见问题分析- 41 -第六章 总结- 44 -参 考 文 献- 45 -致 谢- 46 - ii - 第一章 引言 1.1 项目背景 随着网络技术的迅猛发展,越来越多的人热衷于上网。随着用户的不断增加,其规模迅速扩大,它的领域也走向多元化。除了原先的科学技术和教育外,Internet已进入了文化、经济、政治、新闻、体育、娱乐、商业和服务业。可以预见Internet将成为我们构筑未来崭新的生活方式。10电子商务就是在这样一个背景下产生和发展起来的。伴随着电子商务技术的不断成熟,电子商务的功能也越来越强大。书城交易网站就是Internet和电子商务发展的产物,近几年在我国发展迅猛,如同一些书店纷纷在各地开设分店以拉近书店与顾客间距离一样。随着科学技术的飞速发展,Internet已经成了普通百姓都可以初级的大中型媒体传播手段。随着现今全民素质和科学技术水平的不断提高,知识更新的越来越快。人们随时都会有被淘汰的危机,为了不让社会淘汰,做到与时俱进就必须多读书不断学习。21世纪是网络的时代、信息的时代,时间是非常的宝贵的。人们由于种种原因没有时间到书店去,也不知道哪家书店有自己需要的书籍,同时那些传统书店的经营者又没什么好的方法让人们知道我这就有顾客需要的书籍,这种买卖双方之间交流上的阻碍成为“网上书店”网站发展的原动力。网上书店的出现可以更好地解决这方面的问题。11网上书店在价格、时效性、品种、查询方式等方面都有优势。网上书店是一种直销方式,速度和价格上都有优势,在价格上一般网上书店都有7.5-9折的折扣,如果是特价书折扣就更多了,网上书店的书目数据是任何订购书目都无法比拟的,亚马逊网上书店有300多万种图书,另外还有音乐系列产品和其它教育产品,刚刚成立的北京图书大厦网上书店也有16万种书目数据,“中国寻书网”目前也有50万种书籍,年度将突破100万种图书,网上书店的书目除书名,著者,价格等信息外,还有封面,内容简介,目次,评论等详细信息。同时网上书店的目录查询功能也是传统的按某种分类规则编排的图书征订目录无法比拟的,其以关键词或主题从网上检索某类文献,查准率与查全率都有一定的保障。另外还有一些书更是以网站包销或总代理的形式进行销售,这就意味着一种全新的电子商务模式的开始。101.2 项目目的随着网络信息技术的高速发展,电子商务迅速发展。网上购物越来越流行。注册用户可以在网上搜索购买到自己想要的各种商品,让人们体会到了足不出户,便可随意购物的快感。而书籍作为一种文化的载体、智慧的结晶,一直是人们生活中必需的物品。由于书籍本身不像其他商品一样,存在多种必需当面检查质量。因此网上书店是发展的最迅速的。网上书店在价格、时效性、品种、查询方式等方面都有优势。因此开发一个网上书店是很有必要的。随着Java Web技术的发展,Java 语言尤其擅长B/S机构的系统开发。本次课题采用J2EE SSH框架 集合JSP、JavaScript、CSS、HTML等知识联合设计。主要的目的是:针对目前较流行的框架技术进行一定的了解和熟悉。体会框架开发Web应用程序的好处。掌握Struts框架实现MVC模式结构清晰,开发者只关注业务逻辑的实现的优点。熟悉掌握Hibernate框架对于数据库操作的基本方法和步骤,体会代码冗余时的复杂,熟悉hibernate基本编程步骤,了解数据库表和实体类一一对应的基本编程思想。掌握Spring框架的反转控制思想(Inverse Of Control) 和工程设计模式。掌握基本的XML 文件的配置,学会CSS+JS+JSP开发B/S结构模式的浏览器程序。通过本次课题的研究达到对于现在主流框架技术有一点的了解,懂得如何开发B/S架构的应用程序,对于现在网上书店系统业务流程有一点的认知。进一步推广网上书店的发展。1.3 主要内容近年来,随着Internet技术的迅猛发展,计算机网络给人们的工作、学习和日常生活带来很大的便利,同时开发Web的技术也在不断更新,框架技术日趋成熟,特别是B/S架构的提出,使得框架技术在B/S架构系统上的优势尤为突出。本课题采用SSH框架结合Servlet、JavaScript、JSP、XML 等技术,基于B/S结构开发的网上书店系统,主要就是框架技术的应用,掌握如何结合数据库知识和框架技术开发出高效、简洁、省事的系统。本论文具体章节安排如下:第一章:引言。介绍课题研究的背景和目的。第二章:系统开发相关的概念和理论以及技术。第三章:系统分析和设计。第四章:系统的实现。该部分是该课题的核心部分,包括开发运行环境构建,数据库实现以及根据需求分析和技术分析来实现系统的各个模块功能,使系统能够正常运行,包括开发过程中遇到的问题记载和分析。第五章:总结与问题分析。对本课题的重点难点做一个分析,提出对本系统需要改进与加强的地方。第六章:结束语。对本次课题研究的感想以及学到的知识和开发经验的一个总结和对后期开发的一个展望。- 2 -第二章 系统理论和技术2.1 MyEclipse 的简介MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,JavaScript,Spring,SQL,Hibernate。MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。12.2 SSH框架的简介SSH框架是指Struts 框架、Spring框架和Hibernate 框架的集成。是目前较为流行的一种Web应用程序开源框架。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理Struts和Hibernate。Struts 框架:Struts 是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。Struts的MVC设计模式使我们的逻辑变得很清晰。Struts 对Model,View和Controller 都提供了对应的组件。ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。Action 这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。所以Struts是Web框架技术的基础控制页面的跳转。Struts 框架流程图:图2.1 struts 框架流程图Spring 框架:Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。Spring 的反转控制(IOC)和面向切面编程(AOP)思想使我们的软件最大限度上解耦。Spring 的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。Spring在使用IOC容器作为构建所有架构层的完整解决方案方面是独一无二的。Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务。Hibernate 框架:Hibernate 框架是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。是用来解决传统程序上重复书写数据库连接、数据库关闭操作上的代码冗余的,提高五个接口来解决传统的JDBC操作,分别是Configuration 用来读取配置文件hibernate.cfg.xml 获取连接所需要的参数。SessionFactory 工厂方法负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象 Session 封装了基本的增、删、改、查方法负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。) Transaction 控制事务提交和回滚。Query负责各种数据库查询,不仅可以使用SQL语言还提供了HQL查询语言。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。2.3 B/S架构的简介改成“2.3 B/S三层架构”B/S 架构是指:(Browser/Server)浏览器/服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,事务逻辑的极少部分在前端(Browser)实现,在服务器端(Server)实现主要的事务逻辑,形成所谓三层3-tier结构。相对于C/S结构的“胖”客户端,使用者需要在电脑上安装相应的客户端软件来说,B/S结构是属于一种“瘦”客户端,在服务器端存放大多数或主要的业务逻辑,因此,B/S结构的系统不需要安装客户端软件,它运行在客户端的浏览器之上,系统升级或维护时只需更新服务器端软件即可,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。 B/S结构系统的产生为系统面对无限未知用户提供了可能。11 B/S体系结构图:图2.2基于B/S体系结构图2.3 Java简介是2.4Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。是由Sun Microsystems现在称Oracle公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专用社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景4。Java编程语言风格十分接近C、C+语言。Java是一个纯的面向对象的程序设计语言,它继承了 C+ 语言面向对象技术的核心,Java舍弃了C +语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。2.4 Java Web工程的基本介绍 2.2.1 建立Web工程的基本步骤以开放工具MyEclipse6.5为例。1. 建立Web工程 单击File-New-Web Project 在弹出的窗口输入工程名。2. 在工程子目录下的WebRootWEB-INFlib 目录下导入开发过程中用到的第三方jar包。3. 进行开发。相关的开发时用到的目录结构将在下面的篇章中介绍。2.2.2 Java Web 工程目录结构 1.SRC 该子目录下存放开发过程中编写的java源代码。在改目录结构下可以建立自己的包名。entity 一般存放开发过程中的实体类 DAO 存放开发过程中对数据库进行操作的类。biz 一般是业务逻辑类 action 存放控制页面请求的action类2.WebRoot 改子目录下一般有建立Web工程时生成的WEB-INF 文件夹和META-INF 文件夹,该目录下一般存放JSP页面和自己的JSP页面需要用到CSS、JS、以及一些文件和图片。CSS 通常放在自己在该目录下建立的CSS的文件夹中JS放置在JS的文件夹中3.WEB-INF 下有lib 目录 存放开发工程中用到的第三方jar包。web.xml 文件一般配置过滤器 filter 和servlet4.实体映射文件 xxx.hbm.xml 放置位置随便 一般存放在对应的实体包类,该文件配置的是实体类和对应的数据表之间的映射。5.hibernate.cfg.xml 配置的是与数据库连接相关的属性,存放在src下6.struts.xml 配置每个Action的文件,存放在src 下7.beans.xml 配置的是每个javaBean 在框架中 反转控制就是通过这个文件读取相应的属性值的。本节删除或者放到第四章前面2.3 Oracle数据库是2.52.3.1 Oracle 数据库简介Oracle 数据库是由甲骨文公司开发的一款重量量级的大型关系数据库,是目前最流行的客户/服务器(CLIENT/SERVER)或浏览器/服务器(B/S)体系结构的数据库之一 。2.3.2 Oracle数据库的特点完整的数据管理功能:1.数据的大量性。Oracle数据库是大型的数据,相比一般的小型、中型数据库,它能存放大量的数据,而且操作效率高。这也是Oracle数据库能应用于C/S,B/S 架构系统的原因。2.数据保存的持久性。3.数据的共享性4.数据的可靠性。分布式处理功能:1.具有灵活的体系结构。2 适应分布式管理和控制机构,DDBS 的机构符合企业分布的组织结构,允许各个部门对其自身数据实行局部控制,在本地插入、查询和维护。3 经济性能优越。4 系统的可靠性高、可用性好。由于数据库分布在多个场地,并有许多复制数据,即使在个别场地或个别通信链路上发生障碍,也不会影响到整个系统的崩溃。5 局部应用的响应速度快。 6 可扩展性好。开发性:全角与SQL Server只能在windows 平台上运行相比,Oracle 能运行在所有主流平台包括Windows(32位和64位)、Linux和不同分支的Unix。第三章 系统需求分析与设计3.1 可行性分析本次课题研究是基于java语言,采用较流行的SSH框架,开发的B/S架构的网上书店系统。由于开发工具和SSH框架都是开源的,所有经济上是可行的,而该研究课题仅仅是个人毕业设计所用,不存在市场价值,而技术上SSH框架适合该类B/S结构的系统开发。因此该课题可以开发。3.2 功能需求分析 功能需求分析阶段是软件开发前期必须的阶段。该过程是在编码前,综合调查市场需求,客户要求,经济效益以及时间和技术上多方面的因素得出系统该开发什么功能。需求分析一般分两个阶段,即需求获取和需求规格,需求获取是用自然语言清楚地描述用户的要求。需求规格的目的是确定需求的唯一性。需求分析通常是在综合考虑到影响因素后,确定系统有哪些功能,完成哪些功能。完善的需求往往为后续软件开发代来很多好处,往往通过需求分析可以避免开发过程中的很多问题。反而可以节约更多的时间。本研究课题是基于B/S 架构下开发的网上购物系统,由于不涉及到商业性仅仅是自己的一个研究性练习,所有功能大致和大多数网上购物系统功能一样。该系统功能分为前台部分和后台管理部分。前台部分包括: 用户登陆,注册,退出登陆,首页图书展示,图书浏览,广告展示,商品加入购物车,购物图书,生成订单及产生订单详细等功能。后台管理主要是对一些前台数据的管理包括:用户管理,广告管理,图书管理,订单管理等功能。其中每个功能模块包括UI设计和功能实现两部分。系统功能模块图如下图3.1所示:图3.1系统功能模块图居中1 用户登陆模块登陆功能在本系统中非常重要,本系统实现购买功能必须是在线用户。功能描述1. 对用户输入的用户名进行数据库匹配,存在用户然后匹配密码。功能描述2. 对存在的用户检查是否激活,激活了才能登陆成功进入首页,否则跳转到激活页面。激活码采用用户名+随机数产生。2 用户注册模块注册功能模块也是B/S架构系统必须具备的功能。功能描述1用户进行注册,用户名,密码格式是否正确 JS检查。功能描述2是否输入了所有的信息值 ,验证码检查,采用流输出。3 首页展示模块该功能模块是整个该B/S 架构系统最重要的部分,他是系统好坏的门户。功能描述1图书分类列出 从数据库中读取。功能描述2图书展示 。功能描述3广告展示 。功能描述4系统显示是否登录、是 显示退出 否显现登录。4 图书浏览功能功能描述1显示图书比较完整的基本信息。功能描述2可以选择每一页显示多少、按什么排序显示。5 添加产品到购物车功能功能描述1可以将喜欢的书添加到购物车。功能描述2购物车将存入session 并生成数据库 到时候下次登录可以直接查看。6 生成订单并产生订单详细功能描述1可以对相应的产品进行购买,生成相应的订单。功能描述2对下了的订单生成订单详细,方便发货。7 后台管理员登陆功能描述1管理员通过身份确认登陆到后台管理界面。8 后台用户管理功能描述1分页显示所有注册过的用户。功能描述2后台管理员可以对用户进行增、删、改。9 后台广告管理功能描述1显示数据库存在的广告功能描述2对广进行上传,存放到数据库10 后台图书管理功能描述1分页显示存在的图书。功能描述2后台管理员对图书进行增、删、改。11 后台订单管理功能描述1分页显示所有的订单。功能描述2可以对订单进行增、删、改。3.3 系统用例模型3.3.1 普通用户用例图注册用户登录后,可以浏览商品列表信息,购买商品,查看订单,订单退订,修改个人信息等。图 3.2 普通用户用例图3.3.2 管理员用例图管理员登录后,可以对图书,用户,订单,广告进行管理。对广告、图书、用户、订单进行基本的添加、修改、删除、查询等操作。图3.3 管理员用例图3.4 系统体系结构根据该网上书店的基本功能需求,该系统基本结构可分为前台部分和后台部分。而由于SSH框架的特点,前台和后台部分架构都是四层结构。分别为表现层、控制层、业务层、数据层。表现层:主要负责用户交互和结果显示,交易系统和管理系统有不同的URL 入口界面。 控制层:主要负责系统的访问控制、数据加载和注销,是系统的核心控制单元。控制层通过系统描述来组织工作。 业务层:实现了交易系统和管理系统的主要业务逻辑,是系统主要的运算单元。 持久层:实现了静态数据和数据库数据的持久化管理,为业务层提供数据服务,是系统进行数据操作的统一界面。 图3.4前台架构图3.5 数据库设计 本次系统主要是基于B/S架构的系统,存在大量的数据读入和取出,对数据库表的要求比较高,每个功能模块基本都涉及到了数据表。3.3.1 数据库表E-R图这个小标题删除图3.5系统数据E-R图3.3.2 数据库表分析这个小标题删除对于B/S系统的网上书店来说,数据的存储往往是难点,因为系统将有大量的信息,为管理好改系统,采用如下数据表存储系统信息。用户表:存储用户信息。包含用户账号,密码,昵称,性别,用户地址省份,城市等信息。广告表:存储广告信息。包含广告编号,广告图片路径,广告描述。图书表:存储图书信息。包含图书编号,图书名,图书市场价,图书书店价,作者,出版社,出版时间。图书类型表:存储图书类型信息。包含图书类型编号,类型名,父类类型编号。订单项表:存储单条订单项信息。包含订单项编号,订单编号,产品编号,产品市场价,产品书店价,订购数量,当前订单项积分。订单表:存储订单信息。包含订单编号,用户编号,订购时间,收货人,收货地址,总金额,电话。购物车表:存储购物车信息。包含购物车编号,用户编号,订单项编号,总售价,总书店价,总积分。第四章 系统实现4.1 搭建开发环境 本次课题采用J2EE SSH框架,开发工具采用MyEclipse6.5,数据库采用Oracle数据库,为方便操作数据库,采用oracle 客户端pl/SQL。对于开源框架导入工程jar包尤为最终要。开发所需要的软件如下:。开发软件介绍:JDK:Java 虚拟机 java 语言开发必须的编译器。版本1.6 以上。MyEclipse6.5:java 开发工具。服务器:Tomcat5.0 以上Oracle数据库:大型的数据库服务器。版本10g 以上。PL/SQL:针对oracle 数据库开发的一款界面操作客户端。Editplus 或者Dreamweaver:文本编辑器,开发html/JSP 页面工具。4.1.1 安装开发工具(1) 登陆,下载最新版JDK。这里下载的是jdk-6u7-windows-i586-p版本。(2) 安装JDK 1.6。(3) 安装MyEclipse6.5。下载网站(4) 安装Tomcat 服务器 ,在安装过程中可以修改默认端口8080。本次研究将端口改为8081 访问地址http:/localhost:8081/ 也可以在安装目录:tomcatconfserver.xml 配置文件中修改。(5) 安装Oracle 数据库,在安装过程中需要设置system/sys 数据库默认用户的密码还要端口1521,以及域名xe。4.1.2 开发软件的配置(1) 配置MyEcliplise6.5 默认JDK启动MyEclipse6.5 在工具栏 window -preferences -java-Installed JREs 在界面上单击add 然后单击Browser 选择你安装的的JDK。(2) 配置MyEclipse6.5 服务器window - preferences -MyEclipse Enterprise Workbench-servers-Tomcat 单击Tomcat6.x 在弹出的界面上,单击Browser 选择本地Tomcat 路径。4.1.3 建立web工程搭建开发框架MyEclipse6.5 建立Web工程很方便,但是由于Java 语言的特点,很多开源框架都用到了第三方的jar包 而这些jar包有时候会很容易导致jar包冲突,启动服务器时会报一些莫名其妙的错误。因而使用SSH 开源框架开发Web项目,适当导入jar包 避免jar包冲突很重要。1 建立Web工程 在工具栏 File -New-Web Project 在弹出的对话框 输入工程名,并选择java EE 1.5 默认是java EE 1.4。2 导入开发所需jar包在工程文件夹 WebRoot -WEB-INF -lib 导入开发所需的jar包4.2 数据库实现4.2.1 数据库表字段设计表4.1 用户表(d_user)字段名字段说明字段类型字段约束是否为空userId用户编号integer主键 非空email登录邮箱varchar(50)非空nickName用户昵称varchar2(30)检查约束非空password用户密码varchar2(30)检查约束非空sex用户性别varchar2(8)检查约束(男)province用户所在省份varchar2(20)city用户所在城市varchar2(20)Status用户状态Integer检查约束(0 1)eableMSG激活码varchar2(50)表4.2 广告表(d_advertise)字段名字段描述字段类型字段约束是否为空advertise_id广告编号integer主键非空image_path广告图片路径varchar2(200)非空description描述varchar2(100)表4.3 产品表(d_product)字段名字段描述字段类型字段约束是否为空productId产品编号integer主键非空imagePath产品图片路径varchar2(100)非空productName产品名varchar2(100)非空costPrice市场售价number(8,2)dangPrice系统售价number(8,2)非空author作者varchar2(40)publish出版社varchar2(50)publishTime出版时间varchar2(30)4.4 产品类别表(d_bookType)字段名字段描述字段类型字段约束是否为空typeId图书类型idinteger主键非空typeName类型名varchar2(20)parentId父类型idinteger4.5 订单表(d_orderDetailed)字段名字段描述字段类型字段约束是否为空orderDetailedId订单详细编号integer主键非空userId用户编号integer非空orderTime订购时间Date非空totalPrice总金额float非空receiveName收货人varchar2(50)非空receiveTime收货地址varchar2(200)非空postalCode邮政编码varchar2(10)非空mobile电话varchar2(15)非空表4.6 订单项列表(d_orderItem)字段名字段描述字段类型字段约束是否为空orderItemId订单项编号integer 主键否orderDetailedId订单详细编号integer否productId产品编号integer否count订购数量integer否dangTotalPrice系统价格float否costTotalPrice产品市场价float否sigleScore产品的积分integer否表4.8 购物车数据表(d_cart)字段名字段描述字段类型字段约束是否为空cartId购物车编号integer主键否userId用户编号Integer外键否dangTatalPrice 系统总价float否costPrice市场总价 float否toatlScore总积分integer否表4.7 后台管理员表(d_admin)字段名字段描述字段类型字段约束是否为空adminId管理员idinteger主键否login登陆账号varchar2(30)否password密码varchar2(30)否realName真实姓名varchar2(30)telephone电话varchar2(30)4.2.2 数据库连接实现Java Web SSH 框架技术连接是数据库,是通过Hibernate 框架技术访问的。Spring框架的SessionFactory 类将连接数据库操作分装起来,通过配置文件bean.xml 文件反转控制,连接数据库。核心代码: oracle.jdbc.OracleDriver jdbc:oracle:thin:127.0.0.1:1521:xe graduation wangjing org.hiberante.dialect.Oracle9Dialect true true com/wangjing/book/advertise/Advertise.hbm.xml com/wangjing/book/booktype/BookType.hbm.xml com/wangjing/book/product/Product.hbm.xml com/wangjing/book/user/User.hbm.xml com/wangjing/book/backstage/admin/Admin.hbm.xml com/wangjing/book/order/OrderDetailed.hbm.xml com/wangjing/book/order/OrderItem.hbm.xml com/wangjing/book/cart/Cart.hbm.xml 4.3 前台主要功能模块4.3.1 登陆功能的实现改成“登陆”系统的登陆界面(UI)设计如下图:图4.1 系统登陆界面用户在登陆本网上书店系统的时候,只需要输入正确的用户信息和用户密码,即可实现登陆,系统将进入首页,首页会显现用户昵称信息,表示已经成功登陆。如果用户信息错误,系统将进入到不同的页面。用户名不存在,系统将通过Action类跳转到注册页面,如果通过数据库验证用户存在,但状态未激活,系统将进入激活页面。登陆功能流程图入下图:图4.2 登陆功能流程图实现登录功能的主要方法:public String checkUserLogin(String email, String password,ActionContext action) / TODO 检查登陆是否成功User user = userDAO.queryUserByEmail(email);/ 账号不存在if (user = null) return notExit;if (user != null & user.getStatus() = 0) action.getSession().put(logined, user);return status;/ 登陆成功if (user != null & user.getPassword().equals(password) action.getSession().put(logined, user);return ok;return error;4.3.2 注册功能的实现改成“注册”注册页面(UI)设计:图4.3 系统注册界面用户通过登录界面的快速注册用户超链接进入注册界面,注册界面用户必须输入用户账号,用户昵称,昵称必须是字母,输入用户密码,密码由六位以上的字母或数字。通过单选框选择用户性别,通过下拉列表选择地址,用户必须输入验证码。正确输入用户信息后,注册成功,将进入激活页面。否则会在注册页面上显示错误信息提示。错误信息提示如下图所示:图4.4 注册报错页面激活页面(UI)设计:图4.5 激活界面图已经注册的用户可以在登录界面登录,但系统不会进入主页面,而是通过Action跳转到激活页面,在激活页面会显示当前用户的激活码。用户在激活页面可以通过输入显示的激活码,激活自己的账号。激活成功系统将进入登录界面。激活码算法是通过获取当前登录用户的邮箱,然后将字符串转换成字符,对应每一位乘以随机函数产生的数乘以10转换的整数,然后组成新的字符串,作为激活码。激活码算法如下:/ 产生激活码的算法public String createCodeString(String email) / 将数据char codeString = email.toCharArray();for (int i = 0; i codeString.length; i+) codeStringi += (int) (Math.random() * 10);/ System.out.println(new String(codeString);return new String(codeString);注册功能流程图如下图所示:图4.6 注册功能流程图4.3.3 首页功
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!