您好,欢迎来到客趣旅游网。
搜索
您的当前位置:首页软件工程毕业设计(论文)-B2C电子商务网站的设计与实现-精品

软件工程毕业设计(论文)-B2C电子商务网站的设计与实现-精品

来源:客趣旅游网


学 号N3060120217 分 类 号

毕业设计(论文)

B2C电子商务网站的设计与实现

学院名称 专业名称 学生姓名 指导教师

软件与信息工程学院 软件工程(软件工程方向)

2010 年 5 月

北京航空航天大学北海学院毕业设计(论文) 第 I 页

B2C电子商务网站的设计与实现

学生姓名: 指导老师:

摘 要

本设计目的是用JSP(JavaServer Pages)设计并制作一个B2C电子商务网站,并在制作的过程中熟悉商务网站的运作流程,掌握JSP应用技术,实践动态网页开发技术,体会结合使用JavaBean开发模型给Web应用的开发和维护带来的便捷,实践数据库操作等等。

本文首先阐述了开发设计此B2C电子商务网站的目的,然后列出了此B2C电子商务网站的业务流程和功能模块及实现方案。用户可以进行商品查询,店铺查询,查看新闻、活动消息等一些简单操作,还可进行商品及店铺的收藏,用户可以利用购物车进行商品的买卖并可根据需求更改或删除购物车中的商品的购买信息,等一系列设计到个人数据的操作。会员可以在我的优选这个页面中查看自己的个人信息,并可清查上次的登录时间, 以方便确认账号的安全性。在具体的程序设计中,采用了Dreamweaver作为开发工具,用JSP开发与MySQL数据库交互的动态网页。

关键词:B2C,电子商务, WEB服务, Dreamweaver,JSP,MySQL

北京航空航天大学北海学院毕业设计(论文) 第 II 页

B2C e-commerce web side design and implementation

Author:Fanli

Tutor:Wangyong

Abstract

This is designed to use the JSP (JavaServer Pages) to design and produce a B2C e-commerce website and are familiar with the process of making the operation of business processes web master JSP application technology, practice development of dynamic web page technology, experience combined with JavaBean development model to the Web application development and maintenance to bring the convenience, practice database operations and so on.

Firstly it explains the development of B2C e-commerce web site design for this purpose, and then tired and out of the B2C e-commerce website business processes and function modules and programs. Users can make product inquiries, shop query, view news, event information and some simple operations, but also for the collection of goods and shops, the user can use the shopping cart for the sale of goods can be changed or deleted based on the demand of goods shopping cart purchase information, and a series of design to the operation of personal data. I preferred members can view this page your personal information and can check the last login time, to facilitate the confirmation account security. In the specific program design, using Dreamweaver as a development tool, developed using JSP and MySQL database, interactive dynamic web pages.

Keywords: B2C,e-commerce,WEB services,Dreamweaver,JSP, MySQL

北京航空航天大学北海学院毕业设计(论文) 第 III 页

目 录

第1章 绪论 ................................................................................................................................... 1 1.1B2C电子商务网站简介与发展 ............................................................................................ 1 1.2设计目的与章节介绍 ........................................................................................................... 2 第2章 网站业务流程和设计方案 ............................................................................................... 3 2.1业务流程 ............................................................................................................................... 5 2.2主要功能模块 ....................................................................................................................... 8 第3章 数据结构设计 ................................................................................................................... 9 3.1系统类 ................................................................................................................................. 13 3.2存储数据 ............................................................................................................................. 14 3.3数据库表间逻辑关系图 ..................................................................................................... 15 第4章 开发环境说明 ................................................................................................................. 17 4.1 操作系统 ............................................................................................................................ 17 4.2 服务器 ................................................................................................................................ 17 4.3 开发语言 ............................................................................................................................ 18 4.4 开发工具 ............................................................................................................................ 19 4.5 数据库 ................................................................................................................................ 19 第5章 程序设计说明 ................................................................................................................. 19 5.1 Web服务的概念 ................................................................................................................. 19 5.2 Web服务的开发周期 ......................................................................................................... 19 5.3 开发过程 ............................................................................................................................ 20 5.3.1软件安装 .......................................................................................................................... 20 5.3.2下载并安装JDK6.0 TOMCAT 5.5 ................................................................................. 20

北京航空航天大学北海学院毕业设计(论文) 第 IV 页

