短代码,大思考

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
  <body>
<form action=" handleSessionLost.jsp" method="post">
	请您输入书本:<input name="book" type="text">
	<input type="submit" value="添加到购物车">	
</form>
<HR>
<%
	//从session获取books,如果为空则实例化
	ArrayList books = (ArrayList)session.getAttribute("books");
	if(books==null){
		books = new ArrayList();
		session.setAttribute("books",books);
	}
	//获得书名
	String book = request.getParameter("book");
	if(book!=null){
		book = new String(book.getBytes("ISO-8859-1"));
		//将book加进去
		books.add(book);
	}
%>
购物车中的内容是:<BR>
<%
	//遍历books
	for(int i=0;i<books.size();i++){
		out.println(books.get(i) + "<BR>");
	}
%>
</body>
</html>

这段代码有意思在就在于判断这里,为什么这么说呢。因为为了是实现购物车的功能,就需要在一个集合里面不断地添加元素,同时也应该防止实例化新集合,所以呢。就需要一个if判断

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

	//从session获取books,如果为空则实例化
	ArrayList books = (ArrayList)session.getAttribute("books");
	if(books==null){
		books = new ArrayList();
		session.setAttribute("books",books);
	}

 这段代码,可以成为核心代码,因为具体解释:

//从session获取books,如果为空则实例化
ArrayList books = (ArrayList)session.getAttribute("books");

 这一句是说:因为对于是否是第一次建立cookie还是许多次以后这两种情况不是很有把我确定,所以呢干脆就直接先获取一个cookie 的name值,如果可以找到,说明不是第一次建立cookie,下面的if语句块就不走了,如果是第一次建立cookie,则有下面的if语句块,

if(books==null){
   books = new ArrayList();
   session.setAttribute("books",books);
}

解释:因为如果第一次建立cookie的话,那么book肯定是null:所以,就实例化Arrlist;并且set下books; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值