《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc
- 文档编号:6846830
- 上传时间:2023-05-07
- 格式:DOC
- 页数:13
- 大小:354.50KB
《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc
《《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc》由会员分享,可在线阅读,更多相关《《WEB应用与开发》--网上购物系统--课程设计报告Word格式.doc(13页珍藏版)》请在冰点文库上搜索。
五、指导老师
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WEB应用与开发 WEB 应用 开发 网上 购物 系统 课程设计 报告