网络编程实训网上购物系统Word文档下载推荐.docx

上传人:b****5 文档编号:19391845 上传时间:2023-01-05 格式:DOCX 页数:74 大小:414.16KB
下载 相关 举报
网络编程实训网上购物系统Word文档下载推荐.docx_第1页
第1页 / 共74页
网络编程实训网上购物系统Word文档下载推荐.docx_第2页
第2页 / 共74页
网络编程实训网上购物系统Word文档下载推荐.docx_第3页
第3页 / 共74页
网络编程实训网上购物系统Word文档下载推荐.docx_第4页
第4页 / 共74页
网络编程实训网上购物系统Word文档下载推荐.docx_第5页
第5页 / 共74页
点击查看更多>>
下载资源
资源描述

网络编程实训网上购物系统Word文档下载推荐.docx

《网络编程实训网上购物系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《网络编程实训网上购物系统Word文档下载推荐.docx(74页珍藏版)》请在冰豆网上搜索。

网络编程实训网上购物系统Word文档下载推荐.docx

2.4搭建系统框架7

3注册、登录和注销16

4图书类别及新书展示31

4.1图书类别功能模块31

4.2新书展示模块33

5显示指定类别图书37

6图书查询44

7添加图书到购物车48

8显示购物车53

9结账57

10用Ajax为注册添加验证61

10.1配置web.xml61

10.2编写实现的方法61

10.3配置dwr.xml62

10.4在register.jsp中调用62

1

开展网上书店的可行性分析

1.1网上书店的优质低价的竟争优势

网上购物,具有价格低廉、高效、方便、种类齐全的特点,而且与传统的书店经营模式相比,网上书店可以节省商场租金,员工管理工资,书本翻阅损耗等一大批成本费用。

1.2网上书店传递速度快

随着网络技术和物流业的迅速发展,网上书店有了可靠的发展空间,这将购买者提供很大的方便,购买者可以足不出户在网上挑选自己喜欢的商品,在网上订购,与网上商店进行在线交流,直接与网上商店订购,网上商店在接到购买者的真实信息后,马上为购买者送货。

由于物配送的迅速性,不会让购买者等太久。

这将显示出物流配送的优势与网上购物的相结合。

使网上购物能够面对更多的购买者。

1.3网上书店所面对的购买顾客群

我国现有的网上人数突破5亿人,10-19岁网民数量约为1.22亿,占总上网人数的32%。

20-29岁网民数量约为1.11亿,占总上网人数的29%,这个范畴的用户群,喜欢在网上下载以及浏览一些电子版本的图书,容易接受新事物,接受网上购物,形成新时期购买的潮流,将会形成了一个极大的目标市场。

2

系统分析和设计

2.1网上购书系统概述

本书的网上购书系统(网上书店)将实现上述的基本功能,用户可以注册、浏览商品、查询购物车等,其主界面如图P1.1所示。

图P1.1网上购书系统主界面

网上购书系统功能如下:

①用户可以浏览图书分类和网站推荐的图书。

②用户可以根据分类,浏览某一类的图书列表。

③用户可以查看具体某本图书的介绍。

④用户在图书浏览页面,单击【添加】按钮,把选定图书添加到购物车中。

⑤用户可以单击【购物车】超链接,查看购物车信息。

⑥用户可以单击【结账】按钮下订单,当然需要登录后才能操作。

⑦用户在注册页面,填写注册信息,确认有效注册,成为新用户。

⑧用户在登录页面,填写用户名和密码,确认正确,可以结账。

系统功能模块划分如图P1.2所示。

2.2技术方案

本系统采用的是Spring2.5+Hibernate3.3+Struts2整合开发,据库软件使用的是MySQL

编程环境:

MyEclipse8.5

2.3数据库设计

网上商店中有以下几个实体:

用户、图书分类、图书、订单、订单项,因此系统可以设计如下的数据概念模型,如图P1.3所示。

其中实体之间还可能存在对应关系。

图书分类和图书:

一个图书类别中有多本图书,一本图书属于一个图书分类,是一对多的关系。

用户和订单:

一个用户可以拥有多个订单,一个订单只能属于一个用户,它们之间的关系是一对多的关系,在数据库中表现为订单表中有一个用户表的外键。

订单和订单项:

一个订单中包含多个订单项,一个订单项只能属于一个订单,是一对多的关系。

图书和订单项:

一个订单项就是对图书的封装,订单项中除了有该商品信息外,还有该商品的购买数量等。

根据前面的分析,具体表结构如表P1.1~表P1.5所示

表P1.1用户表userTable

字段名称

数据类型

主键

自增

允许为空

描述

userid

int

增1

标志ID

username

varchar(20)

用户名

password

密码

sex

varchar(4)

性别

age

年龄

表P1.2图书分类表catalog

catalogid

catalogname

图书分类名

表P1.3图书表book

自增

bookid

bookname

图书名

price

图书价格

picture

varchar(30)

图书封面

分类(外键)

表P1.4订单表order

orderid

orderdate

datetime

订单时间

用户ID

表P1.5订单项表orderitem

orderitemid

quantity

数量

所属订单(外键)

所属图书(外键)

2.4搭建系统框架

主要步骤如下:

①创建WebProject;