5.3.3 配置开发环境 ............................................................................................................... 20 5.4.4 安装数据库 ................................................................................................................... 20 5.4.5 设置站点并连接数据库 ............................................................................................... 21 5.4.6 编写JAVABEAN函数 ................................................................................................ 22 5.4.7 网页制作 ....................................................................................................................... 25 结 论 ....................................................................................................................................... 31 致 谢 ....................................................................................................................................... 32 参考文献 ....................................................................................................................................... 33

北京航空航天大学北海学院毕业设计(论文) 第 1 页

第1章 绪 论

1.1 B2C电子商务网站的简介与发展

B2C(Business to Customer) 电子商务是以Internet 为主要手段,由商家或企业通过网站向消费者提供商品和服务的一种商务模式。目前,在Internet 上遍布了各种类型的B2C 网站,提供了如服饰、书藉、食品、电子产品、话费充值等各种消费品和服务。

中国互联网在经过十余年的发展后,已经逐渐深入人们工作、生活、娱乐等方方面面;同时,也创造出许多具有广阔前景行业,电子商务便是其中之一。根据艾瑞咨询《2008年第三季度中国网络购物市场监测报告》数据显示,2008年第三季度中国B2C网络购物环比增长20.6%,交易额达24.2亿元。

在过去的数年间,阿里巴巴、淘宝、支付宝、百度、当当们作为时代的先行者为电子商务的发展奠定了基础,也培育了B2C市场。阿里巴巴在的高调上市,为2007年的中国互联网世界涂上了一道最浓烈的色彩,宣示着一个新的时代——“互联网应用时代”的到来。然而随着经济的发展和电子商务在中国的发展正在开拓前进, 光一些C2C平台是满足不了,一些企业的要求和发展的。他们更需要的是有自己企业的品牌行象推广自己的产品。这个时候B2C就逐渐的走向新世纪的舞台,例如:京东、凡客,一号店,红孩子等一些优秀的B2C网站,他们在短短的在几年间,发生那历史性的变化,为中国的B2C行业做出那榜样,给我印象最深的是一号店网上超市,他们在短短的1年间就实现那盈利,对于一般的同行业的人来说,是很难做到的,像当当,卓越他们这样大的网站的一些情况,我想大家应该都清楚。尽管B2C成交额和C2C相比仍有一定差距,但在很多方面仍存在较大发展空间,市场潜力也吸引了众多厂商的加入,市场竞争日趋激烈。从长远来看,企业对消费者的电子商务将取得快速发展,并将最终在电子商务领域占据重要地位。

北京航空航天大学北海学院毕业设计(论文) 第 2 页

1.2 设计目的

开发设计这个题目,主要是看好电子商务的前景及其广阔的发展空间,并能在开发的过程中熟悉电子商务的业务流程及运作,学习并研究JSP技术,熟悉Web开发的流程及数据库的开发技术,从而提高个人的就业竟争力。

北京航空航天大学北海学院毕业设计(论文) 第 3 页

第2章 网站业务流程和设计方案

2.1 业务流程

本设计实现了一个动态的B2C电子商务网站,本网站系统根据不同的登录角色及他们所应有的权限及承担的任务的不同,流程图也不尽一样。本系统的流程图主要包括面向买家(会员)和面向系统管理员两部分。系统流程图如下图所示。

N用户(users)用户注册商品浏览店铺浏览新闻查看注册验证登录N角色判断Y会员(买家)选择服务登录验证YY后台管理员选择服务新闻广告查看店铺收藏店铺搜索及浏览商品收藏商品搜索及浏览购物车个人信息查询商品设置公告设置店铺设置订单管理收银台收藏夹查删改购物车查删改订单查询会员信息管理返回主页面

图2.1 系统流程图

北京航空航天大学北海学院毕业设计(论文) 第 4 页

用户(买家)不登陆时可以对网站中的商品进行查询等一些简单操作,但无法进行商品及店铺的收藏,及商品的买卖等一系列涉及到个人数据的操作。当用户登录时,系统会根据用户名判断登录用户的角色(普通会员或系统管理员),从而在判断登录成功时返回到不同的页面(商城的主页或后台管理的主页)。

会员登录后,可以进行商品查询,店铺查询,查看新闻、活动消息等一些简单操作,还可进行商品及店铺的收藏,用户可以利用购物车进行商品的买卖并可根据需求更改或删除购物车中的商品的购买信息,等一系列设计到个人数据的操作。会员可以在我的优选这个页面中查看自己的个人信息,并可清查上次的登录时间,以方便确认账号的安全性。

