SSH网上书城的设计与实现(毕业论文12100字)

3997
    


来源:
Licence:
联系:
分类:
平台:
环境:
大小:
更新:
标签:
联系方式 :
免费下载 ×

下载APP,支持永久资源免费下载

限免产品服务请联系qq:1585269081

下载APP
免费下载 ×

下载APP,支持永久资源免费下载

下载APP 免费下载
下载 ×

下载APP,资源永久免费


如果出现不能下载的情况,请联系站长,联系方式在下方。

免费下载 ×

下载论文助手APP,资源永久免费

免费获取

如果你已经登录仍然出现不能下载的情况,请【点击刷新】本页面或者联系站长


Internet能带给我们知识、信息、机会、观念……甚至更多,它早已不是电脑专业人士的专利了,它已成为千千万万人士不可缺少的生活组成部分了

本文主要讲述了我毕业设计的主要目的是为客户设计一个实用的网上书城系统,让用户更好,更方便的购买书籍!在此次设计中我使用 Myeclipse8.6,DB2,tomacat6.0,FireFox为开发平台,设计并实现了一个网上书城系统

网上书城系统具有用户注册、购物、提交订单、付款等功能

今天的人们,无论身在何方,只要他们连入了互联网,利用各种网络中的传输技术(电子邮件、图文传输),便将他们联系在一起

尽管他们实际上是天涯海角

网络技术使这个世界变得小了,增进了人们之间的联系

网络的发展,刺激了新技术的诞生

其中JAVA技术是比较突出的,它一出现便立刻引起了人们的关注

Java是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向Internet的开发工具

自从1995年正式问世以来,Java的快速发展已经让整个Web世界发生了翻天覆地的变化

在早期,Java比较多的用在浏览器上,插入到网页中(即是Java Applet程序),成为最灵活、最强大的网页多媒体的载体,但由于Java虚拟机相对于个人电脑而言,有占用资源大,安全性相对较差等缺点,Applet逐渐的被后起之秀Flash所替代,但随着Java Servlet的推出,Java在电子商务方面开始崭露头角,最新的JSP(Java Server Page)技术的推出,更是让Java成为基于Web的应用程序的首选开发工具,目前的Java技术已成为所有大型电子商务项目的必然选择[2]

电子商务是通过电子手段来创造一个新的经济秩序,不仅涉及电子技术和商业交易中,涉及其他层面,如财政,税务,教育,社会,计算机网络的第二次革命

电子商务应相应分成两大类:企业组织-企业组织(Business-Business,B2B)型和企业组织-消费者(Business-Consumer,B2C)型

据统计,60%的电子商务活动的收入是B2B业务活动,明显比个人消费者,主要是为企业和企业,这是由于信息技术的程度和技术水平的企业组织,提供采购,销售和结算服务,如淘宝

B2C是我们最熟悉的,它直接为大众消费者服务,如苏宁易购

它通常是两种形式,一种是类似于一个大的商场,商场的柜台很多,用户可以直接去到柜台选择和购买自己满意的事情,然后去结账,商场的柜台及相关服务

并收集相应的计数器使用费;另一种形式类似的一家超市,里面摆放着大量的商品,消费者选择直接购买

一般意义上,一个完整的电子商务系统包括信息流、资金流与物流三个要素,三者相辅相成

信息流就是通过电子网络向客户揭示所售商品的有关信息,引导客户在网络上进行购物

资金流就是使客户在选择商品后,能够通过网络支付相关费用,一般包括预付款支付、网上银行支付、货到付款等多种形式

目前有些电子商务网站也可以接受邮局汇款

物流就是把客户所购买的商品通过物流配送系统送到客户手中,对于一些特殊行业和领域和电子商务,如证券、金融信息类商品,也可能不需要配送系统的支持就可以把商品送到客户手中(如股票、电子杂志、域名注册等)

在电子商务中,除了上述三个要素外,网络安全也是需要重点考虑的因素

据调查,有1/3的网民认为网络安全是影响其网上购物的因素,因此为了保证网络交易的安全,电子商务网站需要采用数据加密、电子签名等多种措施进行安全认证

对于读者来说,网上书店近在咫尺,并且永不下班关门,读者可以查询图书和下订单,读者并不需要亲自去书店,一档一档地找,一本一本地翻,只要坐在电脑前,直接开机上网就可以购买所需的书籍,读者的选择空间大多了,检索也很方便

网上书店节省了大量的时间,对于那些不经常访问的传统书店或居留远离的读者具有实际意义

在线图书销售肯定会取得了很大发展

网上书店是电子商务的一部分,电子商务应有的功能、网上书店也应该具有

作为商业软件的设计是相当不同的,网上书店并不完全一致,有的多,有的少

笔者认为,网上书店是一种无店铺的商店,人们不出门,在计算机联网的网络上作业,就可进行远距离的图书销售与订购

本次毕业设计的网上书店系统主要是以实现购书和定单的功能作为设计的重点,实现了网络书店的一些最基本和必须的功能,其他的详细复杂的功能并没有多大涉及

一、系统的开发工具和环境 (一)MyEclipse概述 MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率[3]

它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate

〖资料来源:56DOC.COM 毕业设计(论文)网〗 在结构上,MyEclipse的特征可以分为7大类:Java EE模型;WEB开发工具;EJB开发工具;应用程序服务器的连接器;Java EE项目部署服务;数据库服务;MyEclipse整合帮助

对于以上的每一种功能上类别,在Eclips中都有相对应的功能部件,并通过一系列的插件来实现它们

MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一个模块进行单独的扩展和升级

简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的Java EE集成开发环境,支持代码编写、配置、测试以及除错

MyEclipse6.0以后版本安装时不需安装Eclipse

(二)SSH框架 框架其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统

简单说就是使用别人搭好的舞台,你来做表演

而且,框架一般是成熟和不断升级的软件

框架(Framework)是一个系统的全部或部分可重复使用的设计,展现出一组抽象的部件和组件的实例方法之间的相互作用;另一种定义,框架可以是应用程序开发定制的应用骨架

前者是后者从应用程序的定义是从目的的方面

大名鼎鼎的SSH指的就是Struts,Spring, Hibernate

1.Struts2概述 Struts 2是在WebWork 2的基础上进行开发的,Struts2其实就是WebWork2.3,它和Struts1.x并没有关系

Struts2框架是由两部分组成:XWork2和Struts2

XWork是一个命令模式框架,它是Struts2的基础

XWork提供了很多核心功能:IOC(控制反转)容器、强大的表达式语言(OGNL)、数据类型转换、验证和可插入的配置

XWork框架的核心概念包括action、拦截器(interceptor)和result

Struts2扩展了这些概念的基础实现,用于支持Web应用程序的开发

拦截器可以在Action被调用之前和之后执行代码

Struts2框架的大多数核心功能都是通过拦截器来实现的

拦截器的工作原理如下图: Struts2的体系结构:当一个初始请求到达Servlet容器,它会经过一系列的标准Filter链,这些Filter链包括ActionContextCleanUp filter:发挥作用当集成像SiteMesh Plugin一类的技术,接着FilterDispatcher被调用,通过轮询参考ActionMapper决定一个请求和一个Action相关联!当 ActionMapper决定了一个Action的调用,FilterDispatcher委托ActionProxy控制, ActionProxy参考框架的配置文件管理,接着,ActionProxy生成一个ActionInvocation,它负责命令执行,这样调用任何拦截器先于调用Action一Acion执行完毕.ActionInvocation负责查找适当的结果以和struts.xml中的action result code相比较,结果一般是调用一个在JSP或FreeMarker中绘制的模板! 2.Hibernate的概述 Hibernate是一个开源的对象关系映射框架,JDBC非常轻量级的对象封装,使得Java程序员可以使用任意对象编程思维来操纵数据库[4]

Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任

这6个核心接口在任何开发中都会用到

通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制

下面对这6个核心接口分别加以介绍

Session接口:Session接口主要负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句

)

但需要注意的是Session对象是非线程安全的[5]

同时,Hibernate的session不同于JSP应用中的HttpSession

这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session

SessionFactory接口:SessionFactory接口主要负责初始化Hibernate

它充当数据存储源的代理,并负责创建Session对象

这里用到了工厂模式

需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory[5]

Configuration类:Configuration类主要负责配置并启动Hibernate,创建SessionFactory对象

在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象

它是可选的,开发人员也可以设计编写自己的底层事务处理代码

Query和Criteria接口:Query和Criteria接口主要负责执行各种数据库查询

它可以使用HQL语句或SQL语句两种表达方式

3.Spring的概述 Spring是一个开源框架,它由Rod Johnson创建

是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架[12]

Spring的应用框架如下: 轻量级(LightweightSpring):核心包容量小,资源负担很小

非侵入性(No intrusive):减少程序对框架API的依赖,让程序感觉不到框架存在,减低程序移植负担,增加程序组件可重用性 容器(Container):容器一旦启动,自动完成对象的寻找、实例化和装配,不 需要编写任何一行代码 IoC(Inversion of Control):Dependency Injection依赖注入

不需要在代码中来维护对象之间的关系,只需通过配置文件管理对象间的依赖关系(Spring容器自动管理)

AOP(Aspect-oriented programming):在不修改现有程序的情况,给程序加入新的功能

目的是使原有程序不用被修改,不用重新编译,使原代码保持简洁,重用性高

如果需要撤消新的功能也不需要修改原代码

封装包提供了一种比编程性更好的声明性事务管理方法

提供了常用的“对象/关系”映射APIS的集成层 WEB框架:集成各类WEB框架,也有自己的MVC实现

Core 封装包是框架的最基础部分,提供IoC和依赖注入特性

这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置[6]

Context(上下文) 封装包构筑于Core封装包的坚固基础上:它提供了用一种框架风格的方式来访问对象,有些像JNDI注册表

Context封装包继承了beans包的功能,还增加了国际化(I18N)(用于规范resource bundle),事件传播,资源装载,以及透明创建上下文,例如通过servlet容器[6]

DAO 提供了JDBC的抽象层,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码

并且,JDBC 封装包还提供了一种比编程性更好的声明性事务管理方法,不仅仅是实现了特定接口,而且对所有的POJOs(plain old Java objects)都适用[6]

ORM 封装包提供了常用的“对象/关系”映射APIs的集成层

其中包括JPA、JDO、Hibernate 和 iBatis

利用ORM封装包,可以混合使用所有Spring提供的特性进行“对象/关系”映射,如前边提到的简单声明性事务管理[6]

而且,利用source-level的元数据功能,还可以将各种行为信息合并到你的代码中,这有点象.Net的attribute的概念[6]

Spring中的 Web 包提供了基础的针对Web开发的集成特性,例如多方文件上传,利用Servlet listeners进行IoC容器初始化和针对Web的application context

当与WebWork或Struts一起使用Spring时,这个包使Spring可与其他框架结合

Spring中的 MVC 封装包提供了Web应用的Model-View-Controller(MVC)实现

Spring的MVC框架并不是仅仅提供一种传统的实现,它提供了一种 清晰的 分离模型,在领域模型代码和web form之间

并且,还可以借助Spring框架的其他特性

(三)DB2的概述 DB2是IBM公司研制的一种数据库管理系统,UDB是Universal Database,即通用数据库的简称

20世纪80年代初DB2的发展重点放在大型的主机平台上,从20世纪80年代中期到20世纪90年代初DB2已经发展到中型机、小型机以及微型机等多种平台上

它具有极强的伸缩性和扩充能力,数据库的使用和管理也非常方便

应用程序开发人员可以将XML数据直接存储在DB2服务器中,并且拥有搜索大量的XML数据的能力

1.DB2 提供了不同级别的产品,对小到个人用户,大到跨国企业的不同需求

2.Personal edition为个人用户设计的功能完备的个人数据库产品,允许用户在本地建立数据库,通过内置的客户端对远程数据库服务器进行管理,不支持响应远程请求

3.Express Edition功能全面的支持Web的客户机/服务器关系型数据库管理系统

DB2 Express 可以用于基于Windows和Linux的工作站

主要用于小型企业和部门的计算任务

4.Developer edition功能全面的支持Web的客户端/服务器关系型数据库管理系统

它可以用于所有支持的UNIX版本、Linux和Windows

它适合中型和大型的部门服务器,它包含了Express和Workgroup的所有功能,还添加其它功能

5.Workgroup server edition功能全面的支持Web的客户机/服务器关系型数据库管理系统

它可以用于所有支持的UNIX版本、Linux和Windows

主要用于小型企业和部门的计算任务

6.Enterprise server edition功能全面的支持Web的客户端/服务器关系型数据库管理系统

它可以用于所有支持的UNIX版本、Linux和Windows

它适合中型和大型的部门服务器,它包含了Express和Workgroup的所有功能,还添加其它功能

其二是面向管理员部分,包括:图书管理

A.查看图书详细信息 在书列表中点击图片或书名进入详细信息 详细信息中应显示:图片,书名,价格,图书描述,作者,出版社,出版日期,作者描述,评级,评级人数,打折情况,库存,是否上架

B.点击购买单个图书 在书类表中的每个图书需要有购买按钮 图书详细信息中需要有购买按钮 点击 购买 进入订单模块,显示此图书的订单 6)订单模块 A.订单列表 首页需要有 我的订单 链接入口 点击进入订单列表 列表显示:订单编号,书名,下单时间,单价,购买数量,订单状态,支付方式,删除

C.付款 订单详细中需要有付款按钮,点击进入付款模块 C.删除订单 列表中的每订单需要有删除按钮,根据订单编号,点击删除订单 7)付款模块 A.选择付款方式 选择易付宝:记录易付宝帐号(必须激活) 给易付宝充值,目前是使用后台手工充值 返回订单列表 2.面向管理员部分 1)管理员登录模块 支持用户登录,需要输入:用户名,密码两者是缺一不可,否则会报相应的错误提示 登录成功则进入管理员首页, 2)图书管理模块 A.新增图书 图书列表需要有 新增图书 按钮 点击 新增图书 添加图书,需要填写字段:图片,书名,价格,图书描述,作者,出版社,出版日期,作者描述,评级,评级人数,打折情况,库存,是否上架

点击确定返回列表 B.修改图书 列表中的每本图书需要有修改按钮,可以修改的字段:图片,书名,价格,图书描述,作者,出版社,出版日期,作者描述,评级,评级人数,打折情况,库存,是否上架

其二是面向管理员部分,包括:管理员登录模块,图书管理模块

2. 为项目添加Struts能力 1)右键点击项目,选择MyEclipse->Add Struts Capabilities,或者点击菜单栏中MyEclipse->Project Capabilities->Add Struts Capabilities

2)选择struts2.1版本 3)点击下一步,选择Struts Core(核心库)和Struts 2 Spring(包含集成Spring插件)的两个最基本库,其他根据需要可以添加

struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* 3.为项目添加Spring能力 1)右键点击项目,选择MyEclipse->Add Spring Capabilities,或者点击菜单栏中MyEclipse->Project Capabilities->Add Spring Capabilities

2)选择Spring3.0版本,类库选择 Spring 3.0 AOP、Spring 3.0 Core、 Spring 3.0 Persistence Core、Spring 3.0 Persistence JDBC、Spring 3.0 Web 5个库,并勾选复制到本地WEB-INF/lib目录

3)点击下一步,默认配置不需修改

2)选择Hibernate3.3版本,如果要使用注记可选中启用annotation,但是会对后续自动生成实体类造成麻烦,不选就是用xml文件形式进行实体类映射,默认勾选Hibernate 3.3 Annotation & Entity Manager、Hibernate 3.3 Core Libraries两个类库,复制jar文件到本地WEB-INF/lib文件夹下

3)点击下一步,选择使用Spring的配置文件applicationContext.xml,这样就不会生成hibernate.cfg.xml,生成与否看个人习惯

4)点击下一步,选择已经存在的applicationContext.xml文件的位置以及创建sessionFactory的名字 5)下一步,选择已经建立好的数据库连接DB2 6)点击下一步,取消勾选,不生成HibernateSessionFactory类 7)点击完成,查看工程,applicationContext.xml文件中增加了数据库连接的配置,包括datasource和sessionFactory 5.配置数据源 在Myeclipse右上角选择Myeclipse Database Explorer,打开数据库管理视图

在Database Driver对话框中按照配置选择数据库驱动

首先选择Driver Template,在这里我们选择DB2,Driver Name是DB2,url:jdbc:db2://localhost:50000/BOOKS Username:db2admin;password:db2admin 点击Add JARs添加数据库驱动文件

为方便配置,可以选择Save password保存密码,配置完毕后Finish即可

A.首页设计 在首页上的热销书榜,是根据数据库中评价人数最多的挑选出来的

用户只有进行注册,并填写了收货地址才能进行图书的购买

点击“用户注册”将出现注册页面,输入相应信息,如果格式不符合要求将出现相应提示

注册成功后,点击“登录”出现登录网页,输入用户名密码点击“登录” 出现登陆后的欢迎语

然后可以点击购买,进行购书

C.登录界面 为了检验用户是否合法,所以需要输入用户名和密码来验证用户的合法性,用户登录模块刚好完成这样的一个功能

需要设计一个表单让用户输入信息

登陆成功后,跳到首页,并在首页显示 “XX欢迎你”的字样

最后在页面上显示一个表格,里面信息有地址编号,用户编号,收获人姓名,手机号码,固定号码,邮政编码,是否默认,删除,编辑

E.购书功能模块 在此页面中,可以看到图书的各种信息:图片,书名,价格,图书描述,作者,出版社,出版日期,作者描述,评级,评级人数,打折情况,库存,是否上架

点击“确认购买”购书订单下单成功

F.购物车-我的订单界面 在此页面中,有订单状态:等待付款,已付款

G.易付宝激活页面 初次购买图书时,易付宝是必须要激活的,输入易付宝账号,点击激活,此时账户余额为0,这是我采用的是后台给予充值,刷新后,点击确认支付,页面跳转到我的订单,此时订单状态变为已支付

(2)管理员 A.管理员登录界面 为了检验用户是否合法,所以需要输入用户名和密码来验证用户的合法性,管理员登录模块刚好完成这样的一个功能

需要设计一个表单让管理员输入信息

登陆成功后,跳到管理员首页


免费下载 ×

下载APP,支持永久资源免费下载

下载APP 免费下载
温馨提示
请用电脑打开本网页,即可以免费获取你想要的了。
扫描加我微信 ×

演示

×
登录 ×


下载 ×
论文助手网
论文助手,最开放的学术期刊平台
				暂无来源信息			 
回复
来来来,吐槽点啥吧

作者联系方式

×

向作者索要->