基于Struts的网上书店设计毕业论文含源文件.docx
- 文档编号:25238460
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:66
- 大小:1.13MB
基于Struts的网上书店设计毕业论文含源文件.docx
《基于Struts的网上书店设计毕业论文含源文件.docx》由会员分享,可在线阅读,更多相关《基于Struts的网上书店设计毕业论文含源文件.docx(66页珍藏版)》请在冰豆网上搜索。
基于Struts的网上书店设计毕业论文含源文件
XXXX大学
┊┊┊┊┊┊┊装┊┊┊┊┊┊┊订┊┊┊┊┊┊┊线┊┊┊┊┊┊┊
毕业论文
二○一○年五月
基于Struts的网上书店开发
专业班级:
XXXX
姓名:
XX
指导教师:
XXX
内容摘要
伴随着Internet的蓬勃发展,网络购物中心作为电子商务的一种形式正以其高效、低成本的优势,逐步成为新兴的经营模式和理念,人们已经不再满足用途信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利。
网络购物正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的商品。
本系统便是尝试用JSP在网络上架构一个动态的电子商务网站,它是在WindowsXP下,以MicrosoftSQLServer2000为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用JSP(JavaServerPages)技术开发的网上书店系统。
他分前台部分和后台部分,前台部分由用户使用,主要包括用户注册,书籍信息查询等功能;后台部分由管理员使用,主要包括商品管理,处理订单,链接信息管理等功能。
建立后的网站系统是一个动态、交互式、具有图书提供、系统管理等功能的电子商务网站。
ABSTRACT
AlongwiththevigorousdevelopmentoftheInternet,e-commercenetworksasashoppingcenterisaformofitshighlyefficient,low-costadvantages,graduallyemergingasabusinessmodelandphilosophy,thereisnolongermeetuseanddisseminationofinformationbrowsing,butadesiretobringthefullenjoymentnetworkmoreconvenient.Internetshoppingisbeingadaptedtothefastpaceoftoday'ssocietytolive,sothatcustomerscanenjoytheconvenienceoffastandeasywaytopurchasetheirownlikecommodities.
ThesystemistryingtouseJSPinadynamicnetworkofe-commercewebsitesstructure,whichisinWindowsXP,MicrosoftSQLServer2000fordatabasedevelopmentinplatform,Tomcatapplicationserverasanetworkinformationservices,useJSP(JavaServerPages)technologydevelopmentonlinebookstoresystem.Prospectsandthebackgroundofsomeofhishours,theprospectsofusers,includingusersregistered,bookssearchfunctions;Backgroundinpartbymanagers,includingcommoditymanagement,processingorders,informationmanagement,andotherfunctionslinks.Aftertheestablishmentofthewebsiteisadynamic,interactive,withcommodities,systemsmanagement,andotherfunctionsofthee-commercewebsiteusers.
第1章绪论
1.1网上书店现状分析
随着Internet的发展,网上购物已经成为21世纪网络发展的主流,网上购物也成为了一种购物时尚。
卓越亚马逊、当当网、淘宝网等网站已经成为广大消费者日常生活中非常重要的一部分。
在网上书店买书,可以查到所买图书的更多信息,因为网上书店是一个网站,它有它独特的售书方式和功能。
如用户注册会员功能等,会员类型有:
高级会员、金牌会员等。
有的网上书店有会员积分设置,如达到一定积分时自动成为高级会员,高级会员会有优惠和特别的服务。
还有就是支付方式了,一般网上书店都有三种类型的支付方式:
汇款类支付、在线支付、其他支付方式,其中在线支付只要到支付平台开户后,将所获开户信息填入即可。
当在网上书店购书后,用户所购图书都在网站上有记录,方便用户查询。
网络技术的蓬勃发展和普及使得网上书店成为一种高质量、更快捷、更方便的购书方式,也逐渐成为更多消费者的购书首选。
1.2开发背景
一般来说,一个完整的网上书店系统应包括信息流、资金流与物流三个要素,三者相辅相成。
信息流是通过电子网络向客户展示所售商品的相关信息,引导客户通过网络进行购物;资金流就是使客户在选择商品后,能够通过网络支付相关费用,一般包括预付款支付、网上银行支付、货到付款支付等多种形式;物流就是把客户所购买的商品通过物流配送系统送到客户手中。
第2章动态网站相关技术
2.1C/S与B/S体系结构
传统的C/S(Client/Server)两层结构是通过静态页面在Internet上发布信息。
在WEB发展的初期,两层结构中应用程序有一个接口,而访问的数据则位于一个数据库服务器上,客户将其所执行的命令传送给数据库服务器,数据库服务期执行命令,并将结果返回给客户机(如图2-1),在这种结构下,网站上的页面是静态的,无法根据用户的实际情况做动态变化。
客户端
执行命令
数据库服务器
返回结果
图2-1基于C/S体系结构
B/S结构,是在客户端与数据库之间加入了一个服务器(如图2-2)。
用户通过浏览器向客户端发送HTTP请求,WEB服务器接受用户端的HTTP请求,向用户端发送所请求的数据。
网站信息提供者通过更新服务器上的网页来向用户提供最新信息。
用户和浏览器之间只有有限的交互,而网站和用户之间没有交互。
浏览器
服务器
数据库
HTTP请求数据请求
HTTP应答数据获取
图2-2基于B/S体系结构
2.2MVC模式
在MVC经典架构中,它把应用程序分为三个部分:
1、模型
模型代表了该应用程序的核心功能,它负责处理用户的数据,实现业务逻辑。
同时,模型还为视图的显示提供数据,并可被多个视图所共用。
2、视图
视图主要指与用户的交互的界面,也即应用程序的外观。
视图可以接受用户的输入,但它并不包括任何实际的业务处理,他只将数据转交给控制器。
同时,视图还负责展现模型传递给用户的数据,当后台模型更新数据时,视图也应当随之更新它的显示。
3、控制器
控制器负责接收用户的请求和数据,接着它会做出判断将请求和数据提交由哪一个模型来处理,最后调用视图来显示模型返回的数据。
模型
更新更新
视图2
视图1
获得数据获得数据
改变
控制器
改变改变
事件
图2-3MVC结构
概括起来,MVC有如下特点:
1、多个视图可以对应一个模型。
按MVC设计模式,一个模型对应多个视图可以减少代码的复制及代码的维护量,一旦模型发生改变,也易于维护。
2、模型返回的数据与显示逻辑分离。
模型数据可以应用任何的显示技术
3、应用被分为三层,降低了各层之间的耦合,提高的应用的可拓展性。
4、控制层把不同的模型和不同的视图组合在一起,完成不同的请求。
5、MVC更符合软件工程化管理的精神,不同的层各司其职,每一层的组件有相同的特征,有利于工程化和工具化产生管理程序代码。
2.3Struts体系介绍及其基本流程
Struts是一种方便而实用的web应用框架,很好的实现了MVC模式,使程序员将更多的精力投入后台的业务逻辑设计,而不是底层的web基础框架。
Struts框架以ActionServlet作为核心控制器,整个应用程序由客户端请求驱动。
当客户端向Web应用程序发送请求时,请求将被Strut的核心控制器ActionServlet;拦截,ActionServlet根据请求决定是否需要调用业务逻辑控制器处理用户请求,当用户请求处理完成后,其处理结果通过JSP呈现给用户。
对整个Struts框架而言,控制器就是它的核心,Struts控制器由两个部分组成:
核心控制器和业务逻辑控制器。
其中核心控制器就是ActionServlet,由Struts框架提供;业务逻辑控制器就是由用户自定义的Action,由应用开发者提供。
对于大部分用户请求而言,都需要得到服务器的处理。
当用户发送一个需要得到服务器处理的请求时,该请求被ActionServlet拦截到,ActionServlet将该请求转发给对应的业务逻辑控制器,业务逻辑控制器调用模型老处理用户请求;如果用户请求只是希望得到某个URL资源,则由ActionServlet讲被请求的资源转发给用户。
如图2-4所示是的Struts的基本框架。
核心控制器
业务逻辑控制器
HTTP请求转发请求
Struts-config.xml
客户端浏览器
调用业务逻辑
转发请求
JSP
模型
HTTP响应数据
图2-4Struts的程序运行流程
第3章网上书店系统分析与设计
3.1系统分析
3.1.1系统目标
网上书店信息系统的系统目标如下:
1、展示最新的书籍信息,不断更新书籍种类,是用户了解最新的图书信息。
2、用户可以在网站上修改个人资料、修改个人账户的密码、查询提交的订单以及查询个人在网站上的消费情况。
3、对书籍信息进行管理,选择图书类别将图书具体信息和图片信息都存储在数据库中,并可以修改和删除书籍信息。
4、可以查看和查询用户详细信息以及用户消费信息。
5、对管理员信息和网站公告信息进行维护管理。
3.1.2业务流程分析
用户必须注册会员并登陆后才能购买书籍,购买成功后书籍信息放进购物车,生成用户订单,订单信息经用户确认后处理订单,用户登录后可以查看订单信息、修改会员信息以及查询书籍信息。
未登录用户不能购买书籍,可以查看新书上架信息、书籍分类展示以及销售排行信息。
面向会员的客户端系统流程如图3-1,
购物车
验证成功
用户
新品上架
书籍展示
销售排行
用户注册
不是会员
订单处理
订单确认,发送客户订购信息
反馈用户接受情况
图3-1面向会员的系统流程图
系统管理员负责会员管理、书籍信息管理、后台管理员管理,如图3-2
验证成功
账户验证
系统管理员
N
Y
订单管理
管理员信息管理
会员管理
公告管理
书籍大类管理
书籍管理
图3-2面向管理员的系统流程图
3.2系统设计
3.2.1功能设计
网上书店网站分为前台和后台。
其中,根据网上书店前台的特点,可以将其分为书籍查询、书籍展示、购物车、会员管理、收银台、订单查询及商城公告7各部分,其中各部分具体功能模块如图4-1所示。
网上书店系统前台
按大类查看商品
按条件查看商品
收银台
购物车
商品展示
书籍查询
会员管理
填写订单信息
商城公告
结账
会员登录
会员信息修改品
会员注册
查看购物车
清空购物车
添加购物车
订单查询
销售排行
新品上架
图3-3前台功能结构图
根据网上书店后台的特点,可以将其分为书籍设置、书籍大类设置、后台管理员设置、会员设置、订单设置5个部分,其中各个部分及其功能模块图如4-2所示。
后台登录
网上书店系统后台
会员添加
后台管理员设置
订单设置
会员设置
书籍设置
书籍大类设置
订单处理
订单查询
管理员添加
管理员删除
管理员查询
书籍查询
书籍删除
会员查询
会员删除
书籍大类查询
书籍添加
管理员密码修改
书籍大类删除
书籍大类添加
图3-4后台功能结构图
3.2.2数据库设计
一、数据库需求分析
数据库管理系统(DBMS)是一个软件系统,它具有存储、检索、和修改数据的功能。
目前,应用比较多的数据库是Oracle、Sysbase、Informix、MicrosoftSQLServer、DB2、MySQL等,MicrosoftSQLServer2000是微软公司推出的大型数据库系统,它的编程接口非常丰富、易用,可以很容易地用组件访问数据库。
现在,SQLServer2000也提供了JDBC编程接口,这样我们就可以非常方便地在Java编程中使用SQLServer了。
在网上书店系统设计中采用的便是MicrosoftSQLServer2000。
二、数据库概念设计
根据以上对系统所作的需求分析和系统设计,规划出本系统中使用的数据库实体分别为:
会员实体、书籍实体、书籍大类实体。
1.会员实体
会员实体包括会员账号、账号密码、会员姓名、会员年龄、会员邮箱以及会员职业属性。
会员实体E-R图如图5-1所示。
会员职业
账号密码
会员姓名
会员邮箱
会员年龄
会员账号
会员
图3-5会员实体E-R图
2.书籍实体
书籍实体包括图书名、类别编号、作者、出版社、出版时间以及价格属性。
书籍实体E-R图如下图5-2所示。
类别编号
图书名
作者
出版时间
出版社
价格
书籍
图3-6书籍实体E-R图
3.书籍大类实体
书籍大类实体包括类别编号以及类别名属性。
书籍大类实体E-R图如图5-3所示。
类别编号
类别名
书籍大类
图3-7书籍大类实体E-R图
三、数据库逻辑结构设计
1、数据库表设计原则:
根据上述数据库概念设计,需要设计下面各个数据表,这些表之间相互关联,共同存储着系统所需要的数据。
在设计数据表的过程中,根据以下原则:
(1)、数据库设计的一个表最好只存储一个实体或对象的相关信息,不同的实体最好存储在不同的数据表中,如果实体还可以再划分,实体的划分原则是最好能够比当前系统要开发的实体颗粒度要小。
(2)、数据表的信息表结构一定要合适,表的字段数量一定不要过多。
(3)、扩充信息和动态变化信息一定要分开存储在不同的表里。
(4)、尽量不要出现多对多的表关系。
2、数据库表结构详细设计:
(1)会员信息表主要用来保存会员信息。
如表5-1所示:
表5-1会员信息表
字段名
字段描述
数据类型
是否为空
是否主键
name
会员账号
varhar(50)
否
是
password
账号密码
varhar(50)
否
否
realName
会员姓名
varchar(50)
否
否
age
会员年龄
int(4)
否
否
会员邮箱
varchar(50)
否
否
job
会员职业
varchar(50)
否
否
(2)、商品信息表主要用来保存商品信息。
如表5-2所示:
表5-2商品信息表
字段名
字段描述
数据类型
是否为空
是否主键
id
序列号
varchar(50)
否
是
name
图书名
varchar(50)
否
否
id
类别编号
int(4)
否
否
author
作者
varchar(50)
否
否
publisher
出版社
varchar(50)
否
否
pubTime
出版时间
smalldatetime(4)
否
否
price
价格
money
否
否
(3)、商品大类信息表主要用来保存商品大类信息。
如表5-3所示:
表5-3商品大类信息表
字段名
字段描述
数据类型
是否为空
是否主键
id
类别编号
int(4)
否
是
name
类别名
varchar(50)
否
否
图3-8前台首页
3.2.3开发环境
在开发网上书店系统时,软件环境如下:
服务器端:
操作系统:
WindowsXP
WEB服务器:
Tomcat6.0
Java开发包:
JDK1.6
数据库:
SQLServer2000
客户端:
浏览器:
谷歌浏览器
分别率:
1024*768
开发工具:
MyEclipse8.0
第4章基于Struts的网上书店程序设计与实现
4.1程序总体结构
存放所有网站图片
存放所有书籍图片
存放所有jsp页面
存放公共类的包
存放所有ActionForm的包
存放所有dao的包
存放所有action的包
图4-1程序总体结构
4.2公共类设计
4.2.1数据库连接类
在本系统中,对数据库连接类的名称为JDBConnection,在该类属性中设置连接SQLServer2000的驱动、url地址及声明connection类的实例,并通过构造方法获取数据库的连接。
具体代码如下:
packagecom.jiangchao.tool;
importjava.sql.*;
publicclassJDBConnection{
privateStringdbDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";//数据库驱动
privateStringurl="jdbc:
microsoft:
sqlserver:
//localhost:
1433;DatabaseName=Bookstore";//url地址
publicConnectionconnection=null;
publicJDBConnection(){
try{
Class.forName(dbDriver).newInstance();
connection=DriverManager.getConnection(url,"sa","");
}
catch(Exceptionex){
System.out.println("数据库加载失败");
}
}
}
4.2.2字符串自动处理类
在本系统中,字符串自动处理类名称为CharacterFilter,该类实现了Filter类中的doFilter()方法,该方法作用是将表单中的字符串转换成UTF-8,具体代码如下:
packagecom.jiangchao.tool;
importjava.io.IOException;
importjava.io.Writer;
importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
publicclassCharacterFilterimplementsFilter{
publicvoiddestroy(){
}
publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,
FilterChainchain)throwsIOException,ServletException{
request.setCharacterEncoding("UTF-8");
chain.doFilter(request,response);
}
publicvoidinit(FilterConfigfilterConfig)throwsServletException{
}
}
4.3前台首页设计
开发一个网站,好的页面风格和页面框架是非常重要的,特别是对于网上书店更需要有好的页面风格和布局。
在本网上书店的首页设计中,很好展示了书店推出的新品上架、销售排行、最新公告等信息,并提供了查看订单、商品分类查询等业务。
网上书店前台首页运行结果如图6-1所示:
书籍查询模块
用户登录
网站导航
新品上架
后台管理
商城公告
图4-2网上书店系统前台首页
如上图6-1所示的主页面中,用户登录、商城公告、销售排行、网站导航、新品上架、、后台登陆入口以及查询书籍信息等模块,并不是仅存在于主页面中,其他功能模块的子页面中也需要包括这些部分。
因此,可以讲这几个部分分别保存在单独的文件中,这样,在需要放置相应功能时只需要包含这些文件即可,如图6-2为前台主页面面的布局:
main-top.jsp
memberLogin.jsp
bookSorts.jsp
search.jsp
message.jsp
index.jsp
manger.jsp
main-down.jsp
图4-3前台主页面布局
在jsp页面中包含文件有两种方法:
一种是应用<%@include%>指令实现,另一种是应用 include>动作元素实现,本系统使用的是 include>动作元素。 该动作元素用于向当前的页面中包含其他的文件,这个文件可以是动态文件也可以是静态文件,具体的使用方法: <%@include%>指令用来在JSP页面中包含另一个文件。 包含的过程是静态的,即在指定文件属性值时,只能是一个包含相对路径的文件名,而不能是一个变量,也不可以在所指定的文件后面添加任何参数。 其语法格式如下: <%@includefile=”fileName”%> include>动作元素可以指定加载一个静态或动态的文件,但运行结果不同。 如果指定为静态文件,那么这种指定仅仅是把指定的文件内容加到JSP问价中去,则这个文件不被编译。 如果是动态文件,那么这个文件将会被编译执行。 由于页面中包含查询模块时,只需要将文件内容添加到指定的JSP文件中即可,所以此处可以使用加载静态文件的方法包含文件。 应用 include>动作元素加载静态文件的语法格式如下: includepage=”{relativeURL|<%=expression%>}”flush=”true”/> 使用<%@include%>指令和 include>动作元素包含文件的区别是: 使用<%@include%>指令包含的页面,是在编译阶段将该页面的代码插入到了主页面的代码中,最终包含页面与被包含页面生成了一个文件。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Struts 网上 书店 设计 毕业论文 源文件
![提示](https://static.bdocx.com/images/bang_tan.gif)