系统管理员登录后,可以进行商品设置(包括商品的类别设置、商品的信息设置、商品查询、增加、删除还包括首页的特价商品、最新商品、及热卖商品的展示设置等),店铺设置(包括店铺信息的查、增、删、改等),公告设置(包括新闻公告信息的查、增、删、改等),广告设置(包括广告信息的查、增、删、改等),订单设置(包括订单信息的查、增、删、改等),会员信息设置(包括会员信息的查、增、删、改等)。 2.2 主要功能模块

电子商务网站分为面向用户(买家)的前台和面向系统管理员的后台。其中根据前台的功能特点,可划分为商品查询、店铺查询、商品展示、新闻公告、购物车、收藏夹管理、支付管理、订单管理、会员原理九个部分,各部分及其具体详细功能模块如下。

1.商品查询模块。用户可以通过输入的关键字查询所需的特定商品,还可以通过一些详细条件进一步筛选已查到的商品并根据需要对其排序。

2. 店铺查询模块。用户可以通过输入的关键字查询所要找的店铺,还可以通过一些详细条件进一步筛选已查到的店铺并根据需要对其排序。

3. 商品展示模块。 首页中主要是最新商品、特价商品、和热卖商品的展示,以方便用户了解商品的最新潮流信息。

4. 新闻公告模块。 在主页及一些页面显示方便用户了解最近的活动级商城的一些信息。

5. 购物车模块。买家在搜索到心仪的商品可以拍下多件都放到购物车中一次性算

北京航空航天大学北海学院毕业设计(论文) 第 5 页

邮费下单,免去了多次下单多次填写收件信息的麻烦。同时用户还可以修改购物车中的购买数,并可删除不要的商品。

6. 支付管理模块。系统会自动根据购物车中的商品信息算出总价并加上邮费,算出消费金额,并引导买家进行支付。由于技术和时间的支付模块与网银相连的部分没有做,只用一个外部链接省略掉了。

7. 订单管理模块。用户可根据意愿修改并删除某些订单。

8. 会员管理模块。用户可以注册会员信息并可进行登录。由于时间有限注册信息只写了一小部分,实际还应该包括身份验证这一方面的安全措施。还有密码找回服务,找回的密码应该发送到用户当时注册时填写的邮箱里,此部分因技术原因没有实现。

9. 收藏夹管理模块。收藏夹非为商品收藏和店铺收藏:用户可以把自己喜欢但暂时不想购买的商品收藏起来,以便日后查询,收藏夹通过用户名来区分并储存在数据库中,并通过用户名来调出相应数据。用户还可以把喜欢的店铺收藏起来,以方便以后快速的找到这些店铺。

前台功能模块如下图:

北京航空航天大学北海学院毕业设计(论文) 第 6 页

B2C电子商务网站首页 会员功能模块 商品查询 店铺查讯询 商品展示 新闻公告 购物车 支付管理 订单管理 收藏夹管理 个人信息管理 特定商品查询 筛 选 排序 特定店铺查询 筛选 排序 热卖商品 特价商品 推荐商品 添删修加 除 改 结算付款 填下修写单 改订订单 单 收藏店铺查找 收藏商品查找 添加、删除收藏 查询修改个人信

图2.2 前台功能模块

后台的功能,主要是商品管理,店铺管理,公告管理,广告管理,会员管理,订单管理六个模块,由于各部分的技术功能相似,所以只完成部分典型的功能。各部分及其具体详细功能模块如下。

1. 商品管理模块。包括商品查询、商品详细查询、商品添加、商品删除、首页商品展示、商品类别添加等。管理员可以在这里管理现有的商品,商品查询是不分条件的显示全部商品,详细查询是可根据商品名称,商品所属店铺,商品分类及商品状态等其中的一条或全部条件查询符合条件的商品。首页商品展示中管理员可以将首页中的特价商品、最新商品、及热卖商品的所展示的商品撤销或替换。

2. 店铺管理模块。包括店铺查询、店铺详细查询、店铺添加、店铺删除等功能模块。详细功能同商品管理模块类似。

北京航空航天大学北海学院毕业设计(论文) 第 7 页

3. 公告管理模块。包括首页新闻设置、新闻信息查询、新闻信息删除、新闻信息修改、新闻信息添加等。管理员可以通过首页新闻设置替换首页中显示的新闻信息。新闻删除功能可以删除数据库中时间较久的新闻,并且上传新的新闻。

