*8.Estore_添加商品
-添加商品(文件上传)
index.jsp -- 提供 添加商品
addProd.jsp -- 提供添加商品的表单,这个表单应该是文件上传的表单,其中允许上传商品图片
AddProdServlet -- 实现文件上传,将商品的图片上传到服务器中.并且向数据库的商品表中增加一条记录
Service -- 添加商品
Dao -- 添加商品信息的方法
*9.Estore_商品列表_商品详细信息
商品列表
index.jsp -- 提供商品列表
ProdListServlet -- 调用Service中查询所有商品的方法,查到后存入request域带到页面展示
prodList.jsp -- 从request域中拿出所有的商品做展示
查看商品详情
在商品列表页面中点击图片时,查看商品的详情
ProdInfoServlet 根据商品id查询商品信息,带到页面显示
ProdService 提供根据id查询商品的方法
ProdDao 提供根据id查询商品的方法
prodInfo.jsp页面展示
*10.Estore_购物车1
cookie,session,数据库都可以来实现!
加入购物车
在商品详细信息页面中点击加入购物车,将商品加入购物车
设置监听器,在Session创建时,就将cartmap加入到session中
AddOrderServlet -- 根据id查找商品,存入购物车,如果购物车中还不存在这个商品,则存入,数量为1,如果已经存在则在原有数量上+1
cart.jsp -- 遍历购物车map,遍历cartmap显示当前用户所有的购物车信息
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript">
function changeNum(id,obj,oldnum){
if(!/^[1-9]\d*$/.test(obj.value)){
alert("购买数量必须为正整数!");
obj.value=oldnum;
return;
}
window.location.href="/ChangeCartServlet?id="+id+"&buynum="+obj.value;
}
</script>
</head>
<body style="text-align: center;" >
<h1>我的购物车</h1>
<div align="right">
<a href="/ProdListServlet">继续购物</a>
<a href="/ClearCartServlet">清空购物车</a>
<a href="/addOrder.jsp"><img src="/img/gotoorder.bmp"/></a>
</div>
<hr>
<c:if test="${empty sessionScope.cartmap}">
<h2><a href="/ProdListServlet">购物车空空如也,请先去挑点东西吧~~~</a></h2>
</c:if>
<c:if test="${not empty sessionScope.cartmap}">
<table width="100%" border="1" style="text-align: center">
<tr>
<th>缩略图</th>
<th>商品名称</th>
<th>商品种类</th>
<th>商品单价</th>
<th>购买数量</th>
<th>库存状态</th>
<th>总价</th>
<th>删除</th>
</tr>
<c:set var="money" value="0" />
<c:forEach items="${sessionScope.cartmap}" var="entry">
<tr>
<td><img src="/ImgServlet?imgurl=${entry.key.imgurls }"/></td>
<td>${entry.key.name }</td>
<td>${entry.key.category }</td>
<td>${entry.key.price }元</td>
<td><input type="text" value="${entry.value }" style="width: 30px" οnchange="changeNum('${entry.key.id }',this,${entry.value })"/>件</td>
<td>
<c:if test="${entry.value<=entry.key.pnum}">
<font color="blue">有货</font>
</c:if>
<c:if test="${entry.value>entry.key.pnum}">
<font color="red">缺货</font>
</c:if>
</td>
<td>
${entry.key.price * entry.value }元
<c:set var="money" value="${money + entry.key.price * entry.value }"/>
</td>
<td>
<a href="/DelCartServlet?id=${entry.key.id }">删除</a>
</td>
</tr>
</c:forEach>
</table>
<div align="right">
<font color="red" size=6">总价:${money }元</font>
</div>
</c:if>
</body>
</html>
DeleteCartServlet:
购买数量的校验!