资源简介
初学者专用session会话对象做的购物车,就简单是添加到购物车查询,删除商品等。。。
代码片段和文件信息
package action;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import entity.Cart;
import entity.CartPO;
/**
* 购物车应用
* @author Administrator
*
*/
public class CartAction extends HttpServlet {
//1在Servlet中定义购物车数据集合对象
List list=null;
public void doGet(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException {
//6生成会话对象
HttpSession session1=request.getSession();
HttpSession session2=request.getSession(true);
HttpSession session3=request.getSession(false);
/**
* httpsession会话对象
* 创建时有两种方法即
* request.getSession()
* request.getSession(boolean)
*
* 当getSession()无参时与getSession(true)时,功能一样
* 即,无论原来是否有会话产生,都会在本次给予session对象
* 如果,原来有session对象,就直接调用
* 如果,原来没有session对象,就在服务器中新生成一个会话对象
*
* getSession(false)时,
* 如果原来有session对象,就直接调用
* 如果原来没有就返回一个null值,给当前HttpSession对象
*
*/
/**
* HttpSession对象的应用
* 1 取值,存值,删除值
* 2 设定session的生命周期,与时间长度
* 3 session对象失效
*/
//1存值
/**
* 将购物车对象,保存进入会话之中
*/
session1.setAttribute(“cart“ list);
//2取值
//Type mismatch: cannot convert from object to List
List tempList=(List)session1.getAttribute(“cart“);
//3删除
session1.removeAttribute(“cart“);
//4生命周期
//表示,当前session1会话对象可存活30分钟
session1.setMaxInactiveInterval(30);
//5失效
/**
* 失效分为三种
* 1 第一种,当生命周期时间过了,自动失效
* 2 第二种,关闭当前浏览器窗口,session也会失效
* 3 第三种,通过方法,将服务器中所有的session失效
* 方法:invalidate()
*
*/
session1.invalidate();
}
public void doPost(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException {
//2设定字符集
request.setCharacterEncoding(“UTF-8“);
//3开始获取show.jsp中隐藏域中的sid值
String sid=request.getParameter(“sid“);
String number1=request.getParameter(“number1“);
//4通过编号来查找
Cart c=dao.cartDao.queryCart(Integer.parseInt(sid));
//5开始封装cartPo对象,即放入购物车时的商品对象
CartPO cp=new CartPO();
cp.setC(c);//将商品对象注入
cp.setNumber1(Integer.parseInt(number1));//将选购本商品的数量,注入
//6 生成一个会话对象
HttpSession session=request.getSession();
//7进行判断
if(session.getAttribute(“Cart“)==null){
//为null表示,当前购物行为,为第一次
//第一次购物时,我们需要对list,进行接口调用
list=new ArrayList();
}else{
//不为null表示,当前购物行为,已经不是第一次了
//将会话对象中,保存的原有购物车对象,取出赋予当前list对象,以便进行购物操作
list=(List)session.getAttribute(“Cart“);
}
//8将当前选购的商品对象,放入购物车对象中
boolean flag=false;//表示新选购的商品对象不在购物车中
//开始循环购物车对象
for(CartPO c2:list){
//如果购物车中的商品对象编号与新选购的商品对象编号一致
if(c2.getC().getSId()==cp.getC().getSId()){
//为真,表示选购数量增加即可
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 432 2011-07-07 11:34 cart\.classpath
文件 285 2011-07-12 14:43 cart\.myme
文件 1222 2011-07-07 11:46 cart\.project
文件 615 2011-07-07 12:29 cart\SQLQuery1.sql
文件 3907 2011-07-12 15:00 cart\src\action\CartAction.java
文件 879 2011-07-07 11:56 cart\src\action\CartInitAction.java
文件 1079 2011-07-10 12:40 cart\src\action\RemoveAction.java
文件 1678 2011-07-07 11:30 cart\src\dao\cartDao.java
文件 1171 2011-07-07 11:19 cart\src\dao\DBU.java
文件 876 2011-07-07 12:13 cart\src\entity\Cart.java
文件 413 2011-07-07 12:18 cart\src\entity\CartPO.java
文件 28521 2011-07-07 11:07 cart\WebRoot\image\Blue hills.jpg
文件 71189 2011-07-07 11:07 cart\WebRoot\image\Sunset.jpg
文件 83794 2011-07-07 11:07 cart\WebRoot\image\Water lilies.jpg
文件 105542 2011-07-07 11:07 cart\WebRoot\image\Winter.jpg
文件 752 2011-07-07 11:50 cart\WebRoot\index.jsp
文件 39 2011-07-07 11:05 cart\WebRoot\me
文件 1613 2011-07-10 12:35 cart\WebRoot\payList.jsp
文件 1594 2011-07-07 12:10 cart\WebRoot\show.jsp
文件 2810 2011-07-12 15:00 cart\WebRoot\WEB-INF\classes\action\CartAction.class
文件 1325 2011-07-12 14:43 cart\WebRoot\WEB-INF\classes\action\CartInitAction.class
文件 1531 2011-07-12 14:43 cart\WebRoot\WEB-INF\classes\action\RemoveAction.class
文件 2416 2011-07-12 14:43 cart\WebRoot\WEB-INF\classes\dao\cartDao.class
文件 1635 2011-07-12 14:43 cart\WebRoot\WEB-INF\classes\dao\DBU.class
文件 1494 2011-07-12 14:43 cart\WebRoot\WEB-INF\classes\entity\Cart.class
文件 691 2011-07-12 14:43 cart\WebRoot\WEB-INF\classes\entity\CartPO.class
文件 231949 2011-07-07 11:34 cart\WebRoot\WEB-INF\lib\sqljdbc.jar
文件 1185 2011-07-10 12:26 cart\WebRoot\WEB-INF\web.xm
目录 0 2011-07-20 00:30 cart\WebRoot\WEB-INF\classes\action
目录 0 2011-07-20 00:30 cart\WebRoot\WEB-INF\classes\dao
............此处省略16个文件信息
评论
共有 条评论