一 index.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%@ page import="entity.Items"%>
<%@ page import="dao.ItemsDAO"%>
<%
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>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<style type="text/css">
hr{
border-color:FF7F00;
}
div{
float:left;
margin: 10px;
}
div dd{
margin:0px;
font-size:10pt;
}
div dd.dd_name
{
color:blue;
}
div dd.dd_city
{
color:#000;
}
</style>
</head>
<body>
<h1>商品展示</h1>
<hr>
<center>
<table width="750" height="60" cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
<!-- 商品循环开始 -->
<%
ItemsDAO itemsDao = new ItemsDAO();
ArrayList<Items> list = itemsDao.getAllItems();
if(list!=null&&list.size()>0)
{
for(int i=0;i<list.size();i++)
{
Items item = list.get(i);
%>
<div>
<dl>
<dt>
<a href="details.jsp?id=<%=item.getId()%>"><img src="images/<%=item.getPicture()%>" width="120" height="90" border="1"/></a>
</dt>
<dd class="dd_name"><%=item.getName() %></dd>
<dd class="dd_city">产地:<%=item.getCity() %> 价格:¥ <%=item.getPrice() %></dd>
</dl>
</div>
<!-- 商品循环结束 -->
<%
}
}
%>
</td>
</tr>
</table>
</center>
</body>
</html>
二 detais.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8" %>
<%@ page import="entity.Items"%>
<%@ page import="dao.ItemsDAO"%>
<%
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>
<base href="<%=basePath%>">
<title>My JSP 'details.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<link href="css/main.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="js/lhgcore.js"></script>
<script type="text/javascript" src="js/lhgdialog.js"></script>
<script type="text/javascript">
function selflog_show(id)
{
var num = document.getElementById("number").value;
J.dialog.get({id: 'haoyue_creat',title: '购物成功',width: 600,height:400, link: '<%=path%>/servlet/CartServlet?id='+id+'&num='+num+'&action=add', cover:true});
}
function add()
{
var num = parseInt(document.getElementById("number").value);
if(num<100)
{
document.getElementById("number").value = ++num;
}
}
function sub()
{
var num = parseInt(document.getElementById("number").value);
if(num>1)
{
document.getElementById("number").value = --num;
}
}
</script>
<style type="text/css">
hr{
border-color:FF7F00;
}
div{
float:left;
margin-left: 30px;
margin-right:30px;
margin-top: 5px;
margin-bottom: 5px;
}
div dd{
margin:0px;
font-size:10pt;
}
div dd.dd_name
{
color:blue;
}
div dd.dd_city
{
color:#000;
}
div #cart
{
margin:0px auto;
text-align:right;
}
span{
padding:0 2px;border:1px #c0c0c0 solid;cursor:pointer;
}
a{
text-decoration: none;
}
</style>
</head>
<body>
<h1>商品详情</h1>
<a href="index.jsp">首页</a> >> <a href="index.jsp">商品列表</a>
<hr>
<center>
<table width="750" height="60" cellpadding="0" cellspacing="0" border="0">
<tr>
<!-- 商品详情 -->
<%
ItemsDAO itemDao = new ItemsDAO();
Items item = itemDao.getItemsById(Integer.parseInt(request.getParameter("id")));
if(item!=null)
{
%>
<td width="70%" valign="top">
<table>
<tr>
<td rowspan="5"><img src="images/<%=item.getPicture()%>" width="200" height="160"/></td>
</tr>
<tr>
<td><B><%=item.getName() %></B></td>
</tr>
<tr>
<td>产地:<%=item.getCity()%></td>
</tr>
<tr>
<td>价格:<%=item.getPrice() %>¥</td>
</tr>
<tr>
<td>购买数量:<span id="sub" onclick="sub();">-</span><input type="text" id="number" name="number" value="1" size="2"/><span id="add" onclick="add();">+</span></td>
</tr>
</table>
<div id="cart">
<img src="images/buy_now.png"><a href="javascript:selflog_show(<%=item.getId()%>)"><img src="images/in_cart.png"></a><a href="servlet/CartServlet?action=show"><img src="images/view_cart.jpg"/></a>
</div>
</td>
<%
}
%>
<%
String list ="";
//从客户端获得Cookies集合
Cookie[] cookies = request.getCookies();
//遍历这个Cookies集合
if(cookies!=null&&cookies.length>0)
{
for(Cookie c:cookies)
{
if(c.getName().equals("ListViewCookie"))
{
list = c.getValue();
}
}
}
list+=request.getParameter("id")+",";
//如果浏览记录超过1000条,清零.
String[] arr = list.split(",");
if(arr!=null&&arr.length>0)
{
if(arr.length>=1000)
{
list="";
}
}
Cookie cookie = new Cookie("ListViewCookie",list);
response.addCookie(cookie);
%>
<!-- 浏览过的商品 -->
<td width="30%" bgcolor="#EEE" align="center">
<br>
<b><font color="#FF7F00">您浏览过的商品</font></b><br>
<!-- 循环开始 -->
<%
ArrayList<Items> itemlist = itemDao.getViewList(list);
if(itemlist!=null&&itemlist.size()>0 )
{
System.out.println("itemlist.size="+itemlist.size());
for(Items i:itemlist)
{
%>
<div>
<dl>
<dt>
<a href="details.jsp?id=<%=i.getId()%>"><img src="images/<%=i.getPicture() %>" width="120" height="90" border="1"/></a>
</dt>
<dd class="dd_name"><%=i.getName() %></dd>
<dd class="dd_city">产地:<%=i.getCity() %> 价格:<%=i.getPrice() %> ¥ </dd>
</dl>
</div>
<%
}
}
%>
<!-- 循环结束 -->
</td>
</tr>
</table>
</center>
</body>
</html>
三 success.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
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>
<base href="<%=basePath%>">
<title>My JSP 'success.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<center>
<img src="images/add_cart_success.jpg"/>
<hr>
<%
String id = request.getParameter("id");
String num = request.getParameter("num");
%>
您成功购买了<%=num%>件商品编号为<%=id%>的商品
<br>
<br>
<br>
</center>
</body>
</html>
四 failure.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
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>
<base href="<%=basePath%>">
<title>My JSP 'success.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<center>
<img src="images/add_cart_failure.jpg"/>
<hr>
<br>
<br>
<br>
</center>
</body>
</html>
五 cart.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%@ page import="entity.Cart" %>
<%@ page import="entity.Items" %>
<%
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>
<base href="<%=basePath%>">
<title>My JSP 'cart.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<link type="text/css" rel="stylesheet" href="css/style1.css" />
<script language="javascript">
function delcfm() {
if (!confirm("确认要删除?")) {
window.event.returnValue = false;
}
}
</script>
</head>
<body>
<h1>我的购物车</h1>
<a href="index.jsp">首页</a> >> <a href="index.jsp">商品列表</a>
<hr>
<div id="shopping">
<form action="" method="">
<table>
<tr>
<th>商品名称</th>
<th>商品单价</th>
<th>商品价格</th>
<th>购买数量</th>
<th>操作</th>
</tr>
<%
//首先判断session中是否有购物车对象
if(request.getSession().getAttribute("cart")!=null)
{
%>
<!-- 循环的开始 -->
<%
Cart cart = (Cart)request.getSession().getAttribute("cart");
HashMap<Items,Integer> goods = cart.getGoods();
Set<Items> items = goods.keySet();
Iterator<Items> it = items.iterator();
while(it.hasNext())
{
Items i = it.next();
%>
<tr name="products" id="product_id_1">
<td class="thumb"><img src="images/<%=i.getPicture()%>" /><a href=""><%=i.getName()%></a></td>
<td class="number"><%=i.getPrice() %></td>
<td class="price" id="price_id_1">
<span><%=i.getPrice()*goods.get(i) %></span>
<input type="hidden" value="" />
</td>
<td class="number">
<%=goods.get(i)%>
</td>
<td class="delete">
<a href="servlet/CartServlet?action=delete&id=<%=i.getId()%>" onclick="delcfm();">删除</a>
</td>
</tr>
<%
}
%>
<!--循环的结束-->
</table>
<div class="total"><span id="total">总计:<%=cart.getTotalPrice() %>¥</span></div>
<%
}
%>
<div class="button"><input type="submit" value="" /></div>
</form>
</div>
</body>
</html>
六 测试结果
相关推荐
这个简易购物车项目对于学习Java Web开发的学生来说非常有帮助。通过实际操作,可以深入理解SSH框架的协同工作方式,掌握如何将业务逻辑与视图、数据访问层有效分离。同时,购物车系统的实现涉及到了会话管理、数据...
【简易购物车JSP】项目是一个基于JAVA技术的Web应用,使用了JSP(JavaServer Pages)作为前端展示层,实现了基本的在线购物车功能。这个应用的核心目标是为用户提供一个简便的购物体验,允许他们浏览商品、添加到...
在JavaWeb领域,一个简易购物车的设计是学习和理解Web应用程序开发的重要实践。这个项目针对的是初学者,旨在帮助他们掌握基本的JavaWeb技术。在这个项目中,`CartServlet`很可能是一个关键的组件,它是处理客户端...
【标题】: "毕设课设-简易购物车javaweb购物车项目" 这个项目是一个基于JavaWeb技术的简易购物车系统,适用于毕业设计或课程大作业。它旨在帮助学生理解并实践Web应用开发的基本流程,同时掌握核心的Java编程和Web...
3. 购物车管理:用户可以在购物车页面查看已选商品,进行数量修改或删除操作。 4. 订单结算:用户确认购物车无误后,可以进行订单结算,提交订单信息到服务器,同时计算总金额。 5. 订单确认:后台接收到订单信息后...
《基于JSP Servlet MySQL Tomcat实现的简易购物车系统详解》 在当今互联网技术日新月异的时代,构建一个功能完善的在线购物系统是许多企业和个人开发者的重要任务。本篇文章将详细解析一个基于JSP Servlet、MySQL...
- **视图(View)**:显示数据给用户,如展示购物车页面,显示商品列表、总价等信息。 - **控制器(Controller)**:作为模型和视图之间的桥梁,接收用户请求,调用模型进行处理,并更新视图显示结果。比如,当用户...
通过学习这个简易购物车系统,开发者可以掌握Web应用的基本架构,理解MVC模式,以及如何利用Spring和Hibernate来实现业务逻辑,同时还能了解到AJAX、验证码、分页排序等实际开发中的常见技术,对于提升Web开发技能...
在基于HTML5实现的简易购物车中,我们主要关注三个核心技术:HTML用于构建页面结构,CSS用于美化页面样式,JavaScript(通常与jQuery库一起使用)则用于实现动态交互功能。以下是对这些知识点的详细说明: 1. **...
总的来说,"运用jsp实现的购物车模块"涵盖了Web开发中的许多基础概念和技术,包括JSP页面设计、服务器端数据处理、数据库操作以及用户交互逻辑。理解并掌握这些知识点对于开发完整的Web应用程序至关重要。在实际项目...
在这个简易版的购物车项目中,开发者使用了C#语言和ASP.NET技术来实现一个三层架构的系统,配合SQL Server 2008作为数据库存储。 1. **三层架构**:三层架构是一种常见的软件设计模式,将应用程序分为三个主要部分...
- 购物车页面会列出所有选中的商品,显示每项商品的数量、单价和总价,以及总金额。 - 可能包括修改数量、删除商品的功能,这些操作同样会更新Session中的购物车信息。 7. **结账与订单处理** - 用户确认购物车...
3. **购物车显示**:Servlet根据请求返回当前购物车的所有商品,JSP页面负责渲染显示,包括商品名称、数量、单价和总价。 4. **计算总价**:购物车模型会根据商品的数量和单价计算总价,Servlet可能需要处理诸如...
标题中的“一个基于Vuejs的小型商城项目包含登录商品列表购物车页面数据为本地mock”表明这是一个使用Vue.js框架开发的简易在线商城应用。这个项目主要用于学习和实践Vue.js的相关技术,包括用户登录、商品展示、...
购物车模板可能包含多个组件,如`CartItem`(单个商品项)、`CartSummary`(购物车总览)等,每个组件都有自己的独立状态和方法,可以复用并组合成复杂的页面结构。 3. **响应式系统**:Vue.js的响应式系统基于依赖...
在本项目中,Vue.js用于构建整个电商应用的视图层,通过声明式渲染将数据与DOM元素绑定,使得页面动态更新更加高效。 ### 2. 购物车功能 购物车功能是电商项目中的关键部分。在本项目中,该功能包括: - **商品添加...
2. **显示购物车内容**:在另一个页面上,我们可以使用`session.getAttribute()`获取购物车中的商品列表,并展示给用户。如果购物车为空,可以显示相应提示。为了展示列表,可能需要一个自定义的`CartItem`类,包含...
例如,`cart.jsp`可能是显示购物车内容的页面,`addtocart.jsp`可能是添加商品到购物车的页面。 3. Struts配置文件(struts-config.xml):定义了Action和ActionForm,以及他们如何映射到URL和JSP页面。 4. Web应用...
首先,`JSP`(JavaServer Pages)是用于创建动态网页的技术,它允许在HTML页面中嵌入Java代码,实现了视图层的功能。在购物车应用中,JSP主要负责展示商品列表、购物车内容以及用户交互界面。 `Servlet`是Java的一...
通过EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)标签库,可以方便地在页面上显示商品列表、购物车内容以及结算信息。例如,可以创建一个表格来显示购物车中的商品,每个单元格分别...