JSP购物车实例Word文档下载推荐.docx
《JSP购物车实例Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《JSP购物车实例Word文档下载推荐.docx(28页珍藏版)》请在冰点文库上搜索。
2、1物品类
该类中包含两个与分页显示相关得方法。
其中用到得DBBean就是前面介绍得。
packagejavabean;
importjava、util、ArrayList;
importjava、sql、*;
publicclassGoods
{
privateStringgoodsid;
privateStringgoodsname;
privatefloatprice;
//
物品编号
publicvoidsetGoodsid(Stringgoodsid)
{
this、goodsid=goodsid;
}
publicStringgetGoodsid()
returngoodsid;
物品名称
publicvoidsetGoodsname(Stringgoodsname)
this、goodsname=goodsname;
publicStringgetGoodsname()
returngoodsname;
物品价格
publicvoidsetPrice(floatprice)
this、price=price;
publicfloatgetPrice()
returnprice;
publicArrayListgetGoodsByPage(intpageNo){
intnumber=10;
每一页显示得记录数
intbegin=(pageNo*number)-9;
intend=pageNo*number;
intindex=1;
DBBeandb=newDBBean();
要返回得结果对象
ArrayListgoods=newArrayList();
Stringsql="
select*fromgoods"
;
ResultSetrs;
try{
rs=db、executeQuery(sql,null);
while(rs、next()){
在begin之前得记录就是不显示得
if(index<
begin){
index++;
continue;
在end之后得记录也不显示
if(index>
end)
break;
Stringgoodsid=rs、getString
(1);
Stringgoodsname=rs、getString
(2);
floatprice=rs、getFloat(3);
Goodsg=newGoods();
g、setGoodsid(goodsid);
g、setGoodsname(goodsname);
g、setPrice(price);
goods、add(g);
}catch(Exceptione){
e、printStackTrace();
}finally{
db、close();
returngoods;
publicGoodsfindGoodsById(Stringgoodsid)
try{
编写查询数据库信息得SQL语句
select*fromgoodswheregoodsid=?
"
QOfiv。
ArrayListparams=newArrayList();
params、add(goodsid);
ResultSetrs=db、executeQuery(sql,params);
if(rs、next())
//Stringgoodsid=rs、getString
(1);
Goodstemp=newGoods();
temp、setGoodsid(goodsid);
temp、setGoodsname(goodsname);
temp、setPrice(price);
returntemp;
}else{
returnnull;
}catch(Exceptione){
System、out、println(e、toString());
returnnull;
publicintgetPageCount(){
selectcount(*)fromgoods"
ResultSetrs=db、executeQuery(sql,null);
intnumber=0;
number=rs、getInt
(1);
return(number-1)/10+1;
return0;
}
2、2Item类
//购物项
publicclassItem
privateGoodsgoods;
privateintquantity;
publicItem(Goodsd,intquantity)
this、goods=d;
this、quantity=quantity;
publicvoidsetGoods(Goodsgoods){
this、goods=goods;
publicGoodsgetGoods()
publicvoidsetQuantity(intquantity)
publicintgetQuantity()
returnquantity;
3、
物品信息显示功能
采用MVC模式,考虑视图部分,不需要输入界面,只需要显示信息得界面。
模型部分,在前面得代码中已经实现。
控制器部分,需要编写GetAllGoods、java。
参考代码分别如下:
3、1界面代码
文件名:
goodslist、jsp
<
%pagecontentType="
text/html;
charset=gb2312"
%>
%taglibprefix="
c"
uri="
c:
iftest="
${pageNo!
=1}"
>
<
ahref="
getAllGoods?
pageNo=1"
第一页<
/a>
pageNo=${pageNo-1}"
上一页<
/c:
if>
=pageCounter}"
pageNo=${pageNo+1}"
下一页<
pageNo=${pageCounter}"
最后一页<
sJ4Wu。
br>
tablewidth="
200"
border="
1"
height="
56"
tbody>
tr>
td>
/td>
/tr>
forEachvar="
g"
items="
${goods}"
${g、goodsid}
${g、goodsname}
${g、price}
addToCart?
goodsid=${g、goodsid}"
添加到购物车<
NGMcL。
forEach>
/tbody>
/table>
3、2控制器代
packageservlet;
importjava、io、*;
importjavax、servlet、*;
importjavax、servlet、、*;
importjavabean、*;
importjava、util、*;
publicclassGetAllGoodsextendsServlet
publicvoiddoGet(ServletRequestrequest,ServletResponseresponse)Nyj7C。
throwsIOException,ServletException
//response、setContentType("
);
8DXWB。
//PrintWriterout=response、getWriter();
第一步:
获取用户得输入信息
StringpageNo=request、getParameter("
pageNo"
intiPageNo=1;
if(pageNo!
=null)
iPageNo=Integer、parseInt(pageNo);
第二步:
调用JavaBean
ArrayListgoods=null;
goods=g、getGoodsByPage(iPageNo);
intpageCount=g、getPageCount();
//out、println("
记录数:
+users、size());
当前页码:
+iPageNo);
总页码:
+pageCount);
第三步:
传值
request、setAttribute("
goods"
goods);
newInteger(iPageNo));
BY2VL。
pageCounter"
newInteger(pageCount));
smdvU。
第四步:
选择一个界面对用户进行响应
Stringforward="
goodslist、jsp"
RequestDispatcherrd=request、getRequestDispatcher(forward);
4Qbv2。
rd、forward(request,response);
publicvoiddoPost(ServletRequestrequest,ServletResponseresponse)ym6yT。
doGet(request,response);
4、
显示购物车中信息
该功能直接从session中获取购物车信息,所以不需要控制器与模型部分,只需要编写显示购物车信息得JSP文件即可,文件名为cart、jsp,参考代码如下:
F814z。
购物车中得信息<
tableborder=1>
物品编号<
物品名称<
价格<
数量<
item"
${cart}"
${item、goods、goodsid}<
${item、goods、goodsname}<
${item、goods、price}<
${item、quantity}<
5、
向购物车中添加物品
采用MVC模式。
首先考虑输入与输出,添加物品得输入就就是物品信息列表界面,输出应该就是添加后得购物车信息界面(也可以重新回到物品信息界面),这两个界面都不需要编写。
XBk4G。
考虑模型部分,需要编写购物车管理JavaBean,完成处理。
考虑控制器部分,需要获取用户选择得物品,然后添加到调用购物车管理Bean,完成添加。
下面就是参考代码。
5、1模型部分
文件名CartManager、java
publicclassCartManager
表示购物车
privateArrayListcart;
publicvoidsetCart(ArrayListcart)
this、cart=cart;
publicArrayListgetCart()
returncart;
添加得物品&数量
publicArrayListaddToCart(Goodsg,intquantity)
if(cart==null){
实例化购物车对象
cart=newArrayList();
添加到购物车
Itemitem=newItem(g,quantity);
cart、add(item);
else
转换成数组
Objectitems[]=cart、toArray();
booleanfind=false;
表示就是否查找到
for(inti=0;
i<
items、length;
i++)
Itemtemp=(Item)items[i];
判断购物车中就是否存在要添加得物品
if(temp、getGoods()、getGoodsid()、equals(g、getGoodsid()))OgBKn。
temp、setQuantity(temp、getQuantity()+quantity);
find=true;