JSP只用Hashtable和session实现购物车功能的简单实例

来源:互联网 发布:招商银行软件中心校招 编辑:程序博客网 时间:2024/05/17 08:26
 

*       开发一个WEB应用,用户通过一个JSP页面car.jsp选择商品提交给add.jsp,该文件负责将商品添加到用户session对象中(相当于用户的购物车),并将session对象中商品显示给用户,用户通过selectRemovedGoods.jsp文件选择要从购物车中删除的商品提交给removeWork.jsp,该文件负责从用户的购物车中删除商品。

在网上看到很多人都是用JSP+JAVABEAN实现的此功能,但是这个题目被要求只能用session和Hastable或vector,所以只好自己写了,这是本人写的程序,希望可以和大家分享和共同学习!

以下是各个JSP页面的内容

                car.jsp

<%@ page contentType="text/html;charset=GB2312"%>
<html>
<head></head>
<body>
<%
session.getId();
%>
<form name="f" method="post" action="add.jsp">
<p>这里是第一百货商场,选择您要购买的商品添加到购物车:</p>
<p><select name="selection" >
<option value="电视机">电视机</option>
<option value="电冰箱">电冰箱</option>
<option value="空调">空调</option>
<option value="笔记本电脑">笔记本电脑</option>
<option value="水果">水果</option>
<option value="可口可乐">可口可乐</option>
</select>
<p>输入购买的数量:
<input type="text" name="mount" width="10" value="" align="center"></p>
<p>选择计量单位:
<input type="radio" name="r" value="个">个
<input type="radio" name="r" value="公斤">公斤
<input type="radio" name="r" value="台" checked>台
<input type="radio" name="r" value="瓶">瓶
<input type="submit" name="s1" value="添加到购物车">
</p>
</form>
<form name="f2" action="selectRemovedGoods.jsp" method="post">
<p>您的购物车中有如下货物:</p>
<p><input type="submit" name="b" value="修改购物车中的货物"></p>
</form>
</body>
</html>

                        add.jsp

<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="java.util.*"%>
<html>
<head>
</head>
<body>
<form name="form1" action="car.jsp" method="get">
<%!
String s,m,u;
Hashtable h=new Hashtable();
int j=0;
 synchronized void getMes(String i,String s)
{
 j++;
 h.put(i,s);
}
%>
<%
request.setCharacterEncoding("gb2312");
s=request.getParameter("selection");
m=request.getParameter("mount");
u=request.getParameter("r");
if(m.equals(""))
response.sendRedirect("car.jsp");
String str="Name:"+s+"#"+"Mount:"+m+"#"+"Unit:"+u+"<br>";
if(s.equals("电视机"))
getMes("电视机",str);
if(s.equals("电冰箱"))
getMes("电冰箱",str);
if(s.equals("空调"))
getMes("空调",str);
if(s.equals("笔记本电脑"))
getMes("笔记本电脑",str);
if(s.equals("水果"))
getMes("水果",str);
if(s.equals("可口可乐"))
getMes("可口可乐",str);
session.setAttribute("Mes",h);
Enumeration ve=((Hashtable)session.getAttribute("Mes")).elements();
out.println("您的购物车有如下商品:"+"<br>");
 while(ve.hasMoreElements())
            { String message=ve.nextElement().toString();
              StringTokenizer fenxi=new StringTokenizer(message,"#");
                while(fenxi.hasMoreTokens())
                     { String st=fenxi.nextToken();
   out.print(" "+st);
                    }
  }
%>
<p>
<input type="submit" value="继续购物">
</p>
</form>
<form name="form2" action="selectRemovedGoods.jsp" method="get">
<p>
<input type="submit" value="修改购物车中的物品">
</form>
</body>
</html>

                        selectRemovedGoods.jsp

<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="java.util.*"%>
<html>
<head>
</head>
<body>
<form name="f1" method="post" action="removeWork.jsp" >
<p>选择你要从购物车中删除的物品:</p>
<p><select name="select" >

<%
Enumeration e=((Hashtable)session.getAttribute("Mes")).keys();

while(e.hasMoreElements())

{
  String message=e.nextElement().toString();
  out.println("<option value="+message+">"+message+"</option>");
  
}
%>
</select>
<input type="submit" name="sub" value="提交删除"></p>

<%
Enumeration m=((Hashtable)session.getAttribute("Mes")).elements();
out.println("您的购物车有如下商品:"+"<br>");
 while(m.hasMoreElements())
            {

                 String message=m.nextElement().toString();
              StringTokenizer fenxi=new StringTokenizer(message,"#");
                while(fenxi.hasMoreTokens())
                     {

                                String st=fenxi.nextToken();
                               out.print(" "+st);
                    }
  }
%>
</form>
<form name="form2" action="car.jsp">
<p>
<input type="submit" value="继续购物">
</p>

</body>
</html>

                            removeWork.jsp

<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="java.util.*"%>
<html>
<head></head>
<body>
<form name="form1" action="car.jsp">
<%
request.setCharacterEncoding("gb2312");
String s=request.getParameter("select");

out.println("您删除了货物:"+s);
out.println("<br>购物车中现在的货物:<br>");
Hashtable h=(Hashtable)session.getAttribute("Mes");
h.remove(s);

Enumeration ve=((Hashtable)session.getAttribute("Mes")).elements();
while(ve.hasMoreElements())
            {

                 String message=ve.nextElement().toString();
              StringTokenizer fenxi=new StringTokenizer(message,"#");
                while(fenxi.hasMoreTokens())
                     {

                             String st=fenxi.nextToken();
                           out.print(" "+st); 
                      }
              }
%>
<p><input type="submit" name="sub" value="继续购物"></p>
</form>
</body>
</html>

本人也只是初学JSP,页面中有不妥中还请大虾们不要见怪!

原创粉丝点击