javaweb购物车jsp,JAVAweb购物车session

本文目录一览:

用jsp和数据库做购物车,怎么能通过点击按钮把购买数量和商品信息传给购物车页面,急!!下面是部分代码

你把购买的数量和商品信息做成一个javabean,然后把这个javabean存在session里面,你点击按钮就向服务器端发出请求,然后服务器端处理请求后用jsp显示,这样就可以了呀

javascript+jsp实现在1.html把商品放购物车,在2.html显示购物车内的信息.看问题补充

一般来说,购物车信息是放在数据库的。不建议放在session。添加购物车就向数据库添加一条数据,另外一个页面刷新自然就可以获取数据

如何用java和jsp做一个简单的购物车

页面jsp :

%@ page language=”java” contentType=”text/html; charset=utf-8″

    pageEncoding=”utf-8″%

%@ taglib prefix=”c” uri=”

%@ taglib uri=”

!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “

html xmlns=”

head

meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /

title易买网 – 首页/title

link type=”text/css” rel=”stylesheet” href=”${pageContext.request.contextPath }/css/style.css” /

script type=”text/javascript” src=”${pageContext.request.contextPath }/js/jquery-2.1.1.js”/script

script type=”text/javascript”

var contextPath = ‘${pageContext.request.contextPath }’;

/script

script type=”text/javascript” src=”${pageContext.request.contextPath }/js/shopping.js”/script

/head

body

jsp:include page=”top.jsp” /

div id=”position” class=”wrap”

您现在的位置:a href=”Home”易买网/a gt; 购物车

/div

div class=”wrap”

div id=”shopping”

form action=”” method=”post”

table

tr

th商品名称/th

th商品价格/th

th购买数量/th

th操作/th

/tr

c:forEach items=”${sessionScope.shopCar}”  var=”item” varStatus=”status”

tr id=”product_id_${item.proId}”

td class=”thumb”img src=”${item.proImg }” height=”50″ width=”30″ /a href=”Product?action=viewentityId=${item.proId}”${item.proName}/a/td

td class=”price” id=”price_id_1″

spanfmt:formatNumber value=”${item.proPrice}” type=”NUMBER” minFractionDigits=”2″ //span

input type=”hidden” value=”${item.proPrice}” /

/td

td class=”number”

dl

dtspan onclick=”sub(‘number_id_${item.proId}’,’${item.proId}’)”-/spaninput id=”number_id_${item.proId}” type=”text” readonly=”readonly” name=”number” value=”${item.proNum}” /span onclick=”addNum(‘number_id_${item.proId}’,’${item.proId}’)”+/span/dt

/dl

/td

td class=”delete”a href=”javascript:deleteItem(‘product_id_${item.proId}’,’${item.proId}’)”删除/a/td

/tr

/c:forEach

/table

div class=”button”input type=”submit” value=”” //div

/form

/div

/div

div id=”footer”

Copyright copy;  kaka  292817678 itjob  远标培训. 

/div

/body

/html

页面关联的js 自己去网上下载一个jquery

/*数量减少*/

