基于Jsp的网络商店系统的设计与实现毕业论文.docx
《基于Jsp的网络商店系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《基于Jsp的网络商店系统的设计与实现毕业论文.docx(48页珍藏版)》请在冰豆网上搜索。
基于Jsp的网络商店系统的设计与实现毕业论文
基于Jsp的网络商店系统的设计与实现毕业论文
目 录
1引 言1
1.1课题背景1
1.2使用的开发测试平台及相关技术分析1
1.2.1MVC模式1
1.2.2SSH框架2
1.2.3Log4j日志处理3
2系统概要设计4
2.1需求分析4
2.1.1系统用户需求4
2.1.2系统功能需求4
2.1.3本系统的顶层用例图5
2.2原型法5
2.3系统总体设计6
2.3.1系统业务流程6
2.3.2会员管理功能模块7
2.3.3公告管理功能模块7
2.3.4留言管理功能模块8
2.3.5管理员服务功能模块8
2.3.6商品管理功能模块9
2.3.7站点信息管理功能模块9
2.3.8积分管理功能模块10
2.3.9订单管理功能模块10
2.4数据库分析与设计11
2.4.1数据库的定义12
2.4.2表定义12
3系统详细设计15
3.1主要功能模块详细设计15
3.1.1会员查询页面15
3.1.2发布新公告及公告管理页面15
3.1.3商品留言页面17
3.1.4添加管理员、禁用管理员和修改密码页面18
3.1.5商品添加、修改和下架页面20
3.1.6Logo更改和服务条款管理页面22
3.1.7积分规则查看、设置和兑换规则设置页面23
3.1.8订单管理页面25
4系统实现27
4.1系统搭建及初始化配置27
4.1.1搭建Struts2开发环境27
4.1.2搭建Hibernate开发环境28
4.2创建包目录结构28
4.2.1共通包构成28
4.2.2业务包构成28
4.2.3持久化层包构成29
4.3Struts模块的实现29
4.4Hibernate模块的实现30
4.4.1编写POJO类30
4.4.2编写并配置映射文件31
4.4.3编写Session工厂31
4.5Log4j日志处理32
4.6图片处理33
5系统测试35
5.1测试工具35
5.2测试用例35
6结论37
参考文献38
致谢39
1引 言
科技在发展,人们的生活观念也在跟着逐渐变化,现在网上购物因其诸多优点慢慢的成为人们的主流购物方式,而大学生消费群在其中占很大比例,因此在接下来的几年都是电子商务的蓬勃发展期。
而开发网上购物平台是对这一产业的技术支持。
本文正是基于此利用成熟的MVC模式开发,使用SSH框架以及Log4j处理日志等技术丰富完善网络商店购物管理系统的安全性及扩展性能。
从而使其在实际应用中具有良好的商业价值。
1.1课题背景
现今的中国,电子商务的发展势头很凶猛。
据2010年CNNIC最新的中国互联网发展状况调查显示,中国网民规模达到4.2亿;网民每周上网时长继续增加,人均周上网时长达到19.8个小时,并且大部分网络应用我国网民的互联网应用表现出商务化程度迅速提高,娱乐化倾向继续保持沟通和信息工具价值加深的特点.2010年上半年,大部分网络应用在网民中更加普及各类网络应用的用户规模持续扩大。
其中,商务类应用表现尤其突出,网上支付,网络购物和网上银行半年用户增长率均在30%左右,远远超过其他类网络应用社交。
因此开发这套系统应该具有广阔的市场前景。
1.2使用的开发测试平台及相关技术分析
本系统均采用目前流行成熟的技术开发,具体开发环境如下:
表1-1开发环境
操作系统
Windows7
开发语言
Java,JSP,CSS,HTML,XML
开发工具
Eclipse,Dreamweaver
测试工具
JUnit
数据库
Oracle11g
使用框架
Struct2,Spring,Hibernate
服务器
Tomcat6.0
1.2.1MVC模式
MVC结构是"Model-View-Controller"的缩写,中文翻译为"模型-视图-控制器"。
MVC应用程序总是由这三个部分组成。
模型(Model)是封装数据对象,用来封装和显示数据对象;视图(View)是作为模型的显示,它表示数据对象的当前状态;控制器(Controller)定义对用户的输入执行相应操作的接口,它用来操作模型和数据对象。
使用MVC模式可以提高系统的可靠性,适应性以及可维护性,可以快速部署,同时能降低软件开发的生命周期。
其工作机制如图1-1所示。
图1-1MVC工作机制图
1.2.2SSH框架
SSH是Struts,Spring,Hibernate的缩写。
是当前流行的三层架构:
表述层,业务逻辑层和数据库层。
Struts:
用以响应用户的Action,对应到相应的类进行处理,需要对应的包。
现在企业开发使用的版本为Struts2。
Struts2中大量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与ServletAPI分离。
Struts2框架的大概处理流程如下:
1.加载FilterDispatcher类
2.读取Struts2配置文件中的Action类
3.客户端发送请求
4.FilterDispatcher从struts配置文件中读取与之相对应的Action
5.启用拦截器
6.回调Action的execute()方法
7.通过execute方法将信息返回到FilterDispatcher
8.FilterDispatcher根据配置查找响应信息,决定将跳转到哪个JSP页面
9.响应用户请求
Hibernate:
用来把实体类对应到数据库,用于实现与数据库之间的交互。
提供增删改查的基本操作的实现。
需要Hibernate对应的包以及Mysql的JDBC驱动包。
创建Hibernate应用程序的准备:
1.创建数据库
2.创建Hibernate配置文件Hibernate.cfg.xml
3.创建Package
4.编写Hibernate映射文件
5.编写POJO文件
6.编写Hibernate工具类
7.编写测试类
Spring:
管理Struts,XML配置文件中为Struts的Action进行值注入。
1.2.3Log4j日志处理
Log4j是Apache的一个开放源代码项目,通过使用Log4j,可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIXSyslog守护进程等;也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。
最方便的是,上面提到的功能可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
2系统概要设计
本章将从该网络商店的后台信息管理对该项目进行了总体分析说明。
暂不考虑前台业务流程的逻辑实现,仅考虑其功能。
后台信息管理主要包括会员管理,公告管理,留言管理,管理员服务,商品管理,站点信息管理,积分管理和订单管理等功能。
2.1需求分析
系统需求分析是软件开发人员根据用户描述说明,对用户业务活动进行分析,明确在用户的业务环境中软件系统应该“做什么”。
下面就对网络商店购物系统的需求说明进行分析。
2.1.1系统用户需求
下面是需求分析中的用户需求:
1.友好的用户管理界面。
2.对注册用户以及普通管理员进行管理。
3.实现商品的增删改查等功能。
4.对用户的留言有最高管理权限。
5.实现站点中的公告及的基本功能。
6.能处理用户的订单。
2.1.2系统功能需求
下面介绍用户对程序功能的需求和程序的功能流程:
1.管理员分为超级管理员和普通管理员,超级管理员具有管理普通管理员的权限。
2.管理员可以管理(增、删、查)公告。
3.管理员可以管理(增、删、查)所以注册用户信息,但不可管理用户密码等私人信息,只可对其权限进行管理。
4.管理员可以管理(增、删、改、查)商品信息。
5.管理员可以管理(增、删、改、查)留言信息。
6.管理员可以管理(增、删、改、查)订单信息。
7.管理员可以对站点进行日常维护。
8.后台管理系统的搜索引擎采用模糊匹配的模式,并且可以选择多条搜索条件进行检索。
2.1.3本系统的顶层用例图
图2-1网络商店购物系统顶层用例图
2.2原型法
本系统采用原型法开发。
快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。
通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。
显然,快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。
快速原型的关键在于尽可能快速地建造出软件原型,一旦确定了客户的真正需求,所建造的原型将被丢弃。
因此,原型系统的部结构并不重要,重要的是必须迅速建立原型,随之迅速修改原型,以反映客户的需求。
原型化软件开发要突出一个“快”字。
采用瀑布模型时,软件的需求分析也可以在用户和系统分析员之间往复讨论,使之逐步趋于完善。
但这种讨论终究是“纸上谈兵”。
而原型系统则是“真枪实弹”,能够使用户立刻与想象中的目标系统作出比较。
软件开发人员向用户提供一个“样品”,用户向开发为人员迅速做出“反馈”,这就是原型软件开发的优越性。
图2-2原型法
2.3系统总体设计
根据需求分析,网络商店购物管理系统共可分为如下八个功能模块:
会员管理、公告管理、留言管理、管理员服务、商品管理、站点信息管理、积分管理和订单管理。
下面对每个功能模块进行具体分析。
2.3.1系统业务流程
图2-3系统功能逻辑结构图
2.3.2会员管理功能模块
管理员可以根据条件查询出会员信息结果,然后可以对所选会员进行注销操作。
图2-4会员管理用例图
2.3.3公告管理功能模块
管理员可以发布新的公告,并可以对公告进行管理,根据发布的公告主题或发布时间查询公告,然后可以对具体公告进行修改,删除操作。
图2-5公告管理用例图
2.3.4留言管理功能模块
管理员可以管理任何商品留言,而会员和游客只能管理自己的商品留言。
图2-6留言管理用例图
2.3.5管理员服务功能模块
超级管理员可以添加管理员,根据会员ID查询管理员,然后可以禁用所选会员,并且可以修改管理员密码;而普通管理员只具有查看信息,修改密码权限。
图2-7管理员服务用例图
2.3.6商品管理功能模块
管理员可以对商品信息进行管理,包括新品发布,商品信息修改,商品下架,统计库存,商品搜索;商品搜索可以根据关键字查询或特征查询。
图2-8商品管理用例图
2.3.7站点信息管理功能模块
管理员可以修改站点的Logo和服务条款的管理。
图2-9站点信息管理用例图
2.3.8积分管理功能模块
管理员可以管理积分规则设置和兑换规则设置;对每一项规则具有制定,修改和删除操作权限。
图2-10积分管理用例图
2.3.9订单管理功能模块
管理员可以根据条件查询出订单信息,然后可以对订单进行管理,并且可以导出订单;其中导出订单可以是单个导出和批量导出。
图2-11订单管理用例图
2.4数据库分析与设计
数据库的设计是该网络商店购物管理系统的核心容,依据需要,系统定义了常用视图、索引和序列。
用户对于数据库的需求具体体现在各种信息的提供、保存、更新和查询上,这就要求数据库的结构能充分满足各种信息的输入和输出上。
本系统所采用的数据库是Oracle11g,能满足系统的需求。
2.4.1数据库的定义
图2-12数据库表间关系图
2.4.2表定义
在数据库设计的时候,是将商品的属性与图片区分开,总共将商品分为五大类:
食品(FOOD)、书籍(BOOK)、文具(STATIONERY)、数码电子(ELECTRONICS)、生活用品(DAILYPRO)。
下面只列出食品表。
具体涉及的各个表属性如下:
表2-1食品表(FOOD)
逻辑名
字段名
数据类型
长度
空值
备注
商品编号
PROID
CHAR
13
NOTNULL
主键
商品名称
PRONAME
VARCHAR2
20
NOTNULL
类别分类编号
SUB_TYPE
NUMBER
8
NOTNULL
价格
PRICE
NUMBER
7,2
NOTNULL
保质期
VALIDDAYS
VARCHAR2
8
NOTNULL
库存量
AMOUNT
NUMBER
5
NOTNULL
生产日期
PRODATE
DATE
NOTNULL
生产厂家
PRODUCER
VARCHAR2
2000
NOTNULL
销量
SALE_AMOUNT
NUMBER
20
NOTNULL
上架日期
REG_TIME
DATE
NOTNULL
表2-2商品图片表(PRODUCTS_PICTURES)
逻辑名
字段名
数据类型
长度
空值
备注
商品编号
PROID
CHAR
13
NOTNULL
主键
大图片
BIG_PIC
VARCHAR2
100
中图片
MID_PIC
VARCHAR2
100
小图片
SMALL_PIC
BLOB
表2-3会员信息表(MEMBER)
逻辑名
字段名
数据类型
长度
空值
备注
会员ID
MEMBER_ID
CHAR
10
NOTNULL
主键
会员名
MEMBER_NAME
VARCHAR2
20
NOTNULL
密码
MEMBER_PASSWORD
CHAR
9
NOTNULL
电子
MEMBER_EMAIL
VARCHAR2
30
NOTNULL
真实
TRUE_NAME
VARCHAR2
20
NOTNULL
密码保护问题
PWD_QUE
VARCHAR2
30
NOTNULL
密码保护问题答案
PWD_ANS
VARCHAR2
20
NOTNULL
会员状态
STATUS
DATE
NOTNULL
表2-4公告信息表(NOTICE)
逻辑名
字段名
数据类型
长度
空值
备注
公告编号
NOTICE_ID
NUMBER
9,0
NOTNULL
主键
公告名称
NOTICE_TITLE
VARCHAR2
30
NOTNULL
公告容
NOTICE_CONTENT
VARCHAR2
300
NOTNULL
发布日期
NOTICE_TIME
DATE
NOTNULL
表2-5订单表(T_ORDER)
逻辑名
字段名
数据类型
长度
空值
备注
订单编号
ORDER_ID
CHAR
10
NOTNULL
主键
订单日期
ORDER_TIME
DATE
NOTNULL
订购者
BUYER_ID
VARCHAR2
20
NOTNULL
邮寄地址
SEND_ADDR
VARCHAR2
100
NOTNULL
订单状态
ORDER_STATUS
CHAR
6
NOTNULL
总价
ALL_PRICE
NUMBER
7,2
TELL
VARCHAR2
18
NOTNULL
手机号
CELLPHONE
VARCHAR2
18
NOTNULL
其他信息
OTHER_INFO
VARCHAR2
300
表2-6管理员表(ADMIN)
逻辑名
字段名
数据类型
长度
空值
备注
管理员名
ADMIN_ID
CHAR
9
NOTNULL
主键
密码
ADMIN_PASSWORD
CHAR
10
NOTNULL
权限
ADMIN_PRIVILEGE
CHAR
6
NOTNULL
状态
ADMIN_STATUS
CHAR
6
NOTNULL
其他信息
OTHER_INFO
VARCHAR2
300
3系统详细设计
3.1主要功能模块详细设计
详细介绍网络商店购物管理系统各个功能模块的描述信息,以及各个功能之间的关系,系统争对不同用户的需要作出相应的回应,懂得各个页面的跳转方向。
3.1.1会员查询页面
管理员可以根据会员的俩个属性:
会员ID和会员名,进行对会员的检索,同时对检索出来的会员的权限进行操作。
图3-1会员查询页面迁移图
下面为会员查询页面
图3-2会员查询页面
3.1.2发布新公告及公告管理页面
管理员可以发布新主题的公告,并且可以根据公告主题或发布时间检索已经发布的公告,然后可以对这些公告进行管理。
图3-3发布新公告页面迁移图
图3-4发布新公告页面
图3-5公告管理页面迁移图
图3-6公告管理页面
3.1.3商品留言页面
管理员可以根据商品的种类或商品的名称对商品进行检索,然后可以查看商品的留言,并可以对那些留言进行管理。
图3-7商品留言页面迁移图
图3-8商品留言页面
3.1.4添加管理员、禁用管理员和修改密码页面
此项功能只有超级管理员有权限。
其可以对普通管理员进行添加、禁用、修改密码等操作。
图3-9添加管理员页面迁移图
图3-10添加管理员页面
图3-11禁用管理员页面迁移图
图3-12禁用管理员页面
图3-13修改密码页面迁移图
图3-14修改密码页面
3.1.5商品添加、修改和下架页面
管理员可以对各类商品信息进行管理。
图3-15商品添加页面迁移图
图3-16商品添加页面
进行商品信息修改时,必须先根据条件查询出所需要的商品信息。
然后才可对其进行管理。
图3-17商品查询页面迁移图
图3-18商品查询页面
图3-19商品信息修改页面
图3-20商品下架页面
3.1.6Logo更改和服务条款管理页面
管理员可以更新网络商店的Logo以及网络商店的一些服务条款。
图3-21Logo更改页面迁移图
图3-22Logo更改页面
图3-23服务条款管理页面迁移图
图3-24服务条款管理页面
3.1.7积分规则查看、设置和兑换规则设置页面
管理员可以查看会员的积分,同时可以设置积分规则和兑换规则。
图3-25积分规则查看页面迁移图
图3-26积分规则设置页面迁移图
图3-27积分规则查看页面
图3-28积分规则设置页面
图3-29兑换规则页面迁移图
图3-30兑换规则设置页面
3.1.8订单管理页面
管理员可以根据订单的任何一个属性查询订单,查看其状态并对订单进行管理。
图3-31订单管理页面迁移图
图3-32订单查询页面
4系统实现
4.1系统搭建及初始化配置
系统选用的服务器是Tomcat6.0,后台数据库选用的是Oracle。
系统的开发工具选用的是Eclipse。
4.1.1搭建Struts2开发环境
总体上概述来说,首先需要从Apache官网上下载的Struts2的所有组件后解压,然后将其Jar包及其依赖包导入WEB-INF/lib目录下,最后还要在web.xml中配置,最后创建Struts2的核心配置文件strut.xml。
Lib目录下的jar包如下图所示:
图4-1Struts2所需的jar包
web.xml的核心配置代码如下:
struts2
org.apache.struts2.dispatcher.FilterDispatcher
struts2
/*
strut.xml的核心配置代码如下:
4.1.2搭建Hibernate开发环境
与搭建Struts2环境类似,搭建Hibernate3开发环境需要先从Hibernate首页上下载Hibernate开发组件,解压后将必须的Jar包(hibernate3.jar、commons-collections.jar等总计八个)导入项目,最后在工程的src目录中创建Hibernate的配置文件。
Hibernate的配置文件可以为属性文件(hibernate.properties)或者是xml文件(Hibernate.cfg.xml),相比之下,xml配置方式更为常见。
本平台的原始配置文件的核心配置代码如下:
jdbc:
oracle:
thin:
localhost:
1521:
orcl
scott
tiger
org.hibernate.dialect.OracleDialect
oracle.jdbc.driver.OracleDriver
4.2创建包目录结构
网络商店购物管理系统都是以工厂的模式进行创建的,由实体工厂、抽象工厂、实现类三部分组成。
4.2.1共通包构成
表4-1共通包结构表
分类
包名
说明
共通包
mon.dao
放置DAO共通接口的包
mon.dao.impl
放置DAO共通类的包
mon.util
放置工具类的包
mon.exception
放置自定义例外类的包
4.2.2业务包构成
表4-2业务包结构表
分类
包名
说明
业务包
backend.xml
action配置文件,国际化message
backend.form
放置表单