②创建包;

③修改web.xml,添加struts.xml文件;

④加载用户自定义包,修改web.xml,添加struts.properties文件;

⑤加载Hibernate框架;

⑥对数据库表进行反向工程,生成映射文件。

具体操作如下:

①在MyEclipse中创建新的WebProject,命名为“bookstore”。

②创建如图P1.4所示的包。

③修改web.xml代码。

<

?

xmlversion="

1.0"

encoding="

UTF-8"

>

web-appversion="

2.5"

xmlns="

xmlns:

xsi="

http:

//www.w3.org/2001/XMLSchema-instance"

xsi:

schemaLocation="

<

filter>

<

filter-name>

struts2<

/filter-name>

<

filter-class>

org.apache.struts2.dispatcher.FilterDispatcher<

/filter-class>

/filter>

filter-mapping>

url-pattern>

/*<

/url-pattern>

/filter-mapping>

/web-app>

在src文件夹下添加struts.xml文件,内容如下:

!

DOCTYPEstrutsPUBLIC

"

-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"

//struts.apache.org/dtds/struts-2.0.dtd"

struts>

includefile="

struts-default.xml"

/>

packagename="

default"

extends="

struts-default"

constantname="

struts.i18n.encoding"

value="

GBK"

…//以后在这里添加action

/package>

/struts>

④添加Spring框架,加载用户自定义包hiberante3。

创建新的applicationContext.xml文件,存放在WebRoot/WEB-INF文件夹下。

修改web.xml代码如下:

listener>

listener-class>

org.springframework.web.context.ContextLoaderListener<

/listener-class>

/listener>

在src文件夹下添加struts.properites文件,增加对Spring的支持。

代码如下:

struts.objectFactory=spring

⑤添加Hibernate框架。

添加Hibernate类库,将Hibernate的配置信息存放在Spring配置文件applicationContext.xml中。

不新建Spring配置文件,SessionFactoryID命名为“sessionFactory”,选择数据源驱动为mysql,数据源ID命名为“dataSource”,不创建SessionFactory类。

⑥反向工程,添加映射文件。

在MyEclipse中切换到MyEclipseDatabaseExplorer视窗,选中5个创建好的表,右击【HibernateReverseEnginerring…】菜单项,利用反向工程,将对应的Java类和映射文件放在org.bookstore.model文件夹中(不用选择创建DAO)。

将ID的创建设置为native。

Ø

User.java代码如下:

packageorg.bookstore.model;

importjava.util.HashSet;

importjava.util.Set;

publicclassUserimplementsjava.io.Serializable{

privateIntegeruserid;

privateStringusername;

privateStringpassword;

privateStringsex;

privateIntegerage;

privateSetorderses=newHashSet(0);

//该用户的订单

//省略上述属性的setter和getter方法

}

User.hbm.xml代码

utf-8"

DOCTYPEhibernate-mappingPUBLIC"

-//Hibernate/HibernateMappingDTD3.0//EN"

"

--

MappingfileautogeneratedbyMyEclipsePersistenceTools

-->

hibernate-mapping>

classname="

org.bookstore.model.User"

table="

user"

catalog="

bookstore"

idname="

userid"

type="

java.lang.Integer"

columnname="

/>

generatorclass="

native"

/id>

propertyname="

username"

java.lang.String"

length="

20"

/property>

password"

sex"

4"

age"

setname="

orderses"

inverse="

true"

key>

/key>

one-to-manyclass="

org.bookstore.model.Orders"

/set>

/class>

/hibernate-mapping>

Book.java代码如下:

publicclassBookimplementsjava.io.Serializable{

privateIntegerbookid;

privateStringbookname;

privateIntegerprice;

privateStringpicture;

privateCatalogcatalog;

privateSetorderitems=newHashSet(0);

//省略上述属性的getter和setter方法

Book.hbm.xml代码修改。

org.bookstore.model.Book"

book"

bookid"

many-to-onename="

catalog"

class="

org.bookstore.model.Catalog"

fetch="

select"

catalogid"

/many-to-one>

bookname"

price"

picture"

30"

orderitems"

org.bookstore.model.Orderitem"

Catalog.java代码修改如下:

publicclassCatalogimplementsjava.io.Serializable{

privateIntegercatalogid;

privateStringcatalogname;

privateSetbooks=newHashSet();

//省略上述属性的getter和setter方法

Catalog.hbm.xml代码修改。

catalogname"

books"

Orderitem.java代码修改如下:

publicclassOrderitemimplementsjava.io.Serializable{

privateIntegerorderitemeid;

privateBookbook;

//该订单项书籍

privateOrdersorders;

//该订单项属于哪个订单

privateIntegerquantity;

Orderitem.hbm.xml代码修改如下:

orderitem"

orderitemeid"

orders"

orderid"

quantity"

Orders.java代码修改如下:

importjava.util.Date;

publicclassOrdersimplementsjava.io.Serializable{

privateIntegerorderid;

privateUseruser;

//订单输入用户

privateDateorderdate;

//订单日期

privateSetorderitems=newHashSet();

//包含的订单项

Orders.hbm.xml代码修改

-//Hibernate/HibernateMapp

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

当前位置:首页 > 工程科技 > 冶金矿山地质

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

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