4. 广告管理模块。包括首页广告设置、广告查询、广告删除、广告修改、广告添加等。可以更新广告的相关细节内容。

5. 会员管理模块。包括会员信息查询,增加,删除,更改会员信息等等。 6. 订单管理模块。可以查询订单、删除、更改、增加订单等,以监督市场的运行。 后台各部分功能模块如下图:

北京航空航天大学北海学院毕业设计(论文) 第 8 页

B2C电子商务网站首页 管理员功能模块 商品管理模块 店铺管理模块 新闻公告管理模块 广告管理模块 订单管理模块 会员管理模块 商品查询、 删除、 修改 首页商品展示设置 商品类别设置 店铺查询、 删除、 修改 新闻查询、 删除、 修改 首页新闻公告设置 广告展示设置 订单查、删、改、增 会员信息查、删、改、增

图2.3 后台功能模块图

北京航空航天大学北海学院毕业设计(论文) 第 9 页

第3章 数据结构设计

3.1 系统类

系统包括用户、商品、店铺、新闻四个主要实体。每个实体都用一个类表示。 各类定义如下: Consumer 类 用户类 public class Consumer {

private String id;//用户序号

private String consumername;//用户名(唯一) private String password;//登录密码 private String realname;//真实姓名 private String question;//取回密码问题 private String answer;//取回密码答案 private String email;//常用邮箱 private String logindate;//上次登录时间 }

Goods 类 商品类 public class Goods {

private int id;//商品在goods表中的id号 public String name;//商品名称 public int type1;//商品的大类别号 public int type2;//商品的小类别号 public int type3;//商品的最小类别号 public String goodFrom;//商品产地 public String introduce;//商品介绍 public String creatTime;//商品添加时间

北京航空航天大学北海学院毕业设计(论文) 第 10 页

public int nowPrice;//现价 public int specialPrice;//特价价格 public int count;//已卖出的数量 public String specialMark;//是否特价 public int shopId;//商品所属店铺的ID public String goodsNum;//商品货号 public String band;//商品品牌 public String size;//尺寸 public String color;//颜色

public String majorPictureUrl;//商品的主图片地址 public String page;//商品展示地址 }

Shops 类 店铺类 public class Shops {

private int id;//店铺在Shops表中的ID号 public String name;//店铺名 public int bossId;//店主的ID

public int goodsAmount;//拥有的商品数 public int level;//级别

public String goodsType;//店铺所卖商品种类 public String startDate;//开店时间 public String provice;//所在省 public String city;//所在市

public int telephone;//联系电话 public String address;//地址

public int usualMailCharge;//平邮价格 public int fastMailCharge;//快递价格

北京航空航天大学北海学院毕业设计(论文) 第 11 页

public int EMSCharge;//EMS价格 }

News类 新闻公告类 public class News {

int id;//序号

String title;//新闻题目 String contents;//新闻详细内容 String createDate;//新闻发表时间 int showMainPage;//是否在主页中显示 String page;//新闻页面 } 3.2 存储数据

根据B2C电子商务网站的功能需要,需存储的数据如下:

用户信息:用户序号、用户名(唯一)、用户真实姓名、登录密码、取回密码问题、取回密码答案、邮箱、(注册)登录日期。

商品信息:商品序号、商品名称、商品的大类别号、商品的小类别号、商品的最小类别号、商品产地、商品介绍、商品添加时间、现价、特价价格、已卖出的数量、是否特价、商品所属店铺的ID、商品货号、商品品牌、尺寸、颜色、商品的主图片地址、商品展示地址。

店铺信息:店铺序号、店铺名、店主的ID、拥有的商品数、级别、店铺所卖商品种类、开店时间、所在省、所在市 、联系电话、地址、平邮价格、快递价格、EMS价格。

新闻信息:新闻序号、新闻题目、新闻详细内容、新闻发表时间、是否在主页中显示、新闻页面。

购物车信息:购物车序号、买家用户名、型号、颜色、数量、商品id、店铺名、单价、图片地址、页面地址、店铺地址、商品名称、平邮价格、快递价格、EMS价格。

收藏夹信息:序号、商品id、买家用户名、收藏时间、商品类别。

北京航空航天大学北海学院毕业设计(论文) 第 12 页

订单信息:序号、买家用户名、商品id、型号、颜色、数量、单价、邮购方式、店铺名称、收件人姓名、收件人地址、收件人邮编、收件人电话、给卖家的留言信息、商品名称。

3.3 数据库表间逻辑关系图

数据库表间逻辑关系图主要包括:Consumer表(用户),Goods表(商品),Shops表(店铺),Mainshow表(主页),Bike表(购物车),Collect表(收集),Order表(订单)。

用户通过验证进入主页后可以浏览新闻,商品,店铺。 用户进入店铺后购买商品,存放在购物车里,然后填写订单。

北京航空航天大学北海学院毕业设计(论文) 第 13 页

Consumer表 id consumername password realname question answer email logindate Goods 表 Id name type1 type2 type3 goodFrom ntroduce creatTime nowPrice specialPrice count specialMark shopId goodsNum band size color majorPictureUrl page Shops 表 id name bossId goodsAmount level goodsType startDate provice city telephone address usualMailCharge fastMailCharge EMSCharge mainshow 表 id new cheep best Bike 表 Id Consumername Bsize Bcolor Bnum Goodsid Shopname Price Purl gurl surl goodsname usual fast ems Collect 表 Id Gsid Consumername Data type Order 表 Id Consumername Gooodsid Size Color Num Price Mail Shopname Rname Rtel Message Goodsname Orderid 图3.1数据库表间逻辑关系 北京航空航天大学北海学院毕业设计(论文) 第 14 页

第4章 开发环境说明

4.1 操作系统

由于条件有限,此电子商务系统仅在个人电脑(windows xp)上进行开发、运行和测试。 4.2 服务器

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是6.0。

它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;

Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

Tomcat用作JSP容器,负责接收浏览器客户端的Web请求,将请求传送给JSP Web应用处理,并将处理结果(响应)返回浏览器客户端。 4.3 开发语言

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

JSP的优点:一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。 系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。多样化和功能强大的开发

北京航空航天大学北海学院毕业设计(论文) 第 15 页

工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。 数据库连接配置代码: public Connection conn=null; public String UserName=\"root\"; public String UserPassword=\"yan\"; public String DatebaseName=\"b2c\";

private String DatabaseDriver=\"com.mysql.jdbc.Driver\"; //DataSource 数据源名称DSN private

String

DatabaseConnUrl=\"jdbc:mysql://localhost/\"+DatebaseName+\"?user=\"+UserName+\"&password=\"+UserPassword;

Class.forName(DatabaseDriver); //加载数据库驱动

conn = DriverManager.getConnection(DatabaseConnUrl);//取得连接 数据库编程和JDBC原理:

调用程序数据库管理系统操作文件中的数据结果集

图4.1 数据库编程和JDBC原理

4.4 开发工具

北京航空航天大学北海学院毕业设计(论文) 第 16 页

主要选用Dreamweaver做网站开发工具配合使用Eclipse用来编写JavaBean函数并用其轻松地生成.class文件。

Dreamweaver是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台和跨越浏览器的充满动感的网页。

Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发。 4.5 数据库

数据库主要采用MySQL数据库。电子商务网站本应选择一个大规模的数据库,在开始策划时本计划用SQL Server数据库,但由于安装密码的问题无法跟前台数据进行连接,所以选择较容易的MySQL数据库。

MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。

北京航空航天大学北海学院毕业设计(论文) 第 17 页

第5章 程序设计说明

5.1 Web服务的概念

Web服务(Web Service)是描述一些操作(利用标准化的 XML 消息传递机制可以通过网络访问这些操作)的接口。Web 服务是用标准的、规范的 XML 概念描述的,称为 Web 服务的服务描述。这一描述囊括了与服务交互需要的全部细节,包括消息格式(详细描述操作)、传输协议和位置。该接口隐藏了实现服务的细节,允许于实现服务基于的硬件或软件平台和编写服务所用的编程语言使用服务。这允许并支持基于 Web 服务的应用程序成为松散耦合、面向组件和跨技术实现。Web 服务履行一项特定的任务或一组任务。Web 服务可以单独或同其它 Web 服务一起用于实现复杂的聚集或商业交易。Web 是为了程序到用户的交互,而 Web 服务是为程序到程序的交互做准备。借助于标准化的XML文档,Web服务能够帮助集成异构分布式系统。 5.2 Web服务的开发周期

1. 构建

生命周期的构建阶段包括开发和测试 Web 服务实现、定义服务接口描述和定义服务实现描述。可以通过创建新的 Web 服务、把现有的应用程序变成 Web 服务和由其它 Web 服务和应用程序组成新的 Web 服务提供 Web 服务的实现。

2. 部署

部署阶段包括向服务请求者或服务注册中心发布服务接口和服务实现的定义,以及把 Web 服务的可执行文件部署到执行环境(典型情况下,Web 应用程序服务器)中。

3. 运行

在运行阶段,可以调用 Web 服务。在此,Web 服务完全部署、可操作并且服务提供者可以通过网络访问服务。现在服务请求者可以进行查找和绑定操作。

4. 管理

管理阶段包括持续的管理和经营 Web 服务应用程序。安全性、可用性、性能、服务质量和业务流程问题都必须被解决。

北京航空航天大学北海学院毕业设计(论文) 第 18 页

5.3 开发过程 5.3.1 软件安装

下载并安装JDK 6.0

JSP的应用服务器(tomcat)需要JRE(java Runtime Environment.Java 运行时环境)的支持才能运行JSP应用程序。在JSP应用开发过程中,需要使用JAVA编写的JAVA类(如JavaBean等)这些类的开发需要使用JDK开发工具。

下载并安装 TOMCAT 5.5

5.3.2 配置开发环境

在安装完JDK和Tomcat以后,需设置环境变量,才能使JDK工具盒Tomcat可以 非安装目录下运行。 5.3.3 安装数据库

注意在MySQL时要注意配置MySQL在TCP/IP通讯环境中的端口选择默认的3306端口即可。点“Next”,选择MySQL中的字符设置,注意,这里的选择将会影响你是否能在MySQL中使用中文。选择 gb2312字符集以便支持简体中文,这里的选择很关键,否则存入或输出中的的地方都会是乱码。 5.3.4 设置站点并连接数据库

注意在安装完MySQL数据库后,要将安装软件中的

mysql-connector-java-3.1.8-bin.jar 文件拷到Tomcat安装目录下如图(C:\\Program Files\\Apache Software Foundation\\Tomcat 5.5\\common\\lib),否则会一直无法连接数据库。

北京航空航天大学北海学院毕业设计(论文) 第 19 页

图5.1安装截图

数据库连接代码: package b2cpackage ; import java.io.*; import java.sql.*; public class sqlBean{

public Connection conn=null; //定义数据库连接对象 public ResultSet rs=null; public String UserName=\"root\"; public String UserPassword=\"yan\"; public String DatebaseName=\"b2c\";

private String DatabaseDriver=\"com.mysql.jdbc.Driver\";//定义数据库连接驱动程序 //DataSource 数据源名称DSN private

String

DatabaseConnUrl=\"jdbc:mysql://localhost/\"+DatebaseName+\"?user=\"+UserName+\"&password=\"+UserPassword;//定义数据库连接地址

public ResultSet executeQuery(String sql){ rs=null; try{

Class.forName(DatabaseDriver); //加载驱动程序

北京航空航天大学北海学院毕业设计(论文) 第 20 页

conn = DriverManager.getConnection(DatabaseConnUrl); //连接数据库

Statement stmt=conn.createStatement( ); rs=stmt.executeQuery(sql); }

catch(Exception ex){

System.err.println(\"执行查询有错误:\"+ex.getMessage() ); } return rs; } }

5.3.5 编写JavaBean函数

JavaBean 是一种Java写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 属性。

用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

下面仅列出其中的一个Consumer类的部分函数 package b2cpackage; import java.sql.ResultSet; import java.util.Date; public class Consumer {

private String id;//用户序号

private String consumername;//用户名(唯一) private String password;//登录密码

北京航空航天大学北海学院毕业设计(论文) 第 21 页

private String realname;//真实姓名 private String question;//取回密码问题 private String answer;//取回密码答案 private String email;//常用邮箱 private String logindate;//上次登录时间

public boolean consumerExist(String consumername)//判断此用户是否存在 {

boolean judage=false; String

sql=\"select

consumername

from

consumer

where

consumername='\"+consumername+\"' \";

sqlBean db=new sqlBean(); try {

ResultSet rs=db.executeQuery(sql); if(rs.next()) judage=true;

}

catch (Exception e) {

e.getMessage();

} return judage;

}

public boolean loginSuccess(String consumername,String password)//判断用户是

否登录成功

{

boolean judage=false; String

sql=\"select

consumername

from

consumer

where

consumername='\"+consumername+\"' and \"+

北京航空航天大学北海学院毕业设计(论文) 第 22 页

\"password='\"+password+\"' \"; sqlBean db=new sqlBean(); try {

ResultSet rs=db.executeQuery(sql); if(rs.next()) judage=true;

} catch (Exception e) { }

return judage;

e.getMessage();

}

public

void

addConsumer(String

consumername,String

password,String

realname,String question,String answer,String email )//注册添加新会员

{

String

sql=\"insert

into

consumer(consumername,password,realname,question,answer,email ) \" +

\"values('\"+consumername+\"','\"+password+\"','\"+realname+\"','\"+question+\"','\"+answer+\"','

\"+email+\"') \";

录时间

{

String sql=\"update consumer set logindate = '\"+logindate+\"' where }

public void modifyLoginDate(String consumername,String logindate)//修改用户登

sqlBean db=new sqlBean(); db.executeUpdate(sql);

consumername = '\"+consumername+\"' \";

sqlBean db=new sqlBean();

北京航空航天大学北海学院毕业设计(论文) 第 23 页

}

public ResultSet getLoginDate(String consumername)//获取用户登录时间 {

String sql=\"select logindate from consumer where consumername = db.executeUpdate(sql);

'\"+consumername+\"'\";

}

应用JavaBean 真正做到了代码的重用,只要在页面中注明

即可在下面通过才consumer对象调用Consumer类中函数,取得相应的数据。 注意事项:

1.在取得数据集后一定要对是否是空记录集做处理,否则很容易出错。

2.每更新JavaBean函数后都要重启TOMCAT服务,否则更新失效。系统还是会安更新之前的JavaBean函数运行。

3.编写String sql=\"select logindate from consumer where consumername = '\"+consumername+\"'\";即搜索数据库的SQL语句时要注意语句的正确性,如果不正确系统不会报错,只是做的数据库更新不会实现。例如:

String

sql=\"insert

into

consumer(consumername,password)

}

sqlBean db=new sqlBean(); ResultSet rs=db.executeQuery(sql); return rs;

values('\"+consumername+\"','\"+password+\"') \";

如果将consumer表中的字段名consumername写成name,则在执行此句时不会报错,但是杀入数据后数据库中的数据并不更新。

4.在数据库中给表命名时要注意不要与关键字雷同,例如:我在创建新表时给其命名: order 这是一个存储订单的表,数据库并没有报错,编写完SQL语句后运行,

北京航空航天大学北海学院毕业设计(论文) 第 24 页

系统也没有报错!但是order表中的数据并不更新,后发现order是一个关键字,所以所写的关于order表的SQL语句也都不能正确识别运行。

5.写SQL语句时加参数的时候字符串弄不对,得到的数据集是空的!报错异常! 5.3.6 网页制作

1.界面制作.使用DREAMWEAVER,代码大多都是自动生成的,但由于DREAMWEAVER自身的缺点还是给开发带来了困扰:难以精确达到与浏览器完全一致的显示效果。也就是说在所见即所得网页编辑器中制作的网页放到浏览器中是很难完全达到真正想要的效果,这一点在结构复杂一些的网页(如分帧结构、动态网页结构)中便可以体现出来; 页面原始代码的难以控制性,比如在所见即所得编辑器中制作一张表格也要几分钟,但要它完全符合我要求可能需要几十分钟,甚至更多时间。

下面是系统的主要页面:

图5.1 主页面

此页面是未登录情况下的主页面,用户可以进行简单的操作,包括商品浏览,新闻公告浏览,但是无法进行商品及店铺收藏,及商品买卖等一系列涉及到个人数据的操作。

北京航空航天大学北海学院毕业设计(论文) 第 25 页

图5.2 搜索页面

注意:DREAMWEAVER添加数据.可以用DREAMWEAVER本身自带的记录集进行添加数据,但由于工具的局限性,其自动生成的代码常出现错误,还需手动改正。

取得页面中输入并提交的的数据时用request.getParameter(\"txtprice1\");用此函数获得的文本框的值 如果文本框内没有输入任何数据,则得到的值为\"\"即空字符串 而不是NULL。

北京航空航天大学北海学院毕业设计(论文) 第 26 页

图5.3 店铺页面

会员登录后,可以进行商品买卖,店铺收藏等操作,上图是店铺页面,包括商品的价格,邮费,尺码,颜色,和购买数量等信息。

图5.4购物车页面

注意:手工添加数据.使用JavaBean函数取得数据集在用getString()和getInt()函数取得数据集中相应关键字的值。

北京航空航天大学北海学院毕业设计(论文) 第 27 页

部分代码如下: 日期

if(rs.next()) //少此句则报错

logindate=rs.getString(\"logindate\"); String logindate=\"\"; String consumername=\"\";

consumername=(String)session.getAttribute(\"consumername\"); session.setAttribute(\"consumername\

ResultSet rs=consumer.getLoginDate(consumername);//取得用户的上次登录时间

图5.5填写订单页面

注意:当用户进入系统时,用户所进行的所有操作都由用户名作为唯一的标识并记录在数据库中,所以系统中涉及到用户登录的页面都用

String consumername=\"\";

consumername=(String)session.getAttribute(\"consumername\"); session.setAttribute(\"consumername\以上代码进行用户名的传递。

北京航空航天大学北海学院毕业设计(论文) 第 28 页

图5.6收藏夹页面

收藏夹包括商品收藏和店铺收藏,可以方便会员进行商品买卖,会员可以在首页的收藏夹进入收藏夹页面,可以删除,修改收藏的信息。

注意:设置文本框是时,如果文本框中所要提交的数据是要添加到数据库中时,文本框的最多字符数要根据数据库的相应的字段的设定而设定。

北京航空航天大学北海学院毕业设计(论文) 第 29 页

图5.7后台管理员页面

系统管理员登录后,可以进行商品设置(包括商品的类别设置、商品的信息设置、商品查询、增加、删除还包括首页的特价商品、最新商品、及热卖商品的展示设置等),店铺设置,公告设置,广告设置,订单设置,会员信息设置。

注意:用request.getParameter(\"txtprice1\");取得提交的数据并将其存储在字符串中时不可以直接写成String price= request.getParameter(\"txtprice1\");

这样会报错!

要先定义String price=””;

再对price进行赋值,price= request.getParameter(\"txtprice1\");这样才能运行通过。

北京航空航天大学北海学院毕业设计(论文) 第 30 页

结 论

本B2C电子商务系统,完成了任务书中的任务要求,在功能大体一致且要求技术相同的部分进行了略过,一个是时间有限,再也是由于技术相同,且我已掌握此部分的技术要领,没必要去不断地做重复的东西,可以用这段时间学习更多更好的技术,电子商务网站本来的商品分类众多,我个人精力有限只做了此网站中较典型的一两种商品分类。通过这次毕业设计,让我更深刻的学习了JSP,并且能更熟练地运动dreamweaver开发工具,并对电子商务也有了一定得了解,并重新熟悉了一遍从配置到开发的一些列过程,可以说这中间是受益匪浅的,也为今后的学习和工作奠定了基础,增加了信心。这次毕业设计是我进入社会前一次很好的实践的机会,是培养思考问题和自学能力的锻炼,使我意识到必须奋斗学习才能在社会工作中展示自己的价值,适应社会的需要。

北京航空航天大学北海学院毕业设计(论文) 第 31 页

致 谢

首先要感谢我的导师王勇老师。

从本论文的开题到完成,无不包含着王勇老师的心血。感谢老师的指点,让我不必在不重要的地方浪费太多的时间。老师对我的疑问都做了耐心的解答,让我受益匪浅,在此对老师的付出表示由衷的感谢。

在做毕业设计之前低估了电子商务系统的工程量,所以在后半阶段的时间安排有点紧。是家人的鼓励,朋友的帮助我才能完成我的论文,在此我也谢谢参与和帮助我的朋友们,我很感动!谢谢你们!

北京航空航天大学北海学院毕业设计(论文) 第 32 页

参考文献

[1]耿祥义,张跃平. JSP实用教程(第2版)[M]. 北京:清华大学出版社,2007:78-90. [2]朱志国.Dreamweaver8基础与实例教程[M]. 北京:电子工业出版社,2009:140-149.

[3]耿祥义,张跃平. Java大学实用教程[M]. 北京:电子工业出版社,2008:88-90. [4]冯艳奎. JSP实用案例教程[M]. 北京:清华大学出版社,2001:120-123. [5]张领. ASP.NET项目开发全程实录[M].北京:清华大学出版社,2008:57-80. [6]Bryan Basham. Head First Javascript[M].美国:O'Reilly Media, Inc,2008:92-95.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- kqyc.cn 版权所有 赣ICP备2024042808号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务