function sub(id,proId){

//购买数量的值

var num = $(‘#’+id).val();

if(num  1){

$(‘#’+id).val(num – 1);

}

edit(id,proId);

}

function edit(id,proId){

var url = contextPath + ‘/HomeCarManager’;

//修改后的数量,购物明细的商品的id

num = $(‘#’+id).val();

$.post(url,{“num”:num,”proId”:proId},function (msg){

/*

if(msg == ‘true’){

alert(‘修改成功’);

} else {

alert(‘修改失败’);

}*/

});

}

/**

 * 数量增加

 * @param {} id

 */

function addNum(id,proId){

//购买数量的值

var num = $(‘#’+id).val();

$(‘#’+id).val(parseInt(num) + 1);

edit(id,proId);

}

/**

 * 删除购物明细

 */

function deleteItem(trId,proId){

//

//console.log($(“#”+trId));

//js删除页面节点

//$(“#”+trId).remove();

var url = contextPath + ‘/HomeCarManager’;

$.post(url,{“proId”:proId},function (msg){

if(msg == ‘true’){

//js删除页面节点

$(“#”+trId).remove();

}

});

}

后台servlet1

package com.kaka.web;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.ArrayList;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

 * 购物车处理类

 * @author @author ITJob 远标培训

 *

 */

import com.kaka.entity.Items;

import com.kaka.entity.Product;

import com.kaka.service.ProductService;

import com.kaka.service.impl.ProductServiceImpl;

public class HomeCar extends HttpServlet {

private static final long serialVersionUID = 1L;

ProductService ps = new ProductServiceImpl();

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

//获取商品的id

String proId = req.getParameter(“proId”);

resp.setContentType(“text/html;charset=UTF-8”);

PrintWriter writer = resp.getWriter();

if(null != proId  !””.equals(proId)){

//返回添加购物车成功

//System.out.println(“=============” + proId);

//根据商品的id查询商品

try {

Integer pId = Integer.parseInt(proId);

Product product = ps.findProductById(pId);

if(null != product){

//查询到了商品,将商品的相关参数构建一个购物明细放入到购物车

Items it = new Items();

it.setProId(product.getProId());

it.setProName(product.getProName());

it.setProPrice(product.getProPrice());

it.setProImg(product.getProImg());

//先判断session范围是否有购物车

ListItems shopCar = (ListItems)req.getSession().getAttribute(“shopCar”);

if(null == shopCar){

//购物车

shopCar = new ArrayListItems();

}

//将商品加入到购物车之前,判断购物车中是否已经包含了该购物明细,如果包含了,只需要修改购买的数量

if(shopCar.contains(it)){

int index  = shopCar.indexOf(it);//寻找购物车中包含购物明细在购物车中位置

Items items = 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 (Exception e) {

e.printStackTrace();

writer.print(false);

}

} else {

writer.print(false);

}

writer.flush();

writer.close();

}

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

doPost(req, resp);

}

}

后台管理servlet 

package com.kaka.web;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.ArrayList;

import java.util.List;

import javax.mail.FetchProfile.Item;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

 * 购物车修改

 * @author ITJob 远标培训

 *

 */

import com.kaka.entity.Items;

import com.kaka.entity.Product;

import com.kaka.service.ProductService;

import com.kaka.service.impl.ProductServiceImpl;

public class HomeCarManager extends HttpServlet {

private static final long serialVersionUID = 1L;

ProductService ps = new ProductServiceImpl();

@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

resp.setContentType(“text/html;charset=UTF-8”);

PrintWriter writer = resp.getWriter();

//获取参数

String proId = req.getParameter(“proId”);

String num = req.getParameter(“num”);

if(null != proId  null != num

 !””.equals(proId)  !””.equals(num)){

try {

Integer pId = Integer.parseInt(proId);

Float pNum = Float.parseFloat(num);

//根据商品的id获取对应的明细项

// 先判断session范围是否有购物车

ListItems shopCar = (ListItems) req.getSession().getAttribute(“shopCar”);

for(Items it : shopCar){

if(it.getProId()== pId){

it.setProNum(pNum);

}

}

writer.print(true);

} catch (Exception e) {

e.printStackTrace();

}

} else {

//删除的操作

try {

Integer pId = Integer.parseInt(proId);

//根据商品的id获取对应的明细项

// 先判断session范围是否有购物车

ListItems shopCar = (ListItems) req.getSession().getAttribute(“shopCar”);

Items items = null;

for(Items it : shopCar){

if(it.getProId()== pId){

items = it;

break;

}

}

if(null != items){

shopCar.remove(items);

req.getSession().setAttribute(“shopCar”,shopCar);

}

writer.print(true);

} catch (Exception e) {

e.printStackTrace();

}

}

writer.flush();

writer.close();

}

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

doPost(req, resp);

}

}

jsp 实现简易版session购物车,无论前面怎么选择,最后显示的结果都为6个on,无法正确显示选择结果

session.setAttribute(这个里面放List),

你有多少个商品全放在list里面就行了。

然后购物车展示页面就循环输出list

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/254473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-14 17:42
下一篇 2024-12-14 17:42

相关推荐

  • Python购物车程序

    Python购物车程序是一款基于Python编程语言开发的程序,可以实现购物车的相关功能,包括商品的添加、购买、删除、统计等。 一、添加商品 添加商品是购物车程序的基础功能之一,用…

    编程 2025-04-29
  • Javaweb 接口返回数据的定义与实现

    本文将介绍 javaweb 如何定义接口返回数据,并提供相应的代码示例。 一、接口返回数据的定义 在 javaweb 开发中,我们经常需要通过接口返回数据。接口返回的数据格式通常是…

    编程 2025-04-27
  • 为什么web项目的欢迎页必须是jsp?

    在web项目中,欢迎页通常是用户首次访问的页面。而对于这个页面的选择,我们通常会选择jsp作为欢迎页,其原因是什么呢? 一、JSP的优势 JSP与HTML和CSS的结合,可以实现动…

    编程 2025-04-25
  • 详解Session使用

    一、Session使用场合 Session主要用于在不同页面之间传递、存储用户信息或者其他必要的数据。在网站开发中,一般登录之后会将用户的基本信息存入Session,以便在其他页面…

    编程 2025-04-25
  • Eclipse创建JavaWeb项目详解

    一、创建新的Java Web项目 要创建一个新的Java Web项目,请按下面的步骤操作: 打开Eclipse IDE 选择”File” -> &#8…

    编程 2025-04-23
  • JSP菜鸟教程详解

    一、JSP介绍 JSP全称Java Server Pages,是一种动态网页技术,它可以将Java代码嵌入HTML页面,实现动态页面的功能。 下面是一个JSP页面的简单示例: He…

    编程 2025-04-12
  • 购物车测试用例的详细阐述

    一、购物车添加商品的测试用例 1. 测试目的:验证用户添加商品到购物车的功能是否正常。 2. 测试步骤: a. 访问购物网站首页; b. 点击一个商品进入商品详情页; c. 在商品…

    编程 2025-03-12
  • Javaweb与SpringBoot的关系

    一、Javaweb与SpringBoot简介 Javaweb是指使用Java语言开发Web应用程序的技术。Java语言可以通过Servlet、JSP技术开发Web应用,而Javaw…

    编程 2025-02-27
  • 什么是Session

    一、Session的概念 Session是Web开发中的一个重要概念,指的是一种在服务器端存储的用户数据,用于保存用户在网站中的临时状态和数据。它为解决网站中的用户身份认证、购物车…

    编程 2025-02-24
  • Session滑板游戏下载地址(手指滑板游戏中文版下载)

    《Session》是一款硬核滑板模拟游戏,由虚幻引擎4打造,机制复杂,玩法自由,能让玩家体验到滑板运动的真正魅力。 MOD作者Redgoufs为《Session》制作了一款手指滑板…

发表回复

登录后才能评论