Ⅰ 如何用java和jsp做一个简单的购物车
页面jsp :
<%@pagelanguage="java"contentType="text/html;charset=utf-8"
pageEncoding="utf-8"%>
<%@taglibprefix="c"uri="
<%@tagliburi="
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""
<htmlxmlns="
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>易买网-首页</title>
<linktype="text/css"rel="stylesheet"href="${pageContext.request.contextPath}/css/style.css"/>
<scripttype="text/javascript"src="${pageContext.request.contextPath}/js/jquery-2.1.1.js"></script>
<scripttype="text/javascript">
varcontextPath='${pageContext.request.contextPath}'
</script>
<scripttype="text/javascript"src="${pageContext.request.contextPath}/js/shopping.js"></script>
</head>
<body>
<jsp:includepage="top.jsp"/>
<divid="position"class="wrap">
您现在的位置:<ahref="Home">易买网</a>>购物车
</div>
<divclass="wrap">
<divid="shopping">
<formaction=""method="post">
<table>
<tr>
<th>商品名称</th>
<th>商品价格</th>
<th>购买数量</th>
<th>操作</th>
</tr>
<c:forEachitems="${sessionScope.shopCar}"var="item"varStatus="status">
<trid="proct_id_${item.proId}">
<tdclass="thumb"><imgsrc="${item.proImg}"height="50"width="30"/><ahref="Proct?action=view&entityId=${item.proId}">${item.proName}</a></td>
<tdclass="price"id="price_id_1">
<span><fmt:formatNumbervalue="${item.proPrice}"type="NUMBER"minFractionDigits="2"/></span>
<inputtype="hidden"value="${item.proPrice}"/>
</td>
<tdclass="number">
<dl>
<dt><spanonclick="sub('number_id_${item.proId}','${item.proId}')">-</span><inputid="number_id_${item.proId}"type="text"readonly="readonly"name="number"value="${item.proNum}"/><spanonclick="addNum('number_id_${item.proId}','${item.proId}')">+</span></dt>
</dl>
</td>
<tdclass="delete"><ahref="javascript:deleteItem('proct_id_${item.proId}','${item.proId}')">删除</a></td>
</tr>
</c:forEach>
</table>
<divclass="button"><inputtype="submit"value=""/></div>
</form>
</div>
</div>
<divid="footer">
Copyright&;kaka292817678itjob远标培训.
</div>
</body>
</html>
页面关联的js 自己去网上下载一个jquery
/*数量减少*/
functionsub(id,proId){
//购买数量的值
varnum=$('#'+id).val();
if(num>1){
$('#'+id).val(num-1);
}
edit(id,proId);
}
functionedit(id,proId){
varurl=contextPath+'/HomeCarManager'
//修改后的数量,购物明细的商品的id
num=$('#'+id).val();
$.post(url,{"num":num,"proId":proId},function(msg){
/*
if(msg=='true'){
alert('修改成功');
}else{
alert('修改失败');
}*/
});
}
/**
*数量增加
*@param{}id
*/
functionaddNum(id,proId){
//购买数量的值
varnum=$('#'+id).val();
$('#'+id).val(parseInt(num)+1);
edit(id,proId);
}
/**
*删除购物明细
*/
functiondeleteItem(trId,proId){
//
//console.log($("#"+trId));
//js删除页面节点
//$("#"+trId).remove();
varurl=contextPath+'/HomeCarManager'
$.post(url,{"proId":proId},function(msg){
if(msg=='true'){
//js删除页面节点
$("#"+trId).remove();
}
});
}
后台servlet1
packagecom.kaka.web;
importjava.io.IOException;
importjava.io.PrintWriter;
importjava.util.ArrayList;
importjava.util.List;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
/**
*购物车处理类
*@author@authorITJob远标培训
*
*/
importcom.kaka.entity.Items;
importcom.kaka.entity.Proct;
importcom.kaka.service.ProctService;
importcom.kaka.service.impl.ProctServiceImpl;
{
=1L;
ProctServiceps=newProctServiceImpl();
@Override
protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
//获取商品的id
StringproId=req.getParameter("proId");
resp.setContentType("text/html;charset=UTF-8");
PrintWriterwriter=resp.getWriter();
if(null!=proId&&!"".equals(proId)){
//返回添加购物车成功
//System.out.println("============="+proId);
//根据商品的id查询商品
try{
IntegerpId=Integer.parseInt(proId);
Proctproct=ps.findProctById(pId);
if(null!=proct){
//查询到了商品,将商品的相关参数构建一个购物明细放入到购物车
Itemsit=newItems();
it.setProId(proct.getProId());
it.setProName(proct.getProName());
it.setProPrice(proct.getProPrice());
it.setProImg(proct.getProImg());
//先判断session范围是否有购物车
List<Items>shopCar=(List<Items>)req.getSession().getAttribute("shopCar");
if(null==shopCar){
//购物车
shopCar=newArrayList<Items>();
}
//将商品加入到购物车之前,判断购物车中是否已经包含了该购物明细,如果包含了,只需要修改购买的数量
if(shopCar.contains(it)){
intindex=shopCar.indexOf(it);//寻找购物车中包含购物明细在购物车中位置
Itemsitems=shopCar.get(index);//获取购物车中存在的购物明细
items.setProNum(items.getProNum()+1);
}else{
shopCar.add(it);
}
//将购物车放入到session访问
req.getSession().setAttribute("shopCar",shopCar);
//返回
writer.print(true);
}else{
writer.print(false);
}
}catch(Exceptione){
e.printStackTrace();
writer.print(false);
}
}else{
writer.print(false);
}
writer.flush();
writer.close();
}
@Override
protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
doPost(req,resp);
}
}
后台管理servlet
packagecom.kaka.web;
importjava.io.IOException;
importjava.io.PrintWriter;
importjava.util.ArrayList;
importjava.util.List;
importjavax.mail.FetchProfile.Item;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
/**
*购物车修改
*@authorITJob远标培训
*
*/
importcom.kaka.entity.Items;
importcom.kaka.entity.Proct;
importcom.kaka.service.ProctService;
importcom.kaka.service.impl.ProctServiceImpl;
{
=1L;
ProctServiceps=newProctServiceImpl();
@Override
protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
resp.setContentType("text/html;charset=UTF-8");
PrintWriterwriter=resp.getWriter();
//获取参数
StringproId=req.getParameter("proId");
Stringnum=req.getParameter("num");
if(null!=proId&&null!=num
&&!"".equals(proId)&&!"".equals(num)){
try{
IntegerpId=Integer.parseInt(proId);
FloatpNum=Float.parseFloat(num);
//根据商品的id获取对应的明细项
//先判断session范围是否有购物车
List<Items>shopCar=(List<Items>)req.getSession().getAttribute("shopCar");
for(Itemsit:shopCar){
if(it.getProId()==pId){
it.setProNum(pNum);
}
}
writer.print(true);
}catch(Exceptione){
e.printStackTrace();
}
}else{
//删除的操作
try{
IntegerpId=Integer.parseInt(proId);
//根据商品的id获取对应的明细项
//先判断session范围是否有购物车
List<Items>shopCar=(List<Items>)req.getSession().getAttribute("shopCar");
Itemsitems=null;
for(Itemsit:shopCar){
if(it.getProId()==pId){
items=it;
break;
}
}
if(null!=items){
shopCar.remove(items);
req.getSession().setAttribute("shopCar",shopCar);
}
writer.print(true);
}catch(Exceptione){
e.printStackTrace();
}
}
writer.flush();
writer.close();
}
@Override
protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
doPost(req,resp);
}
}
Ⅱ jsp购物车代码
//shopping.html
<html>
<head><title>shopping stor</title></head>
<body>
<form action="carts.jsp" target="post">
<br>
please select the item that you want to buy
<br>
<select name="item">
<option>book:old man and the sea
<option>x-box game machine
<option>mp3 player
<option>cce
<option>book:jsp programming
<option>cd "the endless love"
<option>dvd "gone with the wind"
</select>
<br>
<input type="submit" name="submit" value="add">
<input type="submit" name="submit" value="remove">
</form>
</body>
</html>
------------------------------------------------------------------
//carts.jsp
<%@page contentType="text/html;charset=ISO8859_1" %>
<html>
<jsp:useBean id="cart" scope="session" class="test.DummyCart"/>
<jsp:setProperty name="cart" property="*"/>
<%
cart.processRequest();
%>
<br>
<ol>
you have chosen these items:
<%
String []items=cart.getItems();
for(int i=0;i<items.length;i++)
{
%>
<li><%=items[i] %></li>
<%
}
%>
</ol>
<hr>
<%@include file="shopping.htm" %>
</html>
---------------------------------------------------------------------//DummyCart.java
package test;
import javax.servlet.http.*;
import java.util.Vector;
import java.util.Enumeration;
public class DummyCart
{
Vector v = new Vector();
String submit=null;
String item= null;
private void addItem(String name)
{
v.addElement(name);
}
private void removeItem(String name)
{
v.removeElement(name);
}
public void setItem(String s)
{
item=s;
}
public void setSubmit(String s)
{
submit=s;
}
public String[] getItems()
{
String []s=new String[v.size()];
v.Into(s);
return s;
}
public void processRequest()
{
if(submit==null)
addItem(item);
if(submit.equals("add"))
addItem(item);
else if (submit.equals("remove"))
removeItem(item);
reset();
}
private void reset()
{
submit=null;
item=null;
}
}
----------------------------------------------------------------------
上面是一个简单的例子,功能都能实现,对网页效果要求更漂亮些的可做一些修改。
Ⅲ 急求一个用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 做网上商城系统时 在购物车上出了问题
你应该用一个集合类型,比如List来存储你的商品信息。在每次添加新商品的时候,版就往这个集权合里面添加商品信息!
例如:
List shoplist = new ArrayList();
request.getSession().setAttribute("c", shoplist );
这里做初始化的购物车。
如果添加了新商品,
List lis = request.getSession().setAttribute("c");
lis.add(cart)
request.getSession().setAttribute("c", lis);
这样说LZ你明白了吗?
Ⅳ jsp+mysql购物车示例
通过这个方抄法request.getsession().setAttribute("cart",购物车的数据);放入,然后需要提取的时候就通过request.getsession().getAttribute("cart");得到数据,然后在往数据库里面插就好了。
Ⅵ jsp+servlet怎样实现网上购物车功能
利用cookie去写应该可以
Ⅶ 用JSP做个网站实现购物车功能
建个购物车对象
把购买好的 商品 放到 一个 集合里
再把 集合 存到 session中
然后 增删改查 都 操作 session中的 集合
就OK了 不是很难 你试着 写下 这样 提高才会快
Ⅷ 求jsp的购物车系统论文
希望采纳还有表格图 这里发不了
摘 要:随着网络技术的发展,人们越来越享受网络给生活带来的快捷与便利,网络购物是时下最时尚的一种购物方式。本文所述的网络购物 系统是基 于 Intemet的 B2C(BusinesstoConsumers)模式 ,根据 目前网络购物 系统的现状而开发的一种电子商务 平台 ,介绍 了网络购物系统现状及开发背景 ,并以JSP为开发平台,MySQL作为后台数据库构建了简单的网络购物系统。
关键 词 :网络购物 系统 ;B/S结构 ;JSP;B2C
1网络购物系统概 述
1.1网络购物系统的发展过程与现状随着计算机网络化和经济全球化成为不可抗拒的世界潮流以及信息媒体技术真正得到蓬勃发展而产生的新事物,电子商务有着发展潜力巨大的市场,具有诱人的发展前景。电子商务完备的双向信息沟通、灵活的交易手段和快速的交货方式将给我们带来巨大的经济效益 ,改进了传统商务活动的形式,可以减低交易成本,增加贸易机会,简化贸易流程,提高生产率,改善物流系统,代表着未来贸易方式发展的方向。
网络购物系统的开发成了IT领域的一项新课题,目前在我国主要采用 ASP与 PHP技术 ,而JSP技术最为一项新技术主要兴起于国外各大商业网站,在国内尚属于发展阶段,国内门户网站新浪、中国人等都是用的是 PHP技术,但因其自身存在一定缺陷,作为大型商业类网站的开发平台仍然存在一定弊端;而 ASP和 JSP不存在上述 问题 ,ASP获取 ActiveX规模支持是通过 Windows的 COM/DCOM,获取结 构支持是通过 Translation www.siyupaper.com Server;而 JSP则 是通过SUN的Java和 JavaClass获取规模支持,通过全球各大知名软件厂商一致认可 的 ApplicationServer获得结构 支持 。通 过上 述 比较 ,显然 JSP更具发展优势,目前全球一些知名度较高的软件公司对电子商务的解决问题都采用 JSP/Sevrlet。
1.2 网络购物系统开发的意义
当今世界网络 、通信和信息技术的发展,互联网迅速遍及全球,商业发展空间逐步扩大 ,企业竞争更加激烈,只有不断满足客户 日益增长的需求 ,才能主动占领商机 ,网络购物时代的来临迫使商家改变 自身传统的经营模式 ,以适应新时代、新技术所带来的商业变。因此,任何一个企业想要生存与发展,就必须迅速地改变传统的经营观念,跟上当今世界发展的最新潮流,加入到电子商务大潮中。根据系统描述 、商品特征等信息测试测试模拟网络购物方式 ,此项测试的目的是发现功能错误与纰漏,数据结构不匹配等问题。系统测试包括登陆测试、修改信息测试、商品管理测试 、用户管理测试等。
总结
本 文 综 合 运 用 了 JSP、Struts2、Hibernate、Ajax、CSS、HTML、
JavaScript、DBCP/JDBC、XML、Properties、MySQL等技术 ,对 目前 比较
流行的网络购物系统进行了开发与测试,采用 JSP技术来完成表示层的显示 ,用 Struts2技术来实现控制层 ,用 Hibenrate技术实现数据的持久化,用 Ajax技术实现对表示层页面的局部刷新,使用 CSS对JSP页面进行排版和美化,使用 JavaScript对页面元素进行动态验证,实验所开发的应用平台虽然没有正式投入商业运行,因为该系统还不够成熟,不够完善 ,但也提出了一些新的思路,对于该领域的发展与创新起到了一定的积极作用。
网络购物是一种交互式的商业行为,其信息资源可分为静态和动态两种,静态是指那些固有的宣传模式 ,比如公司概况、经营理念、规章制度等 ;动态信息资源一般指产品信息,比如,新产品发布、商品价格、公司培训等。网络购物应具有强大地交互功能,使得商家和客户的信息沟通和问题反馈畅通无阻,这种全新的交易模式真正。
实现了无障碍沟通,节省大部分时间、精力、财力等。
2基 于 JSP的网络购物系统结构设计
本文所述网络购物系统是利用现在比较流行的JSP+MySQL
数据库的架构实现的,跟其他网络购物系统类似,总体上分为前台
操作和后台数据管理两部分组成,前台界面美观大方、友好方便、功
能完善,具有浏览、查询 、订购、用户信息管理等功能,后台为站长提
供审核用户信息、管理用户、管理商品等操作 ,具有操作简单 ,可靠
性强等特点。
2.1系统功能分析
经过以上的初步调查和研究 ,并且确定了该平台的可行性,为
了能够对现行的平台内容进行充分了解,使所要开发的平台更具有
实用性和适应性,设计出该平台功能如图 l。
2.2系统构架的设计
Ⅸ 在JSP中怎样实现购物车计数
问题比较怪异~
既然都会做购物车了~那么计数又又什么难的?
无非都是统计数字专罢了~
如果是问的购物车中总共又属多少类商品,那么只要统计集合中又多少个商品对象就可以了,用count或者size方法(视你所用集合而定)
如果问的是每类商品有多少个,那么只要再再商品对象中加一个数量的属性就OK了,无论增加或减小商品数量也只要修改这个属性的值就可以~
Ⅹ jsp+servlet做的购物网站怎么绑定用户和购物车(实现每个用户有独立的购物车)
当然是持久化到数据库中了;
建一个购物车表,用户ID作为外键约束,添加删除内购物车的时候直接容操作数据库就行了;
如果要实现用户不登录也有购物车的功能,就加一个cookie,把商品存在cookie里,浏览器不关闭就都在;