您的位置:首页 > 其它

使用session对象的简易购物车

2015-08-14 15:23 162 查看
使用session对象的简易购物车

session对象是JSP的内置对象,是javax.servlet.http.HttpSession类的实例。当用户登录网站时,系统将为登录用户生成一个独一无二的session对象,并且不同的session对象之间不会相互干扰。这样就可以使用session对象存储特定的用户会话过程的数据,当用户在页面之间跳转时,存储在session中的数据不会被清除,而是跟踪着用户在同一个站点漫游过程中始终存在,只有当会话过期或被放弃时,服务器才终止维持这个对象。

使用session可以实现购物车机制。

商品选择页面shop.jsp

<body>
<form id="form1" name="form1" method="post" action="shop_do.jsp">
<p><strong>请选择你要购买的商品</strong></p>
<table width="300" border="1">
<tr>
<td>商品名:</td>
<td><input type="text" name="goods"></td>
</tr>
<tr>
<td colspan="2">
<div align="center">
<input type="submit" name="Submit" value="加入购物车">
<input type="reset" name="Submit2" value="重选">
</div>
</td>
</tr>
</table>
</form>
</body>


shop_do.jsp

该页面有两个功能,一个是获得客户提交的商品数据并加入到购物车,另一个是实现购物流程的控制(继续购物或结账)。

<body>
<%
String goodsName = request.getParameter("goods");//获取商品名称
if(!goodsName.equals("")){
goodsName = new String(goodsName.getBytes("ISO-8859-1"),"UTF-8");  //解决中文乱码问题
ArrayList list = null;  //定义保存商品的动态数组
list = (ArrayList)session.getAttribute("list");  //通过list属性取得购物车
if(list==null){
list = new ArrayList();
list.add(goodsName);
session.setAttribute("list", list);
}else{
list.add(goodsName);
}
%>
<%
}else{
response.sendRedirect("shop.jsp");
}
%>
<center>
<strong>提示:您刚才选择了商品
<font color="red"><%=goodsName %></font>
,请问您还想做什么?
</strong><br><br>
<button onclick="location.href='shop.jsp'">继续购买商品</button>
<button onclick="location.href='pay.jsp'">到收银台结账</button>
</center>
</body>


pay.jsp

该页面完成结账处理。主要功能是把购物车里面所有商品名称显示给客户(实际中要远比这样处理复杂的多)

<body>
非常感谢您的光临!您本次在我们这里购买了一下商品:<br>
<%
ArrayList list = (ArrayList)session.getAttribute("list");
for(int i=0;i<list.size();i++){
String goodsName = (String)list.get(i);
%>
商品:<%=i %>:<%=goodsName %><br>
<%} %>
</body>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: