基于SSH的网站设计毕业设计论文.docx
《基于SSH的网站设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于SSH的网站设计毕业设计论文.docx(59页珍藏版)》请在冰豆网上搜索。
基于SSH的网站设计毕业设计论文
摘要
当当网是一个目前正在运营的大型电子购物网站。
此处所演示的系统只是模拟其部分系统功能(以下借用当当网作为演示系统的名字)。
用户可以通过Internet技术访问当当网,当当网基本实现用户在线访问并享受购物等服务内容。
本文主要内容是介绍当当网的功能以及具体的开发流程与设计思想,同时了解JAVA企业级WEB程序的开发流程与相关技术掌握。
通过开发一个购物网站系统,达到J2EE编程人员入门开发要求。
SUMMARY
Dangdangisalarge-scaleelectronicshoppingsite.ThissystemisdemonstratingpartofthefunctionofDangdang(borrowDangdangnameasthisdemonstrationsystem).UserscanaccessDangdangbyInternettechnology,youcanreadtheinformationhere,andenjoytheshoppingorotherservices.ThemaincontentofthispaperistointroduceDangdangnetworkfunctionsaswellasspecificdevelopmentprocessanddesignideas,whileunderstandingthedevelopmentprocessofJ2EEprogramandthemasterofrelatedtechnology.ThroughthedevelopmentofashoppingsitesystemtoreachtherequirementsofJ2EEprogrammerentry.
关键字:
当当网、Internet、电子购物、WEB开发、JAVA、ShoppingOnline
摘要……………………………………………………………………………
目录……………………………………………………………………………Ⅱ
前言……………………………………………………………………………1
第一章当当网概述……………………………………………………………2
1.1市场背景………………………………………………………………2
1.2名词解释………………………………………………………………3
1.3功能介绍………………………………………………………………4
1.3.1功能结构…………………………………………………4
1.3.2功能描述…………………………………………………4
1.3.3页面展示…………………………………………………6
第二章当当网的详细设计……………………………………………………12
2.1交易系统架构…………………………………………………………12
2.2技术体系………………………………………………………………13
2.3访问控制设计…………………………………………………………14
2.4数据库设计……………………………………………………………15
2.4.1结构图……………………………………………………15
2.4.2数据实体描述……………………………………………15
2.5功能需求实现的详细设计以及工程结构……………………………18
2.5.1功能需求实现详细设计…………………………………18
2.5.2工程结构…………………………………………………19
2.6模型设计………………………………………………………………20
2.6.1控制层设计………………………………………………20
2.6.2业务层设计………………………………………………20
2.6.3拦截器设计………………………………………………25
2.6.4工具类设计………………………………………………26
2.6.5持久层设计………………………………………………27
2.6.6视图层设计………………………………………………32
2.7个人在设计中的工作说明……………………………………………39
总结……………………………………………………………………………40
附录……………………………………………………………………………41
参考文献…………………………………………………………………………44
前言
中国的电子商务行业,XX在五年前做过调查,在搜索引擎中输入“网购”,只有百分之十的资讯跟其有关,而现在再搜索,则有百分之六十的资讯是有关网购的,可见这一新兴行业的发展势头的迅猛。
现在进行网购的人们欲来越多,使用频率也越来越高,这就是一个趋势性行业。
电子商务,离不开网络平台,数据的安全与稳定性是最重要的。
淘宝网去年在双十一节当天,16个小时的销售额突破20亿元,订单突破1000万。
面对如此庞大的数据流,一个安全的、稳定的、可持续化运作的网络服务平台必不可少。
而对于实现这样的系统要求,不仅要掌握所要使用的开发技术,还要求规范化、结构化、流程化的开发,以达到一个稳定性高、易维护、易扩展的强大系统。
第一章当当网概述
1.1市场背景
近年来随着计算机的日益普及和网络(特别是因特网)的迅速发展,在全球范围内形成了一种新的企业经营方式,他们把所有的商业活动和贸易往来电子化,利用发达的网络环境进行快速有效的商业活动。
这就是最近成为世界上最热门的话题:
电子商务。
其实,电子商务这个概念起源于七十年代,在那时,一些大公司通过建立自己的计算机网络实现各个机构之间、商业伙伴之间的信息共享、交换,这就是广为流行的电子数据交换(EDI)。
电子数据交换是一种为满足企业需要而发展起来的先进技术手段,必须遵照统一的国际标准。
EDI通过传递标准的数据流可以避免人为的失误,大大地降低成本、提高效率。
现在,因特网为电子商务带来了飞速的增长,电子商务会越来越成为主流的商务活动方式,但EDI是电子商务的基础,并且EDI技术已经摆脱了以前旧式的昂贵的公司独立网络,而融入到因特网中。
当今世界网络、通信和信息技术的发展,Internet在全球迅速普及,使得商业空间发展到全球的规模,同时也使得现代商业企业需要具有不间断地供货能力、不断增长的客户需求和不断增长的全球竞争三大特征,这使得任何一个商业组织都必须调整自己的经营方式和产业结构,以适应新的市场发展的需要。
因此,任何一个企业要在21世纪生存,就必须迅速地改变传统的经营观念,跟上当今世界发展的最新潮流,加入到电子商务大潮中。
那么,什么是电子商务?
简单地讲,电子商务利用现有的计算机硬件设备、软件和网络基础设施,通过一定的协议连接起来的电子网络环境进行各种各样商务活动的方式。
更广泛地说,凡是利用国际互联网进行商务活动的一种方式就是电子商务。
电子商务以其高效率、低廉、高收益、全球化等传统经营方式所无法比拟的优点受到全球的关注。
美国、欧盟等发达的国家或组织已经采取措施大力发展电子商务。
我国政府也大力倡导电子商务。
专家预测,公司和公司之间的电子商务贸易额将从1997年的56亿美元发展到2002年的2680亿;个人网上购物将从1997年的18亿发展到2002年的260亿。
因此,电子商务中蕴涵着无穷的商业机遇。
1.2名词解释
ØB/S:
Browser/Server(浏览器/服务器)。
ØC/S:
Client/Server(客户端/服务器)。
ØB2B:
BusinesstoBusiness商家对商家,电子商务的一种业务形式。
ØB2C:
BusinesstoConsumer商家对顾客,电子商务的一种业务形式。
ØC2C:
ConsumertoConsumer顾客对顾客,电子商务的一种业务形式。
ØCSS:
是CascadingStyleSheets(层叠样式表)的简称,CSS语言是一种标记语言,它不需要编译可以直接由浏览器执行。
ØHTML:
HypertextMarkupLanguage超文字标记语言。
ØJAVASCRIPT:
一种由SunMicrosystems所开发的程序脚本语言(它是一种严密的物件导向的语言,适合在网际网络上发展主从架构的应用程序),常常简称JS。
ØStruts2:
MVC框架,负责请求和业务处理之间的转发。
开发大型和企业级系统时,对系统的结构、安全性、稳定性要求高时,常采用Struts框架。
Struts2与Struts1有很大区别,该框架是基于WebWork发展而来。
ØJquery:
一个javascript框架,用于javascript客户端编程。
简化js编程,加快开发速度。
ØAJAX:
Ajax是一系列技术的综合应用,包括XMLHttpRequest,javascript,xml,json(JavaScriptObjectNotation),html,css…可以节省网络资源,提升用户体验。
ØJDBC:
JAVA中的数据库连接技术
ØDbcp:
数据库连接池,用于自动控制数据库的连接对象,大大提高系统效率和节省资源
ØServlet:
sun公司制定的一种用来扩展web服务器功能的组件规范,使得web服务器可以处理动态资源请求.只能使用java语言来开发、不依赖于容器、能作java类所做的事情,包括访问数据库等。
ØJSP:
本质是servlet技术,因为直接使用servlet来生成动态页面,虽然可行,但是过于繁琐,并且代码很难维护(比如页面发生改变,需要修改servlet),所以为了更方便生成动态页面,sun开发了jsp技术。
1.3功能介绍
1.3.1功能结构
当当网是一个WEB服务平台,基于B/S(Browser/Server)的开发模式,部署于服务器端,客户端借助浏览器访问服务器。
(详细结构见下页结构图)
1.3.2功能描述
通用WEB应用系统,包括交易系统和管理系统两个独立的子系统,主要包括:
商品展示、购物车管理、我的订单、用户管理、商品管理五个功能模块。
Ø交易系统功能描述
✓商品展示:
实现分类展示、商品预览、商品明细功能。
✓购物车:
实现添加商品、删除列表、恢复列表、数量修改、清空购物车、结算功能。
✓我的订单:
实现订单确认创建功能。
✓用户管理:
实现登入/登出、用户注册功能。
Ø管理系统管理描述(未实现)
✓用户管理:
对于系统管理员提供用户删除、用户查询功能。
商品管理:
实现商品列表、商品发布、商品删除、商品修改功能。
✓
1.3.3页面展示
Ø1商品展示
Ø2购物车
✓修改数量
✓删除商品
✓恢复商品
清空
✓结算
Ø3订单管理
订单生成
Ø4用户管理
登入登出
用户注册
✓用户验证
第二章当当网的详细设计
2.1交易系统架构
交易系统在系统架构方面,采用4层结构,主要包括:
表现层、控制层、业务层、持久层。
表现层:
主要负责用户交互和结果显示,交易系统和管理系统有不同的URL入口界面。
控制层:
主要负责系统的访问控制、数据加载和注销,是系统的核心控制单元。
控制层
通过系统描述来组织工作。
业务层:
实现了交易系统和管理系统的主要业务逻辑,是系统主要的运算单元。
持久层:
实现了静态数据和数据库数据的持久化管理,为业务层提供数据服务,是系统
进行数据操作的统一界面。
2.2技术体系
◆使用的开发语言:
JAVA
◆开发环境:
Linux(orWindows7)+JDK6.0+MyEclipse8.5+MySQL+Tomcat6.0
◆运行环境:
Linux(orWindows7)+JDK6.0+MySQL+Tomcat6.0
◆系统技术架构:
服务器:
Tomcat
开发环境:
MyEclipse
数据库:
MySQL
mvc框架:
Struts2
客户端脚本:
html,css,javascript,jQuery,jquery.validate.js(校验)
局部刷新,脚本于服务器交互:
Ajax技术
数据库访问:
JDBC,dbcp(连接池)
邮件发送:
JAVAMAIL
◆设计思想:
分层思想:
表现层(js,css,jsp)+控制器层(struts2控制器)+业务层(JavaBean,可以用Action充当,也可以将Action当控制层,调用Service组件)+数据访问(JDBC+DAO)
解耦:
采用工厂模式
2.3访问控制设计
流程说明:
编号
消息名称
消息说明
1
HttpServletRequest
浏览器发来的HttpServletRequest请求
2
ActionForm
通过ActionForm获取Struts加载的页面表单数据
3
Exectule
根据struts-config.xml配置调用指定的Action指定的方法处理请求
4
ActionForm.getXxx()
通过ActionForm获取页面表单数据
5
BusinessFactory.getBusiness
获得Business对象
6
BusinessMethod
调用业务逻辑
7
Import
使用Pojo进行数据操作
8
DAOFactory.getDAO
获得Dao对象
9
DaoMethod
调用Dao方法,执行数据库操作
10
Returnexecutionresult
返回Dao执行结果,给Business
11
Returnexecutionresult
返回Business执行结果,给Action
12
ActionForward.findForward
Action返回执行结果给新的画面(Struts-Config.xml配置)
13
HttpServletResponse
返回处理结果给浏览器
2.4数据库设计
2.4.1结构图
2.4.2数据实体描述
Ø用户表(d_users)
字段名称
类型
约束
描述
id
Int(12)
Primarykey
用户id
email
Varchar(50)
notnullunique
用户注册所用的email账号
nickname
Varchar(50)
defaultnull
用户昵称
password
Varchar(50)
Notnull
用户密码
user_integral
Int(12)
Notnulldefault‘0’
用户积分
Is_email_verify
Char(3)
记录用户是否验证邮箱账号,”T”表示验证,”F”表示未验证
email_verify_code
Varcha(50)r
Defaultnull
用户的邮箱验证码
last_login_time
Bigint
Defaultnull
用户最后一次登录系统的时间
last_login_ip
Varhcar(15)
Defaultnull
用户最后一次登录的ip地址
Ø用户收货地址表(d_receive_address)
字段名称
类型
约束
描述
id
Int(12)
primarykey
地址id
User_email
Varchar(50)
Notnull
当前用户登录时的email
Receive_name
Varchar(20)
Notnull
地址名称
Postal_code
Varchar(8)
Notnull
邮政编码
Mobile
Varchar(15)
Defaultnull
用户手机
Phone
Varchar(20)
Defaultnull
用户电话
Ø类别表(d_category)
字段名称
类型
约束
描述
Id
Int(12)
Primarykey
类别id
Turn
Int(10)
Notnull
此类别在同子类别中的位置序号
En_name
Varchar(200)
Notnull
类别的英文名
Name
Varchar(200)
Notnull
类别的中文名
Description
Varchar(200)
类别信息的介绍
Parent_id
Int(10)
父类别的id
Ø商品表(d_product)
字段名称
类型
约束
描述
Id
Int(12)
Primarykey
商品id
Product_name
Varchar(100)
Notnull
商品名称
Description
Varchar(100)
Defaultnull
商品描述
Add_time
Bigint(20)
Defaultnull
商品添加的时间
Fixed_price
Double
Notnull
商品的一般价格
Dang_price
Double
Notnull
商品的当当网价格
Keywords
Varchar(200)
Defaultnull
关键字
Has_deleted
Int
(1)
Notnulldefault‘0’
是否属于下架商品
Product_pic
Varcahr(200)
Defaultnull
商品图片
Ø商品与类别关系表(d_category_product)
字段名称
类型
约束
描述
Id
Int(12)
Primarykey
Id号
Product_id
Int(10)
Notnull
商品id号
Cat_id
Int(10)
Notnull
商品所属的类别号
Ø商品书的信息表(d_book)
字段名称
类型
约束
描述
Id
int(12)
Primarykey
Id号
Author
Varhcar(200)
Notnull
作者
Publishing
Varcahr(200)
Notnull
出版社
Publish_time
Bigint(20)
Notnull
出版时间
Word_number
Varhcar(15)
Defaultnull
字数
Which_edtion
Varchar(15)
Defaultnull
修订版本号
Total_page
Varchar(15)
Defaultnull
总页数
Print_time
Int(20)
Defaultnull
印刷时间
Print_number
Varchar(15)
Defaultnull
印刷次数
Author_summary
Text
Notnull
作者简介
Catalogue
Text
Notnull
书评价
Ø订单表(d_order)
字段名称
类型
约束
描述
Id
Int(10)
Primarykey
Id号
User_email
Varchar(500)
Notnull
用户邮箱
Order_time
Bigint(20)
Notnull
订单创建时间
Order_desc
varchar(100)
Defaultnull
订单描述
Total_price
Double
Notnull
总的交易额
Receive_name
Varchar(100)
Defaultnull
收货人名称
Full_address
Varchar(200)
Defaultnull
收货地址
Postal_code
Varchar(8)
Defaultnull
邮政编码
Mobile
Varchar(20)
Defaultnull
手机号码
Phone
Varchar(20)
Defaultnull
电话号码
Ø已经购买过的商品信息表(d_item)
字段名称
类型
约束
描述
Id
Int(10)
Primarykey
Id号
Order_id
Int(10)
Notnull
订单id号
Product_id
int(10)
Notnull
产品id
Dang_price
Double
Notnull
产品的当当价格
product_num
Int(10)
Notnull
产品数量
2.5功能需求实现的详细设计以及工程结构
2.5.1功能需求实现详细设计
一、商品的浏览:
分为分类浏览区、热销图书区、新书热卖区、最新上架图书区、编辑推荐区
a)分类浏览区:
为了实现类别的浏览,再设计类别的实体类的时候,可以加一个类型为List的属性,用来存储当前类别的子类别信息,然后于页面用jstl进行迭代输出;
b)热销图书区:
热销图书是根据商品的购买量来进行展示的区域,实现这个功能需求,只需要去数据库查已经被购买过的商品信息,然后根据数量排序输出;
c)新书热卖区:
与热销图书实现方法一样,不过多加一个时间条件,要求所展示的热卖商品必须是某一个时间之后上架的;
d)编辑推荐区:
由于系统没有商品管理功能,所以此处是通过写硬代码强行设定的,无法更改,后续添加商品管理功能后,可改善此功能。
二、用户注册与登录
a)用户注册:
首先用户必须设定用户名和密码,要求用户名必须是未被注册过的、真实的email地址,此处通过jquery封装的一个验证插件首先页面的动态验证,技术基于ajax。
密码的存储用md5加密存储。
完成注册后,会有一个邮箱验证功能,以确定邮箱的真实性,系统会随机生成一个UUID字符串,此UUID理论上是不会重复的,将次UUID发送到用户邮箱,用户需要查收邮件然后将收到的UUID输入到验证框,若匹配,则予以验证通过,才能享受购物的所有服务。
此处发送邮箱,使用了一个外部jar包,需要自行提供SMTP服务器地址。
b)用户登录:
用户可以在首页面完成登录,登录后的状态维护使用session机制,当用户还可以点击退出,只需要清空session中所存储的对象即可。
三、购物车
此处购物车参照了淘宝购物车功能,分为两种情况:
用户登录与未登录。
用户登录与未登录都可以使用购物车,那么对于如何维护购物车信息,设计如下:
a)登录用户:
登录用户享有的购物车是基于Application存储,Application对象是服务器应用级别的数据对象,对象所绑定的键值就用用户的登陆账号,这样,只要服务器不关闭,购物车的状态就始终存在。
用户下次登录进来,系统根据用户的账号返回指定的购物车对象。
实际上应该以数据库来实现购物车数据维护,但是这里就以Application来进行简单演示。
未登录用户:
未登录用户的购物车维护,需要使用cookie和session机制,讲用户的购物车商品数据,以特定的格式存进浏览器的coo