基于Jsp的网络商店系统的设计与实现毕业论文.doc

上传人:豆**** 文档编号:29953817 上传时间:2022-08-02 格式:DOC 页数:44 大小:1.85MB
返回 下载 相关 举报
基于Jsp的网络商店系统的设计与实现毕业论文.doc_第1页
第1页 / 共44页
基于Jsp的网络商店系统的设计与实现毕业论文.doc_第2页
第2页 / 共44页
点击查看更多>>
资源描述

《基于Jsp的网络商店系统的设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于Jsp的网络商店系统的设计与实现毕业论文.doc(44页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、本科生毕业论文(设计)基于Jsp的网络商店系统的设计与实现姓名学号专业指导教师2011年5月20日IV摘要随着国内Internet使用人数的增加,利用Internet进行网络购物并以银行卡付款的消费方式已渐流行,市场份额也在快速增长,电子商务逐渐成为业界热议的一个焦点话题,相关的电子商务网站也层出不穷,因此电子商务蕴含巨大商机,具有广阔的发展前景。本论文首先分析了网络商店的地位和现状,然后介绍了开发此系统所用到的“模型-视图-控制器”模式。此系统采用SSH(Spring + Struts2 + Hibernate)框架进行搭建,使用Java语言,Oracle数据库和Tomcat服务器。主要实现

2、后台的会员管理,公告管理,留言管理,管理员服务,商品管理,站点信息管理,积分管理和订单管理等功能。本系统主要解决以下问题:1. 以管理员的身份实现对商品信息的管理,以及对购物网站的日常维护。2. 使用Log4j技术对所有用户的操作进行自动记录,并把记录文件保存入硬盘文件。3. 实现根据商品的多条属性查询,使结果更精确。 关键词:MVC;SSH;Log4j;网络商店AbstractWith the increase number of the internet using in domestic, the use of internet for online shopping and bank

3、card payments gradually popular consumption, and market share is also growing rapidly, e-commerce has become a focus of the industrys hot topics, besides, the related e-commerce web sites are endless. So e-commerce of huge business opportunities and broad prospects for development.Thesis analyzes fi

4、rstly the status and existent problems of online store and then introduces the “Model-View-Controller” mode used to build this site. The analysis and design of the entire network application platform including the system adopts the SSH technology. SSH is short for Spring+Struts2+Hibernate. And this

5、system uses Java programming language and Oracle database and Tomcat server to run the core modules of Members management, announced management, message management, administrator services, commodity management, site information management, integration management and order management in backend.The p

6、roblems settled in this system are as follows:1. As an administrator to realize the product information management, and maintenance of shopping sites.2. Log4j technology records and saves all users operations automatically into the hard disk file.3. To achieve search product information with many pr

7、oduct attributes, so that more precise.Key Words: MVC, SSH, Log4j, Online Store目录1 引言11.1 课题背景11.2 使用的开发测试平台及相关技术分析11.2.1 MVC模式11.2.2 SSH框架21.2.3 LOG4J日志处理32 系统概要设计42.1 需求分析42.1.1 系统用户需求42.1.2系统功能需求42.1.3 本系统的顶层用例图52.2 原型法52.3 系统总体设计62.3.1 系统业务流程62.3.2 会员管理功能模块72.3.3 公告管理功能模块72.3.4 留言管理功能模块82.3.5 管理

8、员服务功能模块82.3.6 商品管理功能模块92.3.7 站点信息管理功能模块92.3.8 积分管理功能模块102.3.9 订单管理功能模块102.4 数据库分析与设计112.4.1 数据库的定义122.4.2 表定义123 系统详细设计153.1 主要功能模块详细设计153.1.1会员查询页面153.1.2 发布新公告及公告管理页面153.1.3 商品留言页面173.1.4 添加管理员、禁用管理员和修改密码页面183.1.5 商品添加、修改和下架页面203.1.6 LOGO更改和服务条款管理页面223.1.7 积分规则查看、设置和兑换规则设置页面233.1.8 订单管理页面254 系统实现2

9、74.1 系统搭建及初始化配置274.1.1 搭建STRUTS2开发环境274.1.2 搭建HIBERNATE 开发环境284.2 创建包目录结构284.2.1 共通包构成284.2.2 业务包构成284.2.3 持久化层包构成294.3 STRUTS模块的实现294.4 HIBERNATE模块的实现304.4.1 编写POJO类304.4.2 编写并配置映射文件314.4.3 编写SESSION 工厂314.5 LOG4J日志处理324.6 图片处理335 系统测试355.1 测试工具355.2 测试用例356 结论37参考文献38致 谢391 引言科技在发展,人们的生活观念也在跟着逐渐变化

10、,现在网上购物 因其诸多优点慢慢的成为人们的主流购物方式,而大学生消费群在其中占很大比例,因此在接下来的几年都是电子商务的蓬勃发展期。而开发网上购物平台是对这一产业的技术支持。本文正是基于此利用成熟的MVC模式开发,使用SSH框架以及Log4j处理日志等技术丰富完善网络商店购物管理系统的安全性及扩展性能。从而使其在实际应用中具有良好的商业价值。1.1 课题背景现今的中国,电子商务的发展势头很凶猛。据2010年CNNIC最新的中国互联网发展状况调查显示,中国网民规模达到4.2亿;网民每周上网时长继续增加,人均周上网时长达到19.8个小时,并且大部分网络应用我国网民的互联网应用表现出商务化程度迅速

11、提高,娱乐化倾向继续保持沟通和信息工具价值加深的特点.2010 年上半年,大部分网络应用在网民中更加普及各类网络应用的用户规模持续扩大。其中,商务类应用表现尤其突出,网上支付,网络购物和网上银行半年用户增长率均在30%左右,远远超过其他类网络应用社交网站。因此开发这套系统应该具有广阔的市场前景。1.2 使用的开发测试平台及相关技术分析本系统均采用目前流行成熟的技术开发,具体开发环境如下:表1-1 开发环境操作系统Windows 7开发语言Java,JSP,CSS,HTML,XML开发工具Eclipse,Dreamweaver测试工具JUnit数据库Oracle 11g使用框架Struct2,S

12、pring,Hibernate服务器Tomcat6.01.2.1 MVC模式MVC结构是Model-View-Controller的缩写,中文翻译为模型-视图-控制器。MVC应用程序总是由这三个部分组成。模型(Model)是封装数据对象,用来封装和显示数据对象;视图(View)是作为模型的显示,它表示数据对象的当前状态;控制器(Controller)定义对用户的输入执行相应操作的接口,它用来操作模型和数据对象。使用MVC模式可以提高系统的可靠性,适应性以及可维护性,可以快速部署,同时能降低软件开发的生命周期。其工作机制如图1-1所示。图1-1 MVC工作机制图1.2.2 SSH框架SSH是St

13、ruts,Spring,Hibernate的缩写。是当前流行的三层架构:表述层,业务逻辑层和数据库层。Struts:用以响应用户的Action,对应到相应的类进行处理,需要对应的包。现在企业开发使用的版本为Struts2。Struts2中大量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与Servlet API分离。Struts2框架的大概处理流程如下:1. 加载FilterDispatcher类2. 读取Struts2配置文件中的Action类3. 客户端发送请求4. FilterDispatcher从struts配置文件中读取与之相对应的Action5. 启用拦截器6. 回调Ac

14、tion的execute()方法7. 通过execute方法将信息返回到FilterDispatcher8. FilterDispatcher根据配置查找响应信息,决定将跳转到哪个JSP页面9. 响应用户请求Hibernate:用来把实体类对应到数据库,用于实现与数据库之间的交互。提供增删改查的基本操作的实现。需要Hibernate对应的包以及Mysql的JDBC驱动包。创建Hibernate应用程序的准备:1. 创建数据库2. 创建Hibernate配置文件Hibernate.cfg.xml3. 创建Package4. 编写Hibernate映射文件5. 编写POJO文件6. 编写Hiber

15、nate工具类7. 编写测试类Spring:管理Struts, XML配置文件中为Struts的Action进行值注入。1.2.3 Log4j日志处理Log4j是Apache的一个开放源代码项目,通过使用Log4j,可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。最方便的是,上面提到的功能可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。2 系统概要设计本章将从该网络商店的后台信息管理对该项目进行了总体分析说

16、明。暂不考虑前台业务流程的逻辑实现,仅考虑其功能。后台信息管理主要包括会员管理,公告管理,留言管理,管理员服务,商品管理,站点信息管理,积分管理和订单管理等功能。2.1 需求分析系统需求分析是软件开发人员根据用户描述说明,对用户业务活动进行分析,明确在用户的业务环境中软件系统应该“做什么”。下面就对网络商店购物系统的需求说明进行分析。2.1.1 系统用户需求下面是需求分析中的用户需求:1. 友好的用户管理界面。2. 对注册用户以及普通管理员进行管理。3. 实现商品的增删改查等功能。4. 对用户的留言有最高管理权限。5. 实现站点中的公告及网站的基本功能。6. 能处理用户的订单。 2.1.2系统

17、功能需求下面介绍用户对程序功能的需求和程序的功能流程:1. 管理员分为超级管理员和普通管理员,超级管理员具有管理普通管理员的权限。2. 管理员可以管理(增、删、查)公告。3. 管理员可以管理(增、删、查)所以注册用户信息,但不可管理用户密码等私人信息,只可对其权限进行管理。4. 管理员可以管理(增、删、改、查)商品信息。5. 管理员可以管理(增、删、改、查)留言信息。6. 管理员可以管理(增、删、改、查)订单信息。7. 管理员可以对站点进行日常维护。8. 后台管理系统的搜索引擎采用模糊匹配的模式,并且可以选择多条搜索条件进行检索。2.1.3 本系统的顶层用例图图2-1网络商店购物系统顶层用例图

18、2.2 原型法 本系统采用原型法开发。快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。显然,快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。快速原型的关键在于尽可能快速地建造出软件原型,一旦确定了客户的真正需求,所建造的原型将被丢弃。因此,原型系统的内部结构并不重要,重要的是必须迅速建立原型,随之迅速修改原型,以反映客户的需求。原型化软件开发要突出一个“

19、快”字。采用瀑布模型时,软件的需求分析也可以在用户和系统分析员之间往复讨论,使之逐步趋于完善。但这种讨论终究是“纸上谈兵”。而原型系统则是“真枪实弹”,能够使用户立刻与想象中的目标系统作出比较。软件开发人员向用户提供一个“样品 ” ,用户向开发为人员迅速做出“反馈 ” ,这就是原型软件开发的优越性。图2-2 原型法2.3 系统总体设计根据需求分析,网络商店购物管理系统共可分为如下八个功能模块:会员管理、公告管理、留言管理、管理员服务、商品管理、站点信息管理、积分管理和订单管理。下面对每个功能模块进行具体分析。2.3.1 系统业务流程图2-3 系统功能逻辑结构图2.3.2 会员管理功能模块管理员

20、可以根据条件查询出会员信息结果,然后可以对所选会员进行注销操作。图2-4 会员管理用例图2.3.3 公告管理功能模块管理员可以发布新的公告,并可以对公告进行管理,根据发布的公告主题或发布时间查询公告,然后可以对具体公告进行修改,删除操作。图2-5 公告管理用例图2.3.4 留言管理功能模块管理员可以管理任何商品留言,而会员和游客只能管理自己的商品留言。图2-6 留言管理用例图2.3.5 管理员服务功能模块超级管理员可以添加管理员,根据会员ID查询管理员,然后可以禁用所选会员,并且可以修改管理员密码;而普通管理员只具有查看信息,修改密码权限。图2-7 管理员服务用例图2.3.6 商品管理功能模块

21、管理员可以对商品信息进行管理,包括新品发布,商品信息修改,商品下架,统计库存,商品搜索;商品搜索可以根据关键字查询或特征查询。图2-8 商品管理用例图2.3.7 站点信息管理功能模块管理员可以修改站点的Logo和服务条款的管理。图2-9 站点信息管理用例图2.3.8 积分管理功能模块管理员可以管理积分规则设置和兑换规则设置;对每一项规则具有制定,修改和删除操作权限。图2-10 积分管理用例图2.3.9 订单管理功能模块管理员可以根据条件查询出订单信息,然后可以对订单进行管理,并且可以导出订单;其中导出订单可以是单个导出和批量导出。图2-11 订单管理用例图2.4 数据库分析与设计数据库的设计是

22、该网络商店购物管理系统的核心内容,依据需要,系统定义了常用视图、索引和序列。用户对于数据库的需求具体体现在各种信息的提供、保存、更新和查询上,这就要求数据库的结构能充分满足各种信息的输入和输出上。本系统所采用的数据库是Oracle 11g,能满足系统的需求。2.4.1 数据库的定义图2-12 数据库表间关系图2.4.2 表定义在数据库设计的时候,是将商品的属性与图片区分开,总共将商品分为五大类:食品(FOOD)、书籍(BOOK)、文具(STATIONERY)、数码电子(ELECTRONICS)、生活用品(DAILYPRO)。下面只列出食品表。具体涉及的各个表属性如下:表2-1 食品表(FOOD

23、)逻辑名字段名数据类型长度空值备注商品编号PROIDCHAR13NOT NULL主键商品名称PRONAMEVARCHAR220NOT NULL类别分类编号SUB_TYPENUMBER8NOT NULL价格PRICENUMBER7,2NOT NULL保质期VALIDDAYSVARCHAR28NOT NULL库存量AMOUNTNUMBER5NOT NULL生产日期PRODATEDATENOT NULL生产厂家PRODUCERVARCHAR22000NOT NULL销量SALE_AMOUNTNUMBER20NOT NULL上架日期REG_TIMEDATENOT NULL表2-2 商品图片表(PROD

24、UCTS_PICTURES)逻辑名字段名数据类型长度空值备注商品编号PROIDCHAR13NOT NULL主键大图片BIG_PICVARCHAR2100中图片MID_PICVARCHAR2100小图片SMALL_PICBLOB表2-3 会员信息表(MEMBER)逻辑名字段名数据类型长度空值备注会员IDMEMBER_IDCHAR10NOT NULL主键会员名MEMBER_NAMEVARCHAR220NOT NULL密码MEMBER_PASSWORDCHAR9NOT NULL电子邮箱MEMBER_EMAILVARCHAR230NOT NULL真实姓名TRUE_NAMEVARCHAR220NOT N

25、ULL密码保护问题PWD_QUEVARCHAR230NOT NULL密码保护问题答案PWD_ANSVARCHAR220NOT NULL会员状态STATUSDATENOT NULL表2-4 公告信息表(NOTICE)逻辑名字段名数据类型长度空值备注公告编号NOTICE_IDNUMBER9,0NOT NULL主键公告名称NOTICE_TITLEVARCHAR230NOT NULL公告内容NOTICE_CONTENTVARCHAR2300NOT NULL发布日期NOTICE_TIMEDATENOT NULL表2-5 订单表(T_ORDER)逻辑名字段名数据类型长度空值备注订单编号ORDER_IDCH

26、AR10NOT NULL主键订单日期ORDER_TIMEDATENOT NULL订购者BUYER_IDVARCHAR220NOT NULL邮寄地址SEND_ADDRVARCHAR2100NOT NULL订单状态ORDER_STATUSCHAR6NOT NULL总价ALL_PRICENUMBER7,2电话TELLVARCHAR218NOT NULL手机号CELLPHONEVARCHAR218NOT NULL其他信息OTHER_INFOVARCHAR2300表2-6 管理员表(ADMIN)逻辑名字段名数据类型长度空值备注管理员名ADMIN_IDCHAR9NOT NULL主键密码ADMIN_PASS

27、WORDCHAR10NOT NULL权限ADMIN_PRIVILEGECHAR6NOT NULL状态ADMIN_STATUSCHAR6NOT NULL其他信息OTHER_INFOVARCHAR23003 系统详细设计3.1 主要功能模块详细设计详细介绍网络商店购物管理系统各个功能模块的描述信息,以及各个功能之间的关系,系统争对不同用户的需要作出相应的回应,懂得各个页面的跳转方向。3.1.1会员查询页面管理员可以根据会员的俩个属性:会员ID和会员名,进行对会员的检索,同时对检索出来的会员的权限进行操作。图3-1 会员查询页面迁移图下面为会员查询页面图 3-2 会员查询页面3.1.2 发布新公告及

28、公告管理页面管理员可以发布新主题的公告,并且可以根据公告主题或发布时间检索已经发布的公告,然后可以对这些公告进行管理。图3-3 发布新公告页面迁移图图3-4 发布新公告页面图3-5 公告管理页面迁移图图3-6 公告管理页面3.1.3 商品留言页面管理员可以根据商品的种类或商品的名称对商品进行检索,然后可以查看商品的留言,并可以对那些留言进行管理。图3-7 商品留言页面迁移图图3-8 商品留言页面3.1.4 添加管理员、禁用管理员和修改密码页面此项功能只有超级管理员有权限。其可以对普通管理员进行添加、禁用、修改密码等操作。图3-9 添加管理员页面迁移图图3-10 添加管理员页面图3-11 禁用管

29、理员页面迁移图图3-12 禁用管理员页面图3-13 修改密码页面迁移图图3-14 修改密码页面3.1.5 商品添加、修改和下架页面管理员可以对各类商品信息进行管理。图3-15 商品添加页面迁移图图3-16 商品添加页面进行商品信息修改时,必须先根据条件查询出所需要的商品信息。然后才可对其进行管理。图3-17 商品查询页面迁移图图3-18 商品查询页面图3-19 商品信息修改页面图3-20 商品下架页面3.1.6 Logo更改和服务条款管理页面管理员可以更新网络商店的Logo以及网络商店的一些服务条款。图3-21 Logo更改页面迁移图图3-22 Logo更改页面图3-23 服务条款管理页面迁移

30、图图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。系统的开发工具选用的是E

31、clipse 。4.1.1 搭建Struts2开发环境总体上概述来说,首先需要从Apache官网上下载的Struts2的所有组件后解压,然后将其Jar包及其依赖包导入WEB-INF/lib目录下,最后还要在web.xml中配置,最后创建Struts2的核心配置文件strut.xml。Lib目录下的jar包如下图所示:图4-1 Struts2所需的jar包web.xml的核心配置代码如下: struts2 org.apache.struts2.dispatcher.FilterDispatcher struts2 /* strut.xml的核心配置代码如下: 4.1.2 搭建Hibernate

32、开发环境与搭建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:or

33、cl scott tigerorg.hibernate.dialect.OracleDialect oracle.jdbc.driver.OracleDriver4.2 创建包目录结构网络商店购物管理系统都是以工厂的模式进行创建的,由实体工厂、抽象工厂、实现类三部分组成。4.2.1 共通包构成表4-1 共通包结构表分类包名说明共通包mon.dao放置DAO共通接口的包mon.dao.impl放置DAO共通类的包mon.util放置工具类的包mon.exception放置自定义例外类的包4.2.2 业务包构成表4-2 业务包结构表分类包名说明业务包backend.xmlaction配置文件,国际

34、化messagebackend.form放置表单类的包backend.action放置action的包backend.business放置业务接口类的包backend.impl放置业务实现类的包backend.business.pojos放置各表的POJO类的包backend.dao放置DAO接口的包backend.dao.impl放置DAO实现类的包4.2.3 持久化层包构成表4-3 持久化层包结构表分类包名说明持久化层包backend.hibernate.cfg.file放置hibernate配置文件的包backend.hibernate.hbm.file放置映射文件的包backend.h

35、ibernate.util放置hibernate工具类的包4.3 Struts模块的实现Struts主要处理用户输入的表单信息,实现用户与站点间的交互,动态生成用户所需要的信息。下面为本系统的struts.xml的配置方法: /backend/pages/common/management.jsp/index.jsp4.4 Hibernate模块的实现当Hibernate配置成功之后,用户可实现与数据库的交互,下面介绍本系统与数据库连接的方法(以管理员admin为范例)。4.4.1 编写POJO类在backend.hibernate.pojos及其下级目录下创建表Admin对应的POJO类Ad

36、min.java,其他与此类似,该类必须包含Admin对象的所有属性,这些属性必须与其在数据库Admin表中的属性一一对应。下面为Admin的POJO类(注:属性的getter和setter方法仅列举adminID属性):public class Admin /* 管理员ID */private String adminID = null;/* 管理员密码 */private String password = null;/* 管理员权限 */private String priviledge = null;/* 管理员状态 */private String status = null;/*

37、备注信息 */private String otherInfo = null;/* * 无参构造 */public Admin() public Admin(String adminID, String password, String priviledge, String status, String note)this.setAdminID(adminID);this.setPassword(password);this.setPriviledge(priviledge);this.setStatus(status);this.setOtherInfo(note);/getters and setterspublic String getAdminID() return adminID;public void setAdminID(String adminID) this.adminID = adminID;4.4.2 编写并配置映射文件在backend.hibernate.hbm.file目录下创建数据表Admin 对应POJO类的Hibernate映射文件admin.hbm.xml并配置。具体配置信息如下:!DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0/EN

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com