基于Java weB开发的网上商城系统doc.docx

上传人:b****8 文档编号:11465747 上传时间:2023-03-01 格式:DOCX 页数:30 大小:686.62KB
下载 相关 举报
基于Java weB开发的网上商城系统doc.docx_第1页
第1页 / 共30页
基于Java weB开发的网上商城系统doc.docx_第2页
第2页 / 共30页
基于Java weB开发的网上商城系统doc.docx_第3页
第3页 / 共30页
基于Java weB开发的网上商城系统doc.docx_第4页
第4页 / 共30页
基于Java weB开发的网上商城系统doc.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

基于Java weB开发的网上商城系统doc.docx

《基于Java weB开发的网上商城系统doc.docx》由会员分享,可在线阅读,更多相关《基于Java weB开发的网上商城系统doc.docx(30页珍藏版)》请在冰豆网上搜索。

基于Java weB开发的网上商城系统doc.docx

基于JavaweB开发的网上商城系统doc

 

本科毕业论文(设计)

 

题目:

基于JSP购物网站的设计与开发

学院:

数学与计算机科学学院

班级:

08级计算机本科三班

*******

指导教师:

吕秉东职称:

讲师

完成日期:

2012年6月2日

基于JSP购物网站的设计与开发

 

摘要:

随着网络化和信息化的发展,人们生活水平的不断提高,互联网已逐步深入人心,人们不再满足于传统的购物方式,“网上购物”这种新型的购物方式已经为更多的人所接受,越来越多的网络商店走入了大众的生活,对电子商务网站的设计和实现技术要求也越来越高,网上商品销售也成为商家新的运作模式。

本网站主要以MySQL为数据库开发平台,采用JSP开发技术实现前台用户页面和后台管理员管理页面。

此系统的开发改善了一些技术和增加创新,使之代替了传统的销售方式,解决了管理困难、销售成本高等问题。

同时此系统具有使用简单,用户界面友好,便于操作等特点。

关键词:

JSP;MySQL;商城

 

1绪论

1.1网站的开发背景

随着社会的不断进步及网络经济时代的蓬勃发展,互联网已逐步深入人心,人们不再满足于传统的购物方式,“网上购物”这种新型的购物方式已经为更多的人所接受。

信息技术飞速发展,手机的销售和管理水平也随之提高,逐步实现信息化,缩减中间渠道,形成网上直销,免去时间和空间的限制,在传统购物的过程中,这些中间环节是不可能避免的,要想买到自己所需要的商品,就必须去实体店,也就是人们所说的商场,如果网上商城开发成熟,人们就可以坐在家里,或者是任何一个地方,只要有一台联网的电脑,就能买到自己需要和想要的商品,极大的方便了人们的生活,节省了很多时间,此外网上的商品种类齐全,对一些特殊商品的需求也能得到满足,由于网上购物可以减少很多中间环节,大大的节省了成本,只需很少的运费就能送到家,所以再价钱上也占很大的优势。

在国外,“网上购物”的理念已经十分成熟,结合购物搜索、在线图形技术等实现在线试穿、在线着装,并且可以以平面图像、3D影像的表现形式使用户的体验水平非常人性化。

而我国的信息化购物起步相对较晚,但由于电子商务的飞速发展,信息化程度有了明显的提高,像淘宝、当当、卓越等网站和新浪、搜狐的网上商城等,极大的促进了我国商品销售信息化的发展。

在设计上,该系统采用MVC模式,由于是满足一些小型企业和商家的需求,不可能把所有的功能都完善,这对于任何一个网站来说也是不可能实现的,随着客户需求的增加,后期的升级与改进是很必要的,这种开发模式将显示模式与设计模式相分离,对于后期的开发人员来说,是一件极大的好事,只需增加相应的代码,提供相应的接口就可以了,而不必过多的考虑系统的整体情况,当然,如果是大型的网站,就必须运用一些架构等,但对于这样的小型网站来说,这种模式就足够了。

此网上手机销售网站正是针对传统销售出现的一系列问题而开发的,实现了销售的高效率、低错误、信息化、自动化和规范化。

1.2系统开发工具概述

1.2.1JSP简介

JSP(JavaServerPages)是由SunMicrosystems公司倡导,许多公司参与一起建立的一种动态网页技术。

就是普通网页文件中插入Java程序和JSP标记,就形成了JSP文件。

