ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:21.81KB ,
资源ID:4396278      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4396278.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JSP购物车实例1.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

JSP购物车实例1.docx

1、JSP购物车实例1目标:l掌握购物车的信息如何存储;l掌握购物车常用功能的实现。主要内容:l首先分析用户上网购物的一般过程;l介绍采用什么样的数据结构存储购物信息;l编写购物界面;l完成向购物车添加物品的功能。1、用户上网购物的一般过程在浏览物品的过程中如果对某件物品感兴趣,会添加到购物车(购物篮)中,随时可以查看购物车中的信息,如果不想要某件物品的话,可以删除,或者修改某种物品的数量,或者整个清空购物车,可以继续选择物品向购物车中添加。最后用户可以购物这些物品,经过输入个人的送货地址信息和设定交易方式之后,可以生成订单。网站的管理员可以对订单进行管理。本实例模拟这个过程,但是进行了简化:只能

2、在物品列表中选择物品向购物车中添加。确定购买后,不需要设置交易方式以及付款等。实际处理过程,可以使用我们前面介绍的功能完成。2、购物车信息组织因为在用户访问网站的整个过程中都可以访问购物车信息,所以购物车对象应该存放在session中。因为用户购买的物品的种类和数量都不确定,所以需要使用一个合适的数据结构存储,我们选择ArrayList。每一种物品都涉及数量,需要进行封装,把物品和数量封装成购物项,使用Item,每个Item对应一种物品以及该种物品的数量。需要编写物品类表示物品的基本信息。参考代码如下:2.1 物品类该类中包含两个和分页显示相关的方法。其中用到的DBBean是前面介绍的。pac

3、kage javabean;import java.util.ArrayList;import java.sql.*;public class Goods private String goodsid; private String goodsname; private float price; /物品编号 public void setGoodsid(String goodsid) this.goodsid = goodsid; public String getGoodsid() return goodsid; /物品名称 public void setGoodsname(String g

4、oodsname) this.goodsname = goodsname; public String getGoodsname() return goodsname; /物品价格 public void setPrice(float price) this.price = price; public float getPrice() return price; public ArrayList getGoodsByPage(int pageNo) int number = 10; /每一页显示的记录数 int begin = (pageNo * number) - 9; int end =

5、pageNo * number; int index = 1; DBBean db = new DBBean(); /要返回的结果对象 ArrayList goods = new ArrayList(); String sql = select * from goods; ResultSet rs; try rs = db.executeQuery(sql,null); while (rs.next() /在begin之前的记录是不显示的 if (index end) break; index+; String goodsid = rs.getString(1); String goodsna

6、me = rs.getString(2); float price = rs.getFloat(3); Goods g = new Goods(); g.setGoodsid(goodsid); g.setGoodsname(goodsname); g.setPrice(price); goods.add(g); catch(Exception e) e.printStackTrace(); finally db.close(); return goods; public Goods findGoodsById(String goodsid) try /编写查询数据库信息的SQL语句 Stri

7、ng sql = select * from goods where goodsid=?; DBBean db = new DBBean(); ArrayList params = new ArrayList(); params.add(goodsid); ResultSet rs = db.executeQuery(sql,params); if(rs.next() /String goodsid =rs.getString(1); String goodsname = rs.getString(2); float price = rs.getFloat(3); Goods temp = n

8、ew Goods(); temp.setGoodsid(goodsid); temp.setGoodsname(goodsname); temp.setPrice(price); db.close(); return temp; else return null; catch (Exception e) System.out.println(e.toString(); return null; public int getPageCount() try /编写查询数据库信息的SQL语句 String sql = select count(*) from goods; DBBean db = n

9、ew DBBean(); ResultSet rs=db.executeQuery(sql,null); int number=0; if(rs.next() number = rs.getInt(1); db.close(); return (number - 1) / 10 + 1; catch (Exception e) return 0; 2.2 Item类package javabean;/ 购物项public class Item private Goods goods; private int quantity; public Item(Goods d,int quantity)

10、 this.goods = d; this.quantity = quantity; public void setGoods(Goods goods) this.goods = goods; public Goods getGoods() return goods; public void setQuantity(int quantity) this.quantity = quantity; public int getQuantity() return quantity; 3、物品信息显示功能采用MVC模式,考虑视图部分,不需要输入界面,只需要显示信息的界面。模型部分,在前面的代码中已经实

11、现。控制器部分,需要编写GetAllGoods.java。参考代码分别如下:3.1 界面代码文件名:goodslist.jsp% taglib prefix=c uri= 第一页 上一页 下一页 最后一页 物品编号 物品名称 物品价格 $g.goodsid $g.goodsname $g.price 添加到购物车 3.2 控制器代package servlet;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;import javabean.*;import java.util.*;public class

12、GetAllGoods extends HttpServlet public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException /response.setContentType(text/html;charset=gb2312); /PrintWriter out = response.getWriter(); /第一步:获取用户的输入信息 String pageNo=request.getParameter(pageNo); int i

13、PageNo=1; if(pageNo!=null) iPageNo = Integer.parseInt(pageNo); /第二步:调用JavaBean Goods g = new Goods(); ArrayList goods=null; goods = g.getGoodsByPage(iPageNo); int pageCount=g.getPageCount(); / out.println(记录数:+users.size(); / out.println(当前页码:+iPageNo); / out.println(总页码:+pageCount); /第三步:传值 request

14、.setAttribute(goods,goods); request.setAttribute(pageNo,new Integer(iPageNo); request.setAttribute(pageCounter,new Integer(pageCount); /第四步:选择一个界面对用户进行响应 String forward=goodslist.jsp; RequestDispatcher rd = request.getRequestDispatcher(forward); rd.forward(request,response); public void doPost(HttpS

15、ervletRequest request,HttpServletResponse response) throws IOException,ServletException doGet(request,response); 4、显示购物车中信息该功能直接从session中获取购物车信息,所以不需要控制器和模型部分,只需要编写显示购物车信息的JSP文件即可,文件名为cart.jsp,参考代码如下:% taglib prefix=c uri=购物车中的信息 物品编号 物品名称 价格 数量 $item.goods.goodsid $item.goods.goodsname $item.goods.

16、price $item.quantity5、向购物车中添加物品采用MVC模式。首先考虑输入和输出,添加物品的输入就是物品信息列表界面,输出应该是添加后的购物车信息界面(也可以重新回到物品信息界面),这两个界面都不需要编写。考虑模型部分,需要编写购物车管理JavaBean,完成处理。考虑控制器部分,需要获取用户选择的物品,然后添加到调用购物车管理Bean,完成添加。下面是参考代码。5.1 模型部分文件名CartManager.javapackage javabean;import java.util.ArrayList;public class CartManager /表示购物车 privat

17、e ArrayList cart; public void setCart(ArrayList cart) this.cart = cart; public ArrayList getCart() return cart; /添加的物品数量 public ArrayList addToCart(Goods g,int quantity) if(cart=null) /实例化购物车对象 cart=new ArrayList(); /添加到购物车 Item item = new Item(g,quantity); cart.add(item); else /转换成数组 Object items = cart.toArray(); boolean find=false; /表示是否查找到 for(int i=0;iitems.length;i+) Item temp = (Item)itemsi; /判断购物车中是否存在要添加的物品 if(temp.getGoods().getGoodsid().equals(g.getGoodsid() temp.setQuantity(temp.getQuantity()+quantity); find=true;

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

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