⑴ 怎么用jsp的session对象编写购物车
肯定需要用javabean啊,如果要购买的话就把这个物存入到map类型的cart里面,再 调用session.setAttribute方法把hashmap类型的cart放到session里面,然后在购物车那个页面取出购物车里的东西就行了,
DiscBean bean=data.getItem(itemid);这是选中物品的id
得到session对象
HttpSession session = request.getSession();
得到map类型的购物车
Map car=(Map)session.getAttribute("car");
if(car==null){
car=new HashMap();
session.setAttribute("car", car);
}
Set set=car.keySet();得到键的集合
Object[] bea=set.toArray();
boolean isNewDisc = true;
for (Object object : bea) {
DiscItem discitem=(DiscItem)car.get(object);
String discitemid = discitem.getDiscBean().getItemID();
if(itemid.equals(discitemid)){
isNewDisc = false;
discitem.setNumber(discitem.getNumber()+1);
break;
}
}
if(isNewDisc){
car.put(itemid, new DiscItem(bean,1));
}
这个例子就是说我添加一本书的信息,如果是已经在购物车里了,就更新它的数量,如果没在购物车里,就把这个bean保存到购物车,并且数量设为一
⑵ 急求一个用jsp做的购物网站,可以连接到数据库,实现注册,购物车等功能
登录注册:
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<html>
<body>
<%
request.setCharacterEncoding("GB2312");
String username=request.getParameter("username");
String password=request.getParameter("password");
String sql="select * from user where username=? and password=?";
pstm=conn.prepareStatement(sql);
pstm.setString(1,username);
pstm.setString(2,password);
rs=pstm.executeQuery();
if(rs.next())
{
session.setAttribute("id",rs.getInt("userid"));
int id=rs.getInt("userid");
session.setAttribute("username",rs.getString("username"));
session.setAttribute("realname",rs.getString("realname"));
session.setAttribute("address",rs.getString("address"));
session.setAttribute("phone",rs.getString("phone"));
}
Integer userid=(Integer)session.getAttribute("id");
// System.out.println(userid);
if(userid==null)
{
%>
<table border=1>
<form action="" method="post">
<tr><td>用户名:</td><td><input type="text" name="username"></td></tr>
<tr><td>密 码:</td><td><input type="password" name="password"></td></tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="登录" name="submit">
<a href="front/addUser.jsp">注册</a></td>
</tr>
</form>
</table>
<% }
else
{%>
<table border=1>
<tr><td><%= session.getAttribute("username")%>欢迎光顾我的书店</td></tr>
<tr><td><a href="front/updateUser.jsp?userid=<%=userid %>">修改个人信息</a></td></tr>
<tr><td><a href="front/SelectShoppingCart.jsp">查看购物车</a></td></tr>
<tr><td><a href="front/exit.jsp">退出</a></td></tr>
</table>
<%}
%>
</body>
</html>
购物车部分代码:
<%@ page language="java" import="java.util.*,com.javabean.*" pageEncoding="GB2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body><center>
<a href="front/index.jsp"><img src="images/logo.gif" alt="" title="" border="0" /></a>
<%@ include file="menu.jsp"%>
<%@ include file="/DB.jsp" %>
<%@ include file="leftmenu.jsp"%> <table>
<tr>
<td colspan="8" id=s align="center"><h1>您的购物车</h1></td><br>
</tr>
<tr>
<td align="center">id</td><td align="center">名称</td><td align="center">作者</td>
<td align="center">出版社</td><td align="center">单价</td><td align="center">数量</td>
<td align="center">总价</td><td align="center">操作</td>
</tr>
<%
int totalNum=0;
double totalMoney=0.0;
ArrayList <ShoppingCartObject> cart=(ArrayList)session.getAttribute("shoppingcart");
Iterator it =null;
if(cart!=null && cart.size()>0){
it=cart.iterator();
while(it.hasNext()){
ShoppingCartObject sco=(ShoppingCartObject)it.next();
totalNum=totalNum+sco.getBooknum();
totalMoney=totalMoney+sco.getSubmoney();
%>
<tr>
<td align="center"><%=sco.getId() %></td>
<td align="center"><%=sco.getName() %></td>
<td align="center"><%=sco.getAuthor()%></td>
<td align="center"><%=sco.getPublisher() %></td>
<td align="center"><%=sco.getUnitprice() %></td>
<td align="center"><%=sco.getBooknum() %></td>
<td align="center">¥<%=sco.getSubmoney() %>元</td>
<td align="center"><a href="front/DelFromShoppingCart.jsp?id=<%=sco.getId()%>">删除</a>
<a href="front/bookdetail.jsp?id=<%=sco.getId()%>">详细信息</a></td>
</tr>
<%
}
}
else{ %>
<tr><td colspan="8" align="right">您一共买了<%= totalNum%>本书 总价为¥<%=totalMoney %>元</td></tr>
<tr><td colspan="8" align="center">您的购物车为空</td></tr><%} %>
<tr><td colspan="1" align="center"><a href="front/ClearShoppingCart.jsp">清空购物车</a></td>
<td colspan="4" align="center"><a href="front/allbook.jsp">继续购物</a></td>
<td colspan="3" align="center"><a href="front/makeorder.jsp">前往结账</a></td>
</tr>
</table>
</body>
</html>
</body>
</html>
⑶ 在JSP中怎样实现购物车计数
问题比较怪异~
既然都会做购物车了~那么计数又又什么难的?
无非都是统计数字罢版了~
如果权是问的购物车中总共又多少类商品,那么只要统计集合中又多少个商品对象就可以了,用count或者size方法(视你所用集合而定)
如果问的是每类商品有多少个,那么只要再再商品对象中加一个数量的属性就OK了,无论增加或减小商品数量也只要修改这个属性的值就可以~