JSP是在服务端执行的,使用Java语言编写和封装生成动态网页的处理逻辑,将逻辑与显示分离,服务器遇到访问JSP页面的请求时,先执行网页中的程序代码段,然后再将执行后的结果和JSP文件中的HTML代码生成一个HTML文本返回给客户端,因此客户端只需要有浏览器就能浏览。

1.2.2JSP的优点

JSP是目前主流的网络编程环境之一,是一种将各种Web元素组合在一起的服务器技术,是一个网站开发的平台,它提供了生成Web应用程序所必需的各种服务。

主要有以下几个好处:

(1)一次编写,到处运行。

(2)系统的多平台支持。

(3)强大的可伸缩性。

(4)多样化和开发工具的支持。

(5)支持服务器端组件。

1.2.3JSP的弱势

(1)很高的复杂性,因为具有跨平台性和强大的伸缩性,所以无形之中就增加了复杂程度。

(2)Java的运行是靠class常驻内存来实现的,占用内存较高。

此外还需要一定的硬盘空间存放.java文件和.class文件以及相应的版本文件。

1.2.4MyEclipse简介

MyEclipse是一个用于开发Java、J2ee的Eclipse插件集合,功能强大,支持广泛,对各种开源产品的支持十分不错。

简单而言,MyEclipse是Eclipse的插件,是最强大的J2EE的集成开发环境之一,支持代码编写、配置、测试以及除错,MyEclipse6.0以后版本安装时不再需要安装Eclipse。

1.2.5MySql简介

MySQL是一种关联数据库管理系统,将数据保存在不同的表中,因此增加了速度并提高了灵活性。

MySQL使用SQL“结构化查询语言”,多种操作系统的支持,为多种编程语言提供了API,支持多线程,优化的SQL查询算法,可以处理大型数据库,支持多种存储引擎等,成本低、速度快、体积小和开放源码,由于它拥有这么多优点,所以许多中小型网站都采用MySQL作为网站的数据库。

1.2.6Tomcat简介

Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。

其性能稳定、技术先进,扩展性好,占用的系统资源小,支持邮件服务等与负载平衡等系统功能并且免费,得到了开发人员的喜爱和认可,成为目前流行的应用服务器。

1.2.7系统开发环境

A性能要求

本网站采用了JSP开发技术和MySQL数据库技术,因此必须在WindowsXP以上的操作系统上运行。

作为一个普通的小型网站来说,没有必要对所有的数据都进行加密。

B运行要求

硬件要求:

1)服务器端:

一台配置为512M内存,CPU为IntelPentium

2.0GHZ以上,硬盘容量为80G的微机.

2)客户端:

586以上的微机

软件要求:

1)服务器端:

使用语言:

JSP(JavaServerPages)

数据库:

MySQL

JSP编译环境:

J2SDK+TOMCAT+MySQL

操作系统:

WindowsXPProfessional以上

浏览器:

InternetExplore6.0以上版本

2)客户端:

IE6.0以上的浏览器版本,800*600分辨率以上,使用Windows9X/2000/NT/XP以上系统

2需求分析

2.1功能需求分析

一是前台顾客购买功能,客户进入网站首页可以查看最新上市的商品,正在搞活动的商品,商家推荐的商品,分类商品以及相关内容。

当用户选中某款商品时可以进行登录购买,如果不是本站会员也可以进行注册,然后再继续购买,与传统购物流程相似,但操作更为简单,实现了随时随地只要在电脑前就可以购物的愿望。

二是用户的后台管理功能。

不同的用户有不同的权限,如果是管理员,可以实现商品的添加与商品信息和用户信息的修改、活动商品的管理、对违法用户的删除,订单的查看与管理等功能,如果是普通用户则只能对自己信息的修改,自己订单的查询等操作。

2.2业务流程分析

管理员对商品商城用户人员的管理(用户级别的修改、对用户信息的查看和删除),商品的管理(商品的添加,删除,对商品信息的查看和更新),订单的管理(订单的查看和删除)等。

普通用户在网站首页了解相关信息发布(各型号商品信息、特价商品、新款商品),用户信息的管理(用户登录、修改密码、选购商品、自助订机、订单提交、订单查看)。

后台管理端流程如图1,前台用户端流程如图2:

2.3数据流分析

数据流程分析即对信息流的传递、流动、存储、处理等相关内容的分析。

目前的数据流程分析主要是通过数据流程图来描述的。

