JSP购物车实例Word下载.docx
- 文档编号:19143477
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:22
- 大小:21.65KB
JSP购物车实例Word下载.docx
《JSP购物车实例Word下载.docx》由会员分享,可在线阅读,更多相关《JSP购物车实例Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
packagejavabean;
import;
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=?
"
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){
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="
/jstl/core"
c:
iftest="
${pageNo!
=1}"
>
<
ahref="
getAllGoods?
pageNo=1"
第一页<
/a>
pageNo=${pageNo-1}"
上一页<
/c:
if>
=pageCounter}"
pageNo=${pageNo+1}"
下一页<
pageNo=${pageCounter}"
最后一页<
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}"
添加到购物车<
forEach>
/tbody>
/table>
3.2控制器代
packageservlet;
importjava.io.*;
importjavax.servlet.*;
importjavabean.*;
importjava.util.*;
publicclassGetAllGoodsextendsHttpServlet
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsIOException,ServletException
//response.setContentType("
);
//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));
pageCounter"
newInteger(pageCount));
第四步:
选择一个界面对用户进行响应
Stringforward="
goodslist.jsp"
RequestDispatcherrd=request.getRequestDispatcher(forward);
rd.forward(request,response);
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
doGet(request,response);
4、
显示购物车中信息
该功能直接从session中获取购物车信息,所以不需要控制器和模型部分,只需要编写显示购物车信息的JSP文件即可,文件名为cart.jsp,参考代码如下:
购物车中的信息<
tableborder=1>
物品编号<
物品名称<
价格<
数量<
item"
${cart}"
${
${item.quantity}<
5、
向购物车中添加物品
采用MVC模式。
首先考虑输入和输出,添加物品的输入就是物品信息列表界面,输出应该是添加后的购物车信息界面(也可以重新回到物品信息界面),这两个界面都不需要编写。
考虑模型部分,需要编写购物车管理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()))
temp.setQuantity(temp.getQuantity()+quantity);
find=true;
if(!
find)
5.2控制器部分
AddToCart.java
import
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 购物 实例