版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——电子商务毕业设计完整版(当当网为例)
南昌航空大学学士学位论文
f、执行完Action实例的execute()方法后,该方法会返回一个ActionForward对象。g、ActionServlet再把客户端发过来的请求,转发给ActionForward对象所指向的JSP组件。
h、ActionForward所指向的JSP组件再生成动态网页,送回给客户端。
2.3B/S三层架构
三层B/S应用模式是为了解决两层结构中存在的问题而提出的,在三层模式中,在浏览器和服务器之间引入了应用层的概念,将应用规律移到应用层实现,与传统两层B/S模式相比,三层有着可伸缩性好、可管理性强、安全性高、软件重用性好以及节省开发时间等诸多优点。三层结构的应用程序把业务规律独立起来,组成一层或多层,这样就形成了浏览器界面层、中间业务规律层和后端数据库服务器层。
发送请求WebServer(DB数据)
Browser响应结果图2.3传统的2层B/S结构
图2.43层B/S结构
2.4系统环境
2.4.1系统开发环境
操作系统:RedHadLinux9或WINDOWSXP开发工具:MyEclipse+Tomcat+MySql
6
南昌航空大学学士学位论文
相关技术:Java+Struts1+JDBC+JSP+Ajax+JQuery+JavaScript+html+css等开发所需jar包:standard.jar,smartstruts1.1.jar,mysql-connector-
java-5.1.6-bin.jar,
Jstl.jar,json-lib-2.2.3-jdk15.jar,ezmorph-1.0.6.jar,commons-
pool.jar,commons-logging.jar,commons-lang-2.4.jar,commons-1.8.jar,commons-dbcp1.2.2.jar,
commons-collections-3.2.1.jar,commons-collections-3.1.jar,commons-
beanutils-1.8.0.Jar
2.4.2系统运行环境
系统所需要的软件环境:
开发工具:MyEclipse6.5或更高版本
WEB服务器:apache-tomcat-5.5.23或者tomcat6.0数据库:MySQL5.5
虚拟机(JVM):jdk-6-linux-i586或jdk-6-win-i586浏览器:FireFox或InternetExplorer(建议用FireFox)第三方JAR文件2.4.3配置环境变量
(1)设置系统的环境变量
在安装JDK后,右击我的电脑—>属性—>高级(选项卡)—>环境变量,如图2.5所示。
图2.5系统环境变量配置界面
7
南昌航空大学学士学位论文
在下面系统环境变量中找到classpath变量,假使没有的话创立一个新的classpath变量,设置变量值为:“;jdk安装目录/lib/dt.jar;jdk安装目录/tools.jar〞,否则,在后在原先classpath的值的基础上加上“;jdk安装目录/lib/dt.jar;jdk安装目录/tools.jar〞,设置系统的类路径,在编译运行Java程序时,假使有调用到其他类的时候,在classpath中寻觅需要的类。
设置完classpath之后,再找到path变量,假使没有的话,则创立一个path变量,设置path的值为“.;jdk安装目录/bin〞,否则,在path原先的值的基础上加上“;jdk安装目录/bin〞设置path路径,是Java编译时需要调用的可执行程序(如java,javac等)所在的地方。
(2)配置Tomcat
Tomcat是一个免费的开源的Servlet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有Sun的参与和支持,最新的Servlet和JSP规范总能在Tomcat中得到表达。由于Tomcat技术先进、性能稳定,而且免费,所以深受Java爱好者的爱好并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
将Tomcat解压后,进入MyEclipse6.5,点击Windows–>preferences->MyEclipseEclipseEnterpriseWorkbench->ServersTomcat,如图2.6所示。
图2.6Tomcat配置界面图
然后配置对应的Tomcat服务器,就拿Tomcat5.X来说,点击之后,浏览到Tomcat5.X的安装路径后并设置服务器的Enable为可用即可,如图2.7所示。
8
南昌航空大学学士学位论文
图2.7配置Tomcat路径界面
(3)项目的部署
将项目导入MyEclipse之后,添加相应的jar包和Liberary后,将项目部署到WEB服务器上,即可访问。点击工具栏的上布
署项目图标弹出部署界面如下
图所示,选择刚刚导入的项目,并点击ADD在弹出的界面中选择刚刚添加的WEB服务器,确认后返回到部署界面点击OK完成了项目的部署,如图2.8所示。
图2.8应用部署界面
2.4.4系统测试运行
启动Tomcat服务器后,在浏览器的地址栏输入http://localhost:8080/WebAppName/main/main.jsp,8080是Tomcat服务器的默认端口,localhost是本地主机名换成也可以访问到,webAppName是部署的应用名字(这里我的工程名字为dangdang),假使端口和其他服务器或软件冲突的话,会导致Tomcat无法启动,可以通过修改conf/service.xml配置文件来修改默认端口号。假使服务器正常启动,便可访问主页。
9
南昌航空大学学士学位论文
第3章需求分析与系统设计
3.1目标与要求
通用电子商务平台的设计是为了让更多的企业拥有自己的网上交易活动,扩展他们的经营模式。作为一个商业性质的电子商务平台,系统必需满足企业的业务要求,与企业的商业活动真正接轨,形成服务一体化。系统界面设计一定要友好,操作安全,服务便利快捷。系统总体流程必需合理规范,无规律错误。数据库必需设计合理,数据的存储一定要安全化。同时,这是一个网站,必需要考虑到服务器的承载压力和访问速度。作为一个大学生的毕业设计,它也必需符合大学生毕业设计的规范。
3.2用户特点
本系统的主要角色主要有三种:普通用户(游客),注册会员,系统管理员。不同的角色具有不同的权限,各角色权限如下:
普通用户:主页访问、书城快讯、图书查询、分类浏览、购买商品。注册会员:主页访问、书城快讯、图书查询、分类浏览、购买商品、购物车结算、基本信息修改、查看订单等功能。
系统管理员:可以进行前台所有功能操作权限,同时具备后台管理权限,如用户管理、订单管理、商品管理、类别管理。
图3.1会员和游客角色权限图
10
南昌航空大学学士学位论文
3.3系统功能结构描述
本系统主要采用B/S三层模式,同时利用典型的MVC框架Struts1设计完成。系统针对不同的角色,给予他们不同的操作权限,防止角色越权限进行非法的操作。本系统主要包括前台交易系统和后台管理系统,前台功能如下:
a.用户模块,其中包括用户注册、登录、登出以及修改个人基本信息。b.主页显示模块,其中包括分类浏览、分页查看、依照书名检索以及书城快讯功能。
c.购物车模块,该模块实现商品的添加、数量修改,商品删除、恢复、清空、结算。
d.订单模块,该模块实现订单确认、订单列表、查看订单和收件人等功能。后台功能如下:
a.用户管理,主要实现用户列表、分页显示、用户删除、修改、添加、详细显示以及依照用户ID或者邮箱进行探寻单个用户功能。
b.订单管理,主要实现订单列表、分页显示、修改、删除、结单、订单购物明细、单个用户订单查询功能。
c.商品管理,主要实现商品列表、分页显示、商品详细信息、商品添加、删除以及分类修改、商品基本信息修改。
d.类别管理,主要实现类别添加、删除、修改、类别子类查询等功能。e.管理员安全退出。系统功能结构如图3.2所示。
11
南昌航空大学学士学位论文
用户模块前台交易系统后台管理系统当当网电子商务平台订单模块商城快讯商品展示购物车用户管理商品管理类别管理管理员订单管理用户注册会员登录会员登出信息修改图书检索分类浏览分页显示商品刷新增删改查用户列表用户探寻增删改查类别列表探寻类别删改查结单探寻订单订单列表个人订单查看订单订单列表订单确认消息列表消息详情清空购物数量修改商品删除恢复列表购物结算增删改查商品列表商品探寻重新分类管理员登出管理员登录图3.2系统功能结构图
12
南昌航空大学学士学位论文
3.4系统流程图
图3.3系统流程图
3.5系统页面结构
系统主要展示主页面,其它的页面都是通过include指令包含到主页面中,各页面需要加载数据都是通过其在main.jsp中的div标签想服务器发送请求。通过css/html的div标签让各页面在主页面上融合显示。主页面主要包含以下页面:message.jsp(书城热讯页面),hot.jsp(图书热销页面),new.jsp(新书上架页面),recommend.jsp(编辑推荐图书页面),category.jsp(图书分类页面)。
热销图书页面hot.jsp是根据卖出的书的数量来进行排序的,所以每次加载主页面它都必需向服务器发送请求获取最新数据。利用JQuery请求代码如下:
$(function(){
$(\
13
南昌航空大学学士学位论文
图3.4主页面main.jsp结构
图3.5系统主页面视图
前台交易系统视图层介绍:
用户模块:login_form.jsp(用户登录页面)
register_form.jsp(用户注册页面)verify_form.jsp(邮箱验证页面)register_ok.jsp(注册成功页面)vali.jsp(验证用户是否登入页面)tologin.jsp(提醒登录页面)user_index.jsp(用户信息中心页面)modify_pwd.jsp(用户密码修改页面)address_query.jsp(查询收件人页面)
14
南昌航空大学学士学位论文
主页面模块:main.jsp(主页面)
book_list.jsp(图书列表显示)
product.jsp(图书详细页面)
searchbook_list.jsp(图书探寻结果页面)message.jsp(热讯消息列表页面)
订单模块:address_form.jsp(填写收件人地址信息页面)
order_info(确认订单页面)order_ok.jsp(订单生成页面)order_list.jsp(用户订单列表页面)item_list.jsp(购物明细列表)
购物车模块:cart_list.jsp(购物车详细页面)后台管理系统视图层介绍:
管理员模块:manager_login.jsp(管理员登录页面)
index.jsp(后台管理主页面)
用户管理:user_list.jsp(用户列表页面)
user_add.jsp(用户添加页面)user_detail.jsp(用户详细信息页面)user_update.jsp(用户信息修改页面)
订单管理:order_list.jsp(订单列表页面)
search_user_order.jsp(单个用户订单列表页面)order_detail.jsp(订单详细信息页面)
order_update.jsp(订单信息修改页面)
商品管理:book_list.jsp(图书列表页面)
book_add.jsp(图书添加页面)
book_detail.jsp(图书详细信息页面)book_update.jsp(图书信息修改页面)book_search.jsp(图书探寻结构页面)
类别管理:category_list.jsp(类别列表页面),
category_add.jsp(类别添加页面)
category_detail.jsp(类别详细信息页面)
category_update.jsp(类别信息修改页面)
15
南昌航空大学学士学位论文
第4章数据库的设计
4.1MySql数据库的简介
MySQL是一个小型关系型数据库管理系统,也是最受欢迎的开源SQL数据库管理系统,它由MySQLAB开发、发布和支持。MySQLAB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的其次代开源公司。MySQL是MySQLAB的注册商标。MySQL是一个快速的、多线程、多用户和顽强的SQL数据库服务器。从计算机可以很好的处理大量数据以来,数据库管理系统就在计算机处理和独立应用程序或其他部分应用程序中扮演着一个重要的角色。
4.2数据库设计要点
数据是一个系统中的最终操作结果,因此数据库的设计必需合理规范。数据库的设计是系统的开发前提,一个数据库设计的是否合理,直接关联着整个系统的开发,一旦数据库设计出现问题,那么将会导致这个系统的开发受到严重阻碍。另外,数据操纵的安全性也要加以控制,防止数据外泄造成严重后果。
4.3系统E-R关系图
系统主要设计了d_user(用户表),d_product(产品表),d_book(图书表),d_category_product(产品类别关系表),d_category(类别表),d_order(订单表),d_item(订单项表),d_receive_address(接收人信息表),d_message(商城消息表)9个数据表。
16
南昌航空大学学士学位论文
图4.1系统E-R关系图
(1)用户表主要用来保存注册用户的信息,进行登录验证、购买物品等操作。
积分昵称验证状态邮箱编号密码登录时登录IP用户信息表图4.2用户实体及属性
(2)图书表主要用来保存某本图书的相关信息,与产品表相关联。
商品图片出版社编号图书表商品热销出版日期图书名称商品描述商品原图4.3图书实体及属性图
17
南昌航空大学学士学位论文
(3)商城消息表主要用来保存一些商城的相关消息。
商城消息表图4.4消息实体及属性图关键字发布时间编号消息内容(4)分类产品关系表主要用来表示产品和类别之间的关系,即某项产品是属于哪一类别的。一个类别下可以包含多种产品,一项产品只能属于一个类别。
分类产品关系表图4.5分类产品关系实体及属性图
编号产品ID分类ID(5)订单主要用来保存用户购买的物品,其中包括了收件人的备份信息。一个订单包含大量订单项,表示该订单中的某一项物品。
编号订单表订单金额订单号发货状态订单日期手机号码
邮编电话号码图4.6订单实体及属性图
收货人姓名收货地址(6)收货人信息表主要用来保存当前用户的收货人信息,一个用户可以为多个人订购物品。
18
南昌航空大学学士学位论文
手机号码电话号码编号收货人信息收货人姓用户ID收获地址邮编图4.7收货人实体及属性图
(7)分类表主要用来保存类别关系,包括一个类别的父类别以及该类别的所有子类别。
英文分类名编号中文分类名类别描述分类表父类ID图4.8类别实体及属性图
(8)产品表主要用来保存某项产品的相关市场信息,譬如价格、是否买完等,与图书表一对一关联。
图4.9产品实体及属性图是否下架当当价关键字产品表市场价编号产品名称上架时间描述(9)订单项表主要用来表示某一个订单中所购买物品的详细状况,一个订单项只对应一张订单表。
19
南昌航空大学学士学位论文
编号订单号商品名称
当当价商品数目订单项价格总计
图4.10订单项实体及属性图
4.4数据表结构
(1)用户表d_user,主要包含用户编号、邮箱、密码、积分、昵称、邮箱验证状态、邮箱验证码、最终登录时间、最终登录IP。
表4-1用户表(d_user)
字段名称
idemailpasswordnicknameuser_integralis_email_verifylast_login_timelast_login_ipemail_verify_cod
e
类型int(12)varchar(50)varchar(50)varchar(50)int(12)char(3)bigintvarchar(15)varchar(50)
约束pknotnullnotnullnotnullnotnull,default
'0'defaultnulldefaultnulldefaultnull
描述用户ID用户邮箱密码昵称积分邮箱验证状态最终登录时间最终登录IP邮箱认证码
(2)图书表(d_book),主要包含图书ID、、出版社、出版时间、字数、版本、总页数、印刷时间、国家图书统一编号、介绍、目录预览。
20
南昌航空大学学士学位论文
表4-2图书表(d_book)
字段名称idauthorpublishingpublish_timewhich_edtionword_numbertotal_pageprint_timeISBNcategoryauthor_summary
类型int(12)varchar(200)varchar(200)
bigintvarchar(15)varchar(15)varchar(15)Int(20)varchar(25)
texttext
约束PKnotnullnotnullnotnulldefaultnulldefaultnulldefaultnulldefaulnulldefaultnullnotnullnotnull
描述
数据库唯一标识ID
图书出版社出版日期哪个版本字数页数印刷时间ISBN目录预览简介
(3)商品表(d_product),主要包含产品ID、产品名称、描述、上架时间、市场价、当当价、关键字、是否下架、产品图片名称。
表4-3商品表(d_product)
字段名称
idprduct_nameadd_timefixed_pricehas_deletedfix_pricekeywordsproduct_picdescription
类型
int(12)varchar(100)bigint(20)doubleint(1)doublevarchar(200)varchar(200)varchar(100)
约束
pk,notnullnotnulldefaulttnulnotnullnotnullnotnulldefaulttnuldefaultnuldefaultnull
描述
商品编号商品名上架时间市场价是否下架当当价关键字商品图片名称
描述
(4)类别表(d_category),主要包含类别ID、中文名称、英文名称、父类ID、类别描述。
表4-4类别表(d_category)
字段名称
iden_namenamedescriptionparent_id
类型integervarchar(200)varchar(200)varchar(200)int(10)
约束PKnotnullnotnullnullnotnull
描述类别ID英文名字中文名字产品的描述父类ID
(5)产品与类别关系表(d_category_product),主要包含ID,商品编号ID,类别编号ID。
21
南昌航空大学学士学位论文
表4-5分类与产品表(d_category_product)
字段名称
idproduct_idcat_id
类型int(12)int(10)rint(10)
约束
auto_increment/PK
notnullnotnull
描述
数据库唯一标识ID
产品ID商品分类ID
(6)订单表(d_order),主要包含订单编号、用户编号、订单状态、订单生成时间、订单描述、订单总价、收件人姓名、收件人地址、邮政编码、手机号码、固定电话号码。
表4-6订单表(d_order)
字段名称iduser_idstatusorder_timeorder_desctotal_pricereceive_namefull_addresspostal_codemobilephone
类型int(12)int(10)int(10)bigint(20)varchar(100)
doublevarchar(100)varchar(100)varchar(8)varchar(20)varchar(20)
约束PKnotnullnotnullnotnullnotnullnotnullnotnullnotnullnotnullnotnullnotnull
描述订单号用户ID发货状态下单时间订单描述订单总金额收货人姓名收货人地址
邮编收货人电话收货人手机
(7)订单项表(d_item),主要包含订单项编号、订单编号、商品编号、商品名称、当当价格、商品数量、总价。
表4-7货物表(d_item)
字段名称
idorders_idproduct_idproduct_namedang_priceproduct_number
amount
类型int(12)int(10)int(10)varchar(100)doubleint(10)double
约束PK
auto_increment/
PKnotnullnotnullnotnullnotnullnotnull
描述订单号货物ID产品ID产品名字热销价产品数量产品价格
(8)收件人信息表(d_receive_address),主要包含编号、用户编号、收件人姓名、详细地址、邮政编码、手机号码、固定电话号码。
22
南昌航空大学学士学位论文
表4-8收货地址表(d_receive_address)
字段名称
iduser_idreceive_namefull_addresspostal_codemobilephone
类型int(12)int(10)varchar(100)varchar(100)varchar(8)varchar(20)varchar(20)
约束PKnotnullnotnullnotnullnotnullnotnullnotnull
描述数据库唯一标识
用户ID收货人姓名收货人地址邮编收货人电话收货人手机
(9)消息表(d_message),主要包含编号、关键字、消息内容、发布时间。
表4-9公告表(d_message)
字段名称idkeywordscontentout_time
类型int(12)varchar2(20)varchar(500)bigint(20)
约束PKnotnullnotnullnotnull
描述唯一标识消息关键词语消息内容发布时间
23
南昌航空大学学士学位论文
第5章前台模块设计与实现
本系统主要包含前台交易系统和后台管理系统,其中前台交易系统包括用户模块、主页模块、订单模块、购物车模块,前台功能结构如图5.1所示。
图5.1前台功能结构图
用户管理商品展示购物车管理书城快讯我的订单前台交易模块
5.1用户模块
用户模块主要实现了用户注册、登入/登出、修改信息、查看订单等功能,用户模块结构功能如图5.2所示。
用户登录用户注册用户信息修改用户登出用户模块图5.2用户模块功能结构图
5.1.1用户注册
统采用了JQuery(jquery-1.4.min.js)进行表单数据基本验证,注册页面register_form.jsp表单中的数据只要有一项不符合验证规则的数据,则表单提交按钮失效。为了保证用户注册的邮箱名在数据库中是唯一的,使用了Ajax技术向服
24
南昌航空大学学士学位论文
务器发送异步请求,假使数据库中已经存在,则在页面上提醒用户“此邮箱已经被占用〞的错误消息,用户注册流程如图5.3所示。
图5.3注册流程图
图5.4邮箱惟一验证效果界面
为了防止机器人捣乱胡乱注册,系统注册采用了图片验证码认证。验证码图片是用Javaawt包中的Color、Graphics、BufferedImage等类画出来的。服务器只要一生成验证码就把它保存在session中,用于提交表单时与用户输入的验证码比较,假使不一致,提醒用户“验证码出错〞,这时用户可以点击后面链接获取新的验证码,重新输入。点击后面的链接实际上是向服务器的CheckCodeAction发送请求,重新生成验证码。但是为了让浏览器能够每次执行
25
南昌航空大学学士学位论文
这个请求,必需让请求地址产生变化,否则浏览器默认是已经请求过的地址,不会重新请求一遍。方法如下:
onclick=\'+(newDate()).getTime();
图片验证码生成代码如下(CheckCodeAciton):publicclassCheckCodeActionextendsAction{
publicActionForwardexecute(
ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse){
response.setContentType(\//图片的内存映像
BufferedImageimage=new
BufferedImage(60,25,BufferedImage.TYPE_INT_RGB);
//获得画笔对象
Graphicsg=image.getGraphics();Randomr=newRandom();g.setColor(new
Color(r.nextInt(255),r.nextInt(255),r.nextInt(255)));
g.fillRect(0,0,60,25);g.setColor(newColor(0,0,0));Stringstr=\for(inti=0;i南昌航空大学学士学位论文
图5.10进入个人信息中心流程图
图5.11用户管理中心主页面
点击“查询订单〞,进入订单列表页面。假使当前用户没有下过订单,则告诉用户当前还没有您的订单记录;否则以列表的形式分页列出当前用户的订单记录。点击订单后面相应的详情,则可以查看当前订单的购物明细表。查询收件人菜单功能也是一样,假使当前用户没有在本商
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届河北省保定市重点中学高考数学必刷试卷含解析
- 2025届山西省忻州一中等四校高三下学期一模考试数学试题含解析
- 2025届上海市杨浦高中高考数学必刷试卷含解析
- 云南省曲靖市麒麟区二中2025届高考考前提分数学仿真卷含解析
- 2025届山东省莱阳市一中高三二诊模拟考试语文试卷含解析
- 陕西省洛南中学2025届高三3月份第一次模拟考试语文试卷含解析
- 2025届河南省兰考县第二高级中学高考数学考前最后一卷预测卷含解析
- QC/T 1206.1-2024电动汽车动力蓄电池热管理系统第1部分:通用要求
- 福建省建瓯市第二中学2025届高三压轴卷英语试卷含解析
- 广东省肇庆市重点中学2025届高三最后一模数学试题含解析
- 心理健康教育C证面试20个题目参考答案
- 农田春耕安全生产培训
- 22114-国家开放大学2023年春期末统一考试《人体解剖生理学》答案
- 小型农田水利初步设计
- 《系统解剖学》课程考试复习题库大全-6内脏部分
- 职务犯罪课件
- 2022-2023学年广东省东莞市高二(上)期末英语试卷(含答案解析)
- 农贸市场项目可行性研究报告
- 妇幼健康教育知识宣传
- 遗址迁移施工方案
- 养老机构风险管控清单
评论
0/150
提交评论