其具体的步骤是:

按照业务流程图得出业务流程的顺序,把了解到数据的流向和处理的过程,绘制成完整的数据流程图。

就此网站系统来说,后台管理员可以把商品的各种信息录入数据库,同时允许修改和更新各种信息,对用户的删除和用户级别的修改,订单的查看和删除;其他会员用户可以录入注册信息,提交登录信息、查看商品信息和个人信息以及其他信息。

此外数据文件有用户表,商品信息表,订单表等。

图2前台用户端流程图

网站的各种信息流的内部逻辑流向和逻辑变换过程和交换关系可以用数据流图表示出来,如图3为用户信息管理数据流图:

商品管理流图,显示商品信息流在商品管理端与数据库之间的逻辑交换和逻辑关系,如图4所示:

后台订单管理数据流图,如图5所示:

3系统设计

3.1系统总体功能结构

通过前面对需求分析和实际情况的了解,得出网上商品商城的总体功能结构:

其中前台用户端包括商品信息浏览,购物车和用户信息管理三个模块;后台管理端包括商品商品管理,订单管理,用户管理三个模块。

系统主要模块及其功能如下:

A用户信息管理:

此模块用于对账户信息的各种相关操作,如用户的注册,登录等。

B商品种类信息及相关信息浏览:

主要包括商品具体内容、分类列表,特价专区等内容的查看。

C购物车模块:

将商品放入购物车,商品取消和购买,,查看购物车,修改商品数量,全部删去购物车中的商品。

D订单处理:

用户查阅订单,生成新的订单,查看订单列表和详细内容以及订单的确认。

E后台用户管理:

查看用户信息,删除用户。

F商品商品管理:

查看商品分类列表和商品的详细信息,管理员添加、修改、删除商品信息等操作。

具体结构如图6:

3.2系统数据库模型设计

3.2.1系统概念结构设计——E-R图

E-R方法是“实体-联系方法”(Entity-RelationshipApproach)的简称。

是一种描述概念结构模型的方法。

具体方法是用矩形表示实体;用椭圆表示属性,并用直线将两者连接起来;用菱形表示实体和实体之间的联系,并用直线将有关实体型连接起来,E-R图就是这样一种的图形。

根据前面的具体分析就可以得到下面的关系模型图,如图7:

具体属性如下:

Ø用户:

会员ID,会员名,真实姓名,登录密码,会员性别,电话号码,E-mail,具体住址,邮政编码,用户级别。

(管理员属性同上。

Ø商品:

产品ID,所属种类,商品型号,商品简介,活动与否,正常单价,活动单价,商品图片,库存数量,邮费。

Ø订单:

订单号,用户ID,订单时间,用户真实姓名,具体地址,邮政编码,商品总价。

Ø订单包含商品联系属性:

数量,单项价格,总价。

Ø管理员信息:

编号,姓名,密码,权限。

Ø商品商品包含联系属性:

数量。

Ø管理员处理订单属性:

订单确认人,确认时间。

3.2.2系统逻辑结构设计——关系模型

根据数据库原理的相关规范可以做以下处理:

Ø根据相关原则规范从E-R图向关系模型进行转换。

Ø由于普通用户和管理员的关系模型除了在权限不同,其他属性全部一样,所以可以将这两种关系模型看成是一种,只需加入一个级别段将两者进行区分就可以了。

Ø浏览关系模式和此网站系统其它功能要求关系不大,因此可以忽略。

Ø由于商品分类的关系模式在系统中要经常调用,故将其作为一个单独的关系模式。

通过上面的分析,可以得出以下的关系模式:

用户(会员ID,会员名,登录密码,会员性别,用户电话,E-mail,具体住址,邮政编码,真实姓名,用户级别)

商品商品(商品ID,所属种类,商品型号,商品简介,是否活动,正常单价,活动单价,产品照片,备忘)

订单(订单号,用户ID,订单时间,用户真实姓名,具体住址,联系电话,产品总价)

3.2.3数据库逻辑结构设计——关系表

根据以上关系模型可以得出相应的关系表,关系表如表1:

表1关系表

编号

名称

说明

表1

users

用户信息表

表2

products

商品信息表

表3

orders

订单列表

表4

orderdetail

订单详情表

3.2.4数据表详细说明

用户表(users)主要记录用户(管理员和普通用户)的相关信息,具体情况如表2:

表2用户信息表

字段名

数据类型

是否为空

描述说明

userid

int

编号,主键

name

varchar

注册名

Sex

varchar

性别

birthday

varchar

出生日期

password

varchar

密码

telephone

varchar

电话

address

varchar

地址

email

varchar

邮箱

grade

varchar

级别

truename

varchar

真是姓名

商品信息表(products)主要记录商品的具体信息,具体情况如表3:

表3商品信息表

字段名

数据类型

是否为空

描述说明

itermid

int

项目编号

productid

vatchar

产品编号

productname

varchar

产品名称

productpice

float

商品价格

count

int

库存数量

activity

varchar

是否活动商品

activeprice

float

活动商品的价格

kind

varchar

商品类别

photo

varchar

图片

information

varchar

商品信息

yunfei

float

运费

订单表(orders)主要记录每笔订单的相关信息,如表4:

表4订单表

字段名

数据类型

是否为空

描述说明

orderid

int

订单编号

userid

int

用户编号

orderdate

varchar

订单生成时间

paymode

varchar

支付方式

ispayed

varchar

是否支付

totalprice

float

订单总价

address

varchar

订货地址

订单明细表(orderdetail)记录订单所选商品编号,数量等详细信息。

如表5所示:

表5订单明细表

字段名

数据类型

是否为空

描述说明

orderid

int

订单编号

goodid

varchar

商品编号

num

int

商品数量

price

float

商品单价

4详细设计与系统实现

4.1系统详细设计总体概述

此系统的开发采用了现在比较流行的MVC开发模式,MVC是model,view,controller三个单词的缩写,这种开发模式将整个系统分为了三个大类,数据模型、用户界面和控制器,其中数据模型(model)用java编写,用于实现系统中的数据逻辑,包含了所有的JavaBean和方法;用户界面(view)用jsp编写,用于与用户的交互,包含了用户能看到的所有页面信息,也可以理解为view就是由无数个页面组成的;控制器(controller)是model和view之间沟通的桥梁,可以根据用户的不同请求来跳转到相应的界面,相当于公司中的领导阶层,接收view中提交上来的信息,然后交给model中的方法将这些信息进行处理,接收处理后的信息返回给页面或者存入数据库。

这种设计模式实现了业务层和视图层的分离,使网站能更好的进行维护与升级,并且有低耦合,高重用性,较低的生命周期成本,可维护性等优点,下面就围绕这种开发模式对本网站设计进行分模块的详细介绍。

4.2数据库的操作的JavaBean设计

作为一个公共类,数据库操作的JavaBean一般包括数据库的链接getConnection、执行executeQuery、更新操作的执行executeUpdate、连接的关闭close方法。

下面是数据库操作JavaBean的具体信息。

使用JDBC访问数据库:

在Java语言中,Java可以通过JDBC对数据库进行访问。

JDBC是一种“开放”的方案,提供了一种标准的应用程序接口。

应用程序要访问数据库必须加载数据库驱动,再通过JDBC建立连接才能访问数据库,执行SQL语句,最后必须断连接以释放资源,过程如图8所示:

在connDB中使用getConnection()方法建立与数据库的连接。

首先是加载数据库驱动程序:

Class.forName("com.mysql.jdbc.Driver");用到java.lang包中的类Class,调用Class类中的方法forName()方法来获取MySQL数据库连接,DriverManager.getConnection("jdbc:

mysql:

//localhost:

3306/Database","root","142857");第一个参数是连接数据库URL,第二,三个参数为帐户名和密码.最后调用Statement的executeQuery(),executeUpdate()或execute()方法完成对数据库的访问。

connDB类的成员及说明如表6:

表6connDB类成员表

成员名

返回值

类别

作用域

功能

conn

Connection

public

记录数据库连接

st

Statement

public

向数据库发送SQL语句

rs

ResultSet

public

装载查询结果

getConnection()

Connection

publicstatic

建立数据库连接

executeQuery(Stringsql)

ResultSet

public

进行查询操作

executeUpdate(Stringsql)

int

public

更新操作,返回更新行数

close()

void

public

关闭数据库连接

4.3用户主界面设计

系统的用户主界面是用户了解商城的首要窗口,其中必须包括商城中商品的主要信息和相关入口。

用户在首页可以进行注册成为会员,登录后可以进行购机等相关操作。

用户还可以选择相应的菜单选项进行选购商品,商品详细信息的查看,不同分类的商品信息浏览,还有常见问题,相关联系方式。

主界面的构成:

最上面为head.jsp,包含头部的主要信息,比如用户登录状态,商城logo,搜索框,导航栏的信息;左边的为left.jsp,包含用户登录注册入口和新品上市,分别是用户登录和显示本商城最新上市商品的地方;右边是right.jsp,包含一个flash和活动专区,flash显示了本店的特色商品和一些最新活动信息,活动专区则提供了本店正在促销和降价的商品,主界面最下面是tail.jsp,用来声明版权。

在系统主界面最上面显示用户的登录状态,如果用户未登录就有用户未登录的提示,如果用户已经登录则显示登录用户的用户名和安全退出的信息,用户名是一个超链接,通过点击用户名则完成从主界面到用户中心的跳转,跳转的时候后台会根据登录用户的级别(是否为管理员)跳转到不同级别的个人中心页面,导航栏通过超链接实现分类信息的参数传递,通过后台程序的运行从数据库中提取相应的列表,从而实现到分类信息列表的跳转。

左边的登录和注册入口在未登录的时候显示的是登录和注册窗口,用户登陆以后则以一张图片替换,新品上市和活动专区则与数据库相连,根据数据库中的信息动态的显示相关商品的信息。

主界面如图9所示:

图9主界面

4.4用户信息管理模块的设计

4.4.1会员登录模块设计

此模块的主要功能是对用户名和密码进行验证,只有合法的用户才能使用本系统购买商品。

如果不是本网站的会员必须先进行注册才能购买此网站的商品。

在首页的登录窗口中有一个用户登录菜单。

用户填写的所有信息都由Form表单使用post方法提交给服务器。

服务器通过getParameter函数获得Form表单提交的信息,通过提交的用户名取出数据库中的密码,将取出的密码与用户提交的密码进行比对,如果一致则合法,并不是直接通过数据库语言与数据库中的密码匹配,这样做的好处是可以有效的防治SQL漏洞。

在用户登录后,将用户的所有信息通过setAttribute函数保存在session中,方便其它界面使用随时使用对象中的用户信息。

此外,该界面还提供出错处理,如用户登录时用户信息填写的格式不正确或字符不合法,都会给用户做出相应的错误提示,直到输入信息合法才能提交。

本网站的所有用户(普通会员与管理员)都是通过此登录窗口进行登录,只需要更具用户的级别实现页面的选择就可以了。

在此界面中还添加了一个用户注册的按钮,用以帮助第一次使用该系统的人通过注册而成为本网站的会员。

在页面上有一个安全退出的选项,是退出本网站的出口,当退出时把网页中的session对象清空,登录状态就变为用户未登录的提示。

这样做的原因有两个:

首先就是安全性,如果没有安全退出,下一个用户很可能会用该没有过期的session对象;此外,假如大多数人都不退出登录,那么session中无用的对象在过期之前就会一直占用着系统资源,从而造成网络资源的浪费。

登录窗口如图10,登录流程如图11:

图10用户登录窗

4.4.2会员注册模块的设计

此网站规定只有会员才有购买资格,生成订单。

游客只能进行商品商品的浏览和商品详情查看的操作。

在首页的登录窗口有一个注册的按钮,用户通过此按钮可以进入注册页面,也可以先将商品加入购物车,购买的时候会有提示进入注册页面。

此模块中用到了用户信息Bean(userbean)用来传递form表单提交的注册信息,后台通过reguest对象的gerParameter方法接收表单提交的信息,调用相关函数将这些信息存入数据库,其中还有异常的处理,比如数据库中已经存在相应的用户名,两次输入的密码是否一致等情况也都由这些相关函数进行判断和处理。

注册用户的代码如下:

publicbooleanaddUser(Stringusername,Stringpassword,Stringsex,Stringbirthday,Stringemail,Stringtruename,Stringaddress,Stringtelephone){

booleanb=true;

try{

ct=newConnDB().getconnection();

ps=ct.prepareStatement("insertintousers(name,password,sex,birthday,email,truename,address,telephone)values(?

?

?

?

?

?

?

?

)");

ps.setString(1,username);

ps.setString(2,password);

ps.setString(3,sex);

ps.setString(4,birthday);

ps.setString(5,email);

ps.setString(6,truename);

ps.setString(7,address);

ps.setString(8,telephone);

ps.execute();

}catch(Exc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1