《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc

上传人:wj 文档编号:6846830 上传时间:2023-05-07 格式:DOC 页数:13 大小:354.50KB
下载 相关 举报
《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc_第1页
第1页 / 共13页
《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc_第2页
第2页 / 共13页
《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc_第3页
第3页 / 共13页
《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc_第4页
第4页 / 共13页
《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc_第5页
第5页 / 共13页
《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc_第6页
第6页 / 共13页
《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc_第7页
第7页 / 共13页
《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc_第8页
第8页 / 共13页
《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc_第9页
第9页 / 共13页
《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc_第10页
第10页 / 共13页
《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc_第11页
第11页 / 共13页
《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc_第12页
第12页 / 共13页
《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc

《《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc》由会员分享,可在线阅读,更多相关《《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc(13页珍藏版)》请在冰点文库上搜索。

《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc

五、指导老师

XXXXXXXXXXXXXXXXXXXXXX

六、设计课题

网上购物系统——JpetStore网上宠物商店

七、基本思路及关键问题的解决方法

1、购物系统的需求与分析:

在正式开发之前,应先了解系统应实现的功能。

为了解系统的需求,通过观察著名网站的电子商务界面淘宝网站等,可以发现共同拥有d饿选项有:

商品的图片、商品的分类提供搜索商品的功能等、用户登录后方可goum商品。

用户选中的一些商品先存放与购物车中,在最后下订单时进行汇总。

因此可初步了解到JpetStore购物系统的基本功能。

普通用户可以浏览所以大类别商品,查看某一大类别商品下的所有小类别商品分类、小类别商品下的所有商品,搜索商品,将商品添加到购物车,更新购物车等。

2、数据库表的设计:

数据库设计时系统开发过程的一个重要环节,它具体可以分为两部分:

一个是概念模型设计,即E-R图的设计;

二是物理模型设计,即数据库/表字段的设计。

3、购物车的理解、购物清单结算

4、运行工程

(本人有完整的项目需要的话发邮件给我491990141@)

八、算法及流程图

(一)功能模块的实现

系统功能模块的划分

前台系统顺序流程图

1、大类别显示

应用程序的首页只提供了一个EntertheStore的链接时,将导航到大类别页面,要完成这个过程,需要执行一下步骤:

(1)设置链接,为“EntertheStore”添加链接,代码如下:

<

ahref=“index.do”>

EntertheStore<

/a>

(2)设置配置文件,在web.xml中添加如下代码:

<

servlet>

<

servlet-name>

IndexServlet<

/servlet-name>

servlet-class>

org.bzc.jpetstore.servlets.IndexServlet

/servlet-class>

<

/servlet>

servlet-mapping>

url-pattern>

/index.do<

/url-pattern>

/servlet-mapping>

(3)在src目录的org\bzc\jpetstore\servlets文件夹中新建名为IndexServlet的类,Servlet本身并没有处理业务数据,而是调用CategoryBiz类的相关方法操作,具体代码如下:

publicclassIndexServletextendsHttpServlet{

publicvoiddoGet(HttpServletRequestrequest,

HttpServletResponseresponse)

throwsServletException,IOException{

doPost(request,response);

}

publicvoiddoPost(HttpServletRequestrequest,

throwsServletException,IOException{

CategoryBizcategorybiz=newCategoryBiz();

Stringtourl="

"

;

//因为其他页面也需要获取大类别数据,所以存放于session中

HttpSessionsession=request.getSession();

//初始化一个List对象,用来存储大类别数据

List<

Category>

list=newArrayList<

();

try{

//调用业务对象获取数据

list=categorybiz.searchById(0,"

);

tourl="

/catalog/Main.jsp"

}

catch(Exceptione){

index.html"

e.printStackTrace();

session.setAttribute("

categroyList"

list);

request.getRequestDispatcher(tourl).forward(request,response);

}

(4)在src目录的org\bzc\jpetstore\biz文件夹中新建名为CategoryBiz的类,CategoryBiz与数据库进行相互。

此处需要查询的是所有的大类别数据,后面还需要根据大类别ID查询大类别数据,将这两部分整合,均由searchByld()方法提供这个功能。

具体代码如下:

publicclassCategoryBiz{

ControlDBcontrolDB=null;

publicCategoryBiz(){

controlDB=newControlDB();

}

publicListsearchById(intflag,Stringcatid){

Stringsql="

Listlist=newArrayList();

if(flag==0){

sql="

select*fromcategory"

}elseif(flag==1){

select*fromcategorywherecatid='

+catid+"

'

}

System.out.println(sql);

try

{list=controlDB.executeQueryCategory(sql);

catch(Exceptione)

{e.printStackTrace();

returnlist;

(5)编写封装与数据库操作的ControlDB类。

(6)编写main.jsp页面,它用来显示大类别数据。

main.jsp页面的部分代码如下:

……

<

c:

forEachitems="

${categroyList}"

var="

category"

>

tr>

td>

ahref="

${pageContext.request.contextPath}/category.do?

path=show&

categoryId=${category.catid}"

outvalue="

${category.descn}"

escapeXml="

false"

/>

br>

fontsize="

2"

i>

${category.name}<

/i>

<

/font>

/td>

/tr>

/c:

forEach>

运行Tomcat,执行此部分操作,最终效果如图所示:

2、小类别显示,完成步骤同大类别显示

3、商品显示,完成步骤同大类别显示

4、添加商品到购物车

在商品的列表页面提供了添加到购物车的链接。

单击AddtoCart链接可以把与之对应的商品添加入购物车中。

要完成这个过程,需要执行一下步骤:

(1)设置链接,为商品添加链接,在商品上创建链接的代码如下:

ahref=”${pageContext.request.contextPath}/item.do?

path=addItemToCart&

itemId=${item.itemid}&

product”>

(2)设置配置文件,在web.xml中添加如下代码:

ItemServlet<

org.bzc.jpetstore.servlets.ItemServlet

/item.do<

(3)在src目录的org\bzc\jpetstore\servlets文件夹中新建名为ProductServlet的类,Servlet本身并没有处理业务数据,而是调用ItemBiz类的相关方法操作,具体代码如下:

publicclassProductServletextendsHttpServlet{

publicvoidinit()throwsServletException{}

publicvoiddestroy(){}

throwsServletException,IOException{

doPost(request,response);

publicvoiddoPost(HttpServletRequestrequest,

throwsServletException,IOException{

Stringpath=request.getParameter("

path"

HttpSessionsession=request.getSession();

ListlistProduct=newArrayList();

ProductBizproductbiz=newProductBiz();

ItemBizitembiz=newItemBiz();

if("

show"

.equals(path)){

StringproductId=request.getParameter("

productId"

Item>

itemList=itembiz.searchByproductId(productId);

Productproduct=(Product)productbiz.searchById(1,productId)

.get(0);

session.setAttribute("

itemList"

itemList);

product"

product);

}catch(Exceptione){

e.printStackTrace();

/catalog/Product.jsp"

}else{

listProduct=productbiz.searchById(0,"

listProduct"

listProduct);

request.getRequestDispatcher(tourl).forward(request,response);

(4)编写Cart.jsp页面,来显示购物车中的商品项数据,Cart.jsp页面的部分代码如下:

tableborder="

0"

width="

100%"

cellspacing="

cellpadding="

tdvalign="

top"

20%"

align="

left"

tablealign="

bgcolor="

#008800"

border="

tdbgcolor="

#FFFF88"

ahref="

index.do"

b>

fontcolor="

BLACK"

size="

&

lt;

MainMenu<

/b>

/table>

center"

h2align="

ShoppingCart<

/h2>

formmethod="

post"

action="

${pageContext.request.contextPath}/item.do?

path=updateCartQuantities"

5"

<

trbgcolor="

#cccccc"

ItemID<

ProductID<

Description<

InStock?

Quantity<

ListPrice<

TotalCost<

nbsp;

iftest="

${cart.numberOfItems==0}"

tdcolspan="

8"

Yourcartisempty.<

if>

${cartItems}"

cartitem"

itemId=${cartitem.item.itemid}"

${cartitem.item.itemid}<

${cartitem.item.productid}<

${cartitem.item.attr1}

${cartitem.item.attr2}

${cartitem.item.attr3}

${cartitem.item.attr4}

${cartitem.item.attr5}

${product.name}<

tdalign="

${cartitem.inStock}<

inputtype="

text"

3"

name="

quantity${cartitem.item.itemid}"

value="

${cartitem.quantity}"

/>

right"

${cartitem.item.listprice}<

${cartitem.total}<

path=removeItemFromCart&

workingItemId=${cartitem.item.itemid}"

imgborder="

src="

${pageContext.request.contextPath}/images/button_remove.gif"

7"

SubTotal:

${cart.subTotal}<

br/>

image"

${pageContext.request.contextPath}/images/button_update_cart.gif"

update"

center>

5、购物车中商品的管理

在商品的列表页面提供了更改商品数量的输入框,用户可以更改数量,然后单击updatecart链接,完成更新购物车的操作,当操作执行完成后,返回本页面。

单击remove链接可以把与之对应的商品从购物车中删除。

(1)设置链接。

如果用户执行“删除”操作,代码设置为:

如果用户执行“修改”操作,将提交表单代码设置为:

frommethod=”post”action=”${pageContext.request.contextPath}

/item.do?

path=updateCartQuantities”>

(2)设置配置文件。

(3)在ItemServlet类中添加处理修改和删除功能的代码,具体如下:

//获取商品标号

StringworkingItemId=request.getParameter("

itemId"

Cartcart=null;

CartItemcartitem=null;

//应该有个错误信息页跳转

if(session.getAttribute("

cartItems"

)==null){

cart=newCart();

}else{

cart=(Cart)session.getAttribute("

cart"

//如果购物车中存在此商品,删除

if(cart.containsItemId(workingItemId)){

cart.incrementQuantityByItemId(workingItemId);

Itemitem=(Item)itembiz.searchById(1,workingItemId).get(0);

cart.addItem(item,true);

ListcartItems=cart.getCartItemList();

cartItems);

cart);

/cart/Cart.jsp"

}elseif("

removeItemFromCart"

StringworkingItemId=request.getParameter("

workingItemId"

Cartcart=null;

CartItemcartitem=null;

//应该有个错误信息页跳转

if(session.getAttribute("

tourl="

request.getRequestDispatcher(tourl).forward(request,response);

updateCartQuantities"

)==nu

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2