当前位置:首页 » 网购平台 » 简易加入购物车的代码如何实现
扩展阅读
宁波奥德赛优惠价格 2021-03-15 14:26:02
丹尼斯购物卡能挂失么 2021-03-15 14:25:58
淘宝购物指纹验证失败 2021-03-15 14:24:44

简易加入购物车的代码如何实现

发布时间: 2021-02-17 17:46:07

A. 购物车的Java代码

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;public class ShoppingCartManager {

HashMap<String, String> hm=new HashMap<String, String>();
float totlePrice=0;
//添加book到购物车
public void addBook(String bookId,String bookQuantity){

if(hm.containsKey(bookId)){
int value=Integer.parseInt(hm.get(bookId));
value+=Integer.parseInt(bookQuantity);
hm.put(bookId, value+"");
}else{
hm.put(bookId, bookQuantity);
}
}

//修改数量
public void updateQuantity(String bookId,String bookQuantity){
hm.put(bookId, bookQuantity);
}

//获取购物车的所有信息 并计算总价
public ArrayList<BookBean> getShoppingCart(){
ArrayList<BookBean> al=new ArrayList<BookBean>();
Iterator<String> i=hm.keySet().iterator();
String ids="";
BookTableManager btm=new BookTableManager();
while(i.hasNext()){
ids=ids+","+i.next();
}
al= btm.selectByBookIds(ids);

totlePrice=0; //清空总价,防止无限累计
for(int j=0;j<al.size();j++){
BookBean bb=al.get(j);
totlePrice+=bb.getPrice()*Integer.parseInt(getQuantityById(bb.getBookId()+""));
}

return al;
}

//获取总价
public float getTotlePrice(){
return totlePrice;
}

//根据ID获取数量
public String getQuantityById(String id){
String quantity=hm.get(id);
return quantity;
}

//清空购物车
public void clear(){
hm.clear();
}

//删除购物车中的一本书
public void deleteById(String id){
hm.remove(id);
}
}

B. 求用javascript编写的简易购物车小程序如图所示:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>MyHtml2.html</title>

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<script>
/*
*@author Caoshun
*@计算 合计费用
*/
function countMethod(){
var num=document.getElementById("num").value;
var unitPrice=document.getElementById("unitPrice").value;
var freight=document.getElementById("freight").value;

document.getElementById("result").value=parseFloat((num*unitPrice))+parseFloat(freight);
}
</script>
</head>
<body>
<table border="1" cellpadding="1" cellspacing="1" background="#red" style="text-align: center;">
<tr><td colspan="5" align="center">简易购物车</td></tr>
<tr>
<td>商品名称</td>
<td>数量(件)</td>
<td>单价(美元)</td>
<td>运费(美元)</td>
<td><input type="button" value="合计" onclick="countMethod();"></td>
</tr>
<tr>
<td>跑跑道具</td>
<td><input type="text" size="6" id="num"></td>
<td><input type="text" size="6" id="unitPrice"></td>
<td><input type="text" size="6" id="freight"></td>
<td><input type="text" size="6" id="result"></td>
</tr>
</table>
</body>
</html>

C. 在HTML里用javascript做一个简单购物车部分

给楼主做了一个,JS实现商品计数的加和减,最少不能少于1,最多不大于99,代码里面有注释,方面楼主查看和使用。

D. 求ejb+jsp实现简单购物车功能的代码

修改下述的例子,增加web功能

(1)提供登录页面Login.jsp;
只需要登录名与密码(可在程序中硬编码)
(2)图书列表页面
列出所有可出售的图书供用户选择;
图书只需给出图书名(可在程序中硬编码)
(3)提供购物车商品的管理页面:
能够向购物车中添加图书(从图书列表中选择);
能够删除购物车中的图书;
能够察看购物车中的图书信息
(4)用户可主动退出系统

一个EJB例子如下(购物车)
import java.util.*;
import javax.ejb.Stateful;
import javax.ejb.*;

@Stateful(mappedName="cart")
public class CartBean implements Cart{
String customerName;
String customerId;
List<String> contents;
//ArrayList<String> contents;

public void initialize(String person) throws BookException {
if (person == null) {
throw new BookException("不允许没有用户!");
} else {
customerName = person;
}
customerId = "0";
contents = new ArrayList<String>();
}

public void initialize(String person, String id)
throws BookException {
if (person == null) {
throw new BookException("不允许没有用户!");
} else {
customerName = person;
}
IdVerifier idChecker = new IdVerifier();
if (idChecker.validate(id)) {
customerId = id;
} else {
throw new BookException("无效的ID: " + id);
}
contents = new ArrayList<String>();
}

public void addBook(String title) {
contents.add(title);
}
public void removeBook(String title) throws BookException {
boolean result = contents.remove(title);
if (result == false) {
throw new BookException(title + " 不在购物车中。");
}
}
public List<String> getContents() {
return contents;
}
@Remove()
public void remove() {
contents = null;
}
}

E. java简单的购物车代码

packageTest;
importjava.util.LinkedHashMap;
importjava.util.Map;
importjava.util.Map.Entry;
importjava.util.Scanner;

publicclassTest{
publicstaticvoidmain(String[]args){
init();//初始化
Map<String,String>map=newLinkedHashMap<>();
while(true){
Scannerin=newScanner(System.in);
map=buy(in,map);//选择
System.out.println();
System.out.println("还要继续购物吗?(Y/N)");
Stringjx=in.nextLine();
if(jx.equals("N")){
break;
}
}
print(map);
}
publicstaticvoidprint(Map<String,String>m){
System.out.println(" ******************");
System.out.println("购物车清单");
Integerhj=0;
for(Entry<String,String>entry:m.entrySet()){
Stringkey=entry.getKey();
Stringvalue=entry.getValue();
if(key.equals("1")){
hj+=Integer.parseInt(value)*3;
System.out.println("哇哈哈纯净水:"+value+"件,合计:¥"+Integer.parseInt(value)*3);
}elseif(key.equals("2")){
hj+=Integer.parseInt(value)*5;
System.out.println("康师傅方便面:"+value+"件,合计:¥"+Integer.parseInt(value)*5);
}elseif(key.equals("3")){
hj+=Integer.parseInt(value)*4;
System.out.println("可口可乐:"+value+"件,合计:¥"+Integer.parseInt(value)*4);
}
}
System.out.println("合计金额:¥"+hj);
}
publicstaticvoidinit(){
System.out.println("******************");
System.out.println(" 商品列表 ");
System.out.println("商品名称价格");
System.out.println("1.哇哈哈纯净水¥3");
System.out.println("2.康师傅方便面¥5");
System.out.println("3.可口可乐¥4");
System.out.println("******************");
}

publicstaticMap<String,String>buy(Scannerscan,Map<String,String>m){
System.out.print("请输入编号:");
Stringbh=scan.nextLine();
System.out.print("请输入购买数量:");
Stringnum=scan.nextLine();
if(m.size()>0&&m.keySet().contains(bh)){
m.put(bh,(Integer.parseInt(bh)+Integer.parseInt(num))+"");
}else{
m.put(bh,num);
}
returnm;
}
}

F. 怎样将图书加入购物车的代码c语言

#include#include#include#include#defineMax2typedefstructbook//书的信息{charbook_num[10];//书号charbook_name[20];//书名charbook_writer[10];//作者intbook_xy;//书的剩余数量intbook_kc;//书的总数量structbook*next;}BK;typedefstructborrow//被借书的信息{charborrow_book_num[10];//借书书号charlimit_date[8];//借书归还日期}BO;typedefstructreader//读者信息{charreader_num[10];//读者号charreader_name[10];//读者姓名intright;//已借数量BOborrow[Max];//已借书信息structreader*next;}RD;BK*h_book;RD*h_reader;voidLogin();intMenu();voidInit();voidInit_book();voidMenu_select();voidInsert_New_Book();voidFind_Book();voidadd_reader();voidPrint_reader();voidPrint_book();voidBorrow_Book();voidReturn_Book();voidSave();voidSave_Book();voidSave_Reader();voidLoad();voidLoad_Reader();voidLoad_Book();voidLogin(){system("cls");printf("\n\n\n\t\t\t欢迎使用图书管理系统\n");printf("\n\n\t\t本程序分析者秦义学号:200907014122\n\n\n\n\n\n\n");//以前是设计者xxxxprintf("\n\n\n\t\t按任意键进入系统");getch();system("cls");}intMenu()/*主菜单*/{intdm;printf("\n\t\t图书管理系统主菜单\n");printf("=================================================\n");printf("☆\t0----退出系统☆\n");printf("☆\t1----采编入库☆\n");printf("☆\t2----登记读者☆\n");printf("☆\t3----借阅登记☆\n");printf("☆\t4---还书管理☆\n");printf("☆\t5---查询图书信息☆\n");printf("☆\t6----查询读者信息☆\n");printf("=================================================\n");printf("请选择相应的代码:");for(;;){scanf("%d",&dm);if(dm6)printf("\n错误!请重新输入:");elsebreak;}returndm;}voidMenu_select()/*主菜单选择函数*/{for(;;){switch(Menu())/*功能选择*/{case0:system("cls");Save();printf("\n\n\t文件保存成功!\n");printf("\n\n\t欢迎下次使用本系统!\n");getch();exit(0);case1:Insert_New_Book();break;case2:add_reader();break;case3:Borrow_Book();break;case4:Return_Book();break;case5:Print_book();break;case6:Print_reader();break;default:printf("\n错误!");exit(0);}}}voidInit()/*初始化*/{Init_book();}voidInit_book()/*初始化图书信息*/{BK*p0;printf("\n图书初始化开始,请输入图书信息..\n包括编号.书名.数量..\n");p0=(BK*)malloc(sizeof(BK));h_book=p0;printf("\n请输入图书信息:\n");printf("图书编号:");/*输入图书编号(唯一)*/scanf("%s",p0->book_num);printf("图书名称:");/*输入图书名称*/scanf("%s",p0->book_name);printf("图书作者:");/*输入图书作者*/scanf("%s",p0->book_writer);printf("图书数量:");/*输入图书数量*/scanf("%d",&p0->book_kc);p0->book_xy=p0->book_kc;/*开始时图书现有量和库存量相等*/p0->next=NULL;printf("\n图书信息初始化完毕!按任意键继续下一步操作..\n");getch();system("cls");}voidInsert_New_Book()/*新书入库*/{BK*p,*p0,*p1;p=p1=h_book;printf("\n新书入库模块\n");printf("\n请输入新书信息..\n包括书号.书名.数量..\n");p0=(BK*)malloc(sizeof(BK));printf("图书编号:");scanf("%s",p0->book_num);while(strcmp(p0->book_num,p1->book_num)!=0&&p1->next!=NULL)p1=p1->next;if(strcmp(p0->book_num,p1->book_num)==0)/*此处分两种情况,若图书编号存在,则直接进库,只须输入书的数量*/{printf("\n此编号图书已存在!!直接入库!\n");printf("图书数量:");scanf("%d",&p0->book_kc);p1->book_kc+=p0->book_kc;p1->book_xy+=p0->book_kc;}else/*若不存在,则需要输入其他的信息,然后在进行插入操作*/{printf("图书名称:");scanf("%s",p0->book_name);printf("图书作者:");scanf("%s",p0->book_writer);printf("图书数量:");scanf("%d",&p0->book_kc);while(p->next){p=p->next;}if(h_book==NULL)h_book=p0;/*此处分两种情况,链表中没有数据,head直接指向p0处*/elsep->next=p0;/*此处分两种情况,链表中有数据,链表中最后元素的next指向p0处*/p0->next=NULL;p0->book_xy=p0->book_kc;}printf("\n新书入库完毕!按任意键继续下一步操作..\n");getch();system("cls");}voidadd_reader()/*添加读者*/{RD*p0;inti;printf("\n读者初始化开始,请输入读者信息..\n包括书证号.姓名..\n");p0=(RD*)malloc(sizeof(RD));/*申请新结点存储空间*/h_reader=p0;printf("\n请输入读者的信息:\n");printf("读者书证号:");scanf("%s",p0->reader_num);printf("读者姓名:");scanf("%s",p0->reader_name);p0->right=0;for(i=0;iborrow[i].borrow_book_num,"0");/*所借图书直接置为0(即没有借书)*/strcpy(p0->borrow[i].limit_date,"0");}p0->next=NULL;printf("\n读者信息初始化完毕!按任意键继续下一步操作..\n");getch();system("cls");}voidBorrow_Book()/*借书模块*/{BK*p0;RD*p1;charbo_num[10],rea_num[10],lim_date[8];inti;p0=h_book;p1=h_reader;printf("\n借书模块\n");printf("\n请输入借书的读者书证号:");scanf("%s",rea_num);while(p1->next!=NULL&&strcmp(rea_num,p1->reader_num)!=0)//查找读者号{p1=p1->next;}if(p1->next==NULL&&strcmp(rea_num,p1->reader_num)!=0){printf("\n此读者编号不存在!按任意键返回..\n");gotoEND;}printf("\n请输入你要借的书的编号:");scanf("%s",bo_num);while(strcmp(bo_num,p0->book_num)!=0&&p0->next!=NULL)//查找书号{p0=p0->next;}if(p0->next==NULL&&strcmp(bo_num,p0->book_num)!=0){printf("\n此图书编号不存在!按任意键返回..\n");}elseif(p0->book_xyright>=Max){printf("\n不好意思,借书数目已满!不能借书!\n按任意键返回.");}elseif(strcmp(p1->borrow[0].borrow_book_num,"0")!=0){for(i=0;iborrow[i].borrow_book_num,bo_num)==0){printf("\n抱歉!同一个读者不能同借两本相同的书!\n");}elseif(strcmp(p1->borrow[i].borrow_book_num,"0")==0){printf("\n请输入你要归还图书的日期:");scanf("%s",lim_date);strcpy(p1->borrow[p1->right++].borrow_book_num,bo_num);strcpy(p1->borrow[p1->right-1].limit_date,lim_date);p0->book_xy--;printf("\n读者编号%s借书完毕!按任意键继续下步操作..",p1->reader_num);}}}else{printf("\n请输入你要归还图书的日期:");scanf("%s",lim_date);strcpy(p1->borrow[p1->right++].borrow_book_num,bo_num);strcpy(p1->borrow[p1->right-1].limit_date,lim_date);p0->book_xy--;printf("\n读者编号%s借书完毕!按任意键继续下步操作..",p1->reader_num);}END:getch();system("cls");}voidReturn_Book()/*还书模块*/{BK*p;RD*q;inti,j,find=0;charreturn_book_num[10],return_reader_num[10];p=h_book;q=h_reader;printf("\n还书模块\n");printf("\n请输入要还书的读者编号:");scanf("%s",return_reader_num);while(q->next!=NULL&&strcmp(return_reader_num,q->reader_num)!=0)q=q->next;if(q->next==NULL&&strcmp(return_reader_num,q->reader_num)!=0){find=2;printf("\n此读者编号不存在!按任意键返回..\n");gotoend;}printf("\n请输入读者还书的编号:");scanf("%s",return_book_num);while(p->next!=NULL&&strcmp(return_book_num,p->book_num)!=0)p=p->next;if(p->next==NULL&&strcmp(return_book_num,p->book_num)!=0){find=2;printf("\n错误!此图书编号不存在!按任意键返回..\n");gotoend;}for(i=0;iborrow[i].borrow_book_num)==0)/*如果此读者借了此书*/{find=1;for(j=i;jborrow[j].borrow_book_num,q->borrow[j+1].borrow_book_num);strcpy(q->borrow[j].limit_date,q->borrow[j+1].limit_date);}strcpy(q->borrow[Max-1].borrow_book_num,"0");strcpy(q->borrow[Max-1].limit_date,"0");p->book_xy++;q->right--;printf("\n编号%s的读者还书完毕!按任意键继续下步操作..",return_reader_num);}if(find==0)printf("\n错误!此读者未借此书!按任意键返回..\n");end:getch();system("cls");}voidPrint_book()/*查询图书信息*/{BK*p;p=h_book;printf("\n图书信息如下:\n\n");printf("图书编号\t图书名称\t图书作者\t现有\t\t库存\n");while(p!=NULL){printf("%s\t\t%s\t\t%s\t\t%d\t\t%d\n",p->book_num,p->book_name,p->book_writer,p->book_xy,p->book_kc);p=p->next;}printf("\n图书信息打印完毕!按任意键继续下一步操作..");getch();system("cls");}voidPrint_reader()/*查询读者信息*/{RD*p;inti;p=h_reader;printf("\n读者信息如下:\n\n");printf("读者书证号\t\t读者姓名\n");printf("\n");while(p!=NULL){printf("\t%s\t\t%s",p->reader_num,p->reader_name);for(i=0;iborrow[i].borrow_book_num);printf("\t\t%s",p->borrow[i].limit_date);}printf("\n");p=p->next;}printf("\n读者信息打印完毕!按任意键继续下一步操作..");getch();system("cls");}//文件模块voidSave()/*保存信息*/{Save_Reader();Save_Book();}voidSave_Reader()/*保存读者信息*/{FILE*fp_reader;RD*p,*p0;p=h_reader;if((fp_reader=fopen("Reader.txt","wb"))==NULL)/*创建文件,进行保存*/{printf("\n文件保存失败!\n请重新启动本系统\n");exit(0);}while(p!=NULL){if(fwrite(p,sizeof(RD),1,fp_reader)!=1)/*将链表中的信息写入文件中*/printf("\n写入文件失败!\n请重新启动本系统!\n");p0=p;p=p->next;free(p0);/*释放所有结点*/}h_reader=NULL;fclose(fp_reader);/*关闭文件*/}voidSave_Book()/*保存图书信息*/{FILE*fp_book;/*创建文件型指针*/BK*p,*p0;p=h_book;if((fp_book=fopen("Book.txt","wb"))==NULL)/*创建文件,进行保存*/{printf("\n文件保存失败!\n请重新启动本系统\n");exit(0);}while(p!=NULL){if(fwrite(p,sizeof(BK),1,fp_book)!=1)/*将链表中的信息写入文件中*/printf("\n写入文件失败!\n请重新启动本系统!\n");p0=p;p=p->next;free(p0);}h_book=NULL;fclose(fp_book);/*关闭文件*/}voidLoad()/*加载信息*/{Load_Reader();Load_Book();}voidLoad_Reader()/*加载读者信息*/{RD*p1,*p2,*p3;FILE*fp;/*创建文件型指针*/fp=fopen("book.txt","rb");/*打开文件*/p1=(RD*)malloc(sizeof(RD));fread(p1,sizeof(RD),1,fp);h_reader=p3=p2=p1;while(!feof(fp))/*读出信息,重新链入链表*/{p1=(RD*)malloc(sizeof(RD));fread(p1,sizeof(RD),1,fp);p2->next=p1;p3=p2;p2=p1;}p3->next=NULL;free(p1);fclose(fp);/*关闭文件*/}voidLoad_Book()/*加载图书信息*/{BK*p1,*p2,*p3;FILE*fp;/*创建文件型指针*/fp=fopen("Book.txt","rb");/*打开文件*/p1=(BK*)malloc(sizeof(BK));fread(p1,sizeof(BK),1,fp);h_book=p3=p2=p1;while(!feof(fp))/*读出信息,重新链入链表*/{p1=(BK*)malloc(sizeof(BK));fread(p1,sizeof(BK),1,fp);p2->next=p1;p3=p2;p2=p1;}p3->next=NULL;free(p1);fclose(fp);/*关闭文件*/}voidmain(){FILE*fp_book,*fp_reader;/*创建文件型指针*/Login();if((fp_book=fopen("Book.txt","rb"))==NULL||(fp_reader=fopen("Reader.txt","rb"))==NULL){Init();}elseLoad();Menu_select();/*调用主菜单*/}

G. 各位java web大神,求帮忙看个超小的demo,实现一个简单的购物车功能,出现了很让人费解的问题,不看后悔

我运行了你的代码获取到的是同一个session啊,没问题啊

H. 求简单实现网上商城功能的java代码

平时在线10k人大概是让你创建一个数据库连接池,大小设置10k。
下面是一个图书商城的数据库表部分,供你参考

set utf8
DROP TABLE IF EXISTS d_proct;
CREATE TABLE d_proct (//用来存放总商品,入图书种类
id int(12) NOT NULL auto_increment,
proct_name varchar(100) NOT NULL,
description varchar(100) default NULL,
add_time bigint(20) default NULL,
fixed_price double NOT NULL,
dang_price double NOT NULL,
keywords varchar(200) default NULL,
has_deleted int(1) NOT NULL default '0',
proct_pic varchar(200) default NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO d_proct VALUES (23,'上课睡觉的故事','上课睡觉的故事',1237873000234,200,180,'key',0,'15.jpg');

DROP TABLE IF EXISTS d_book;
CREATE TABLE d_book (//用来存放图书的具体内容
id int(12) NOT NULL,
author varchar(200) NOT NULL,
publishing varchar(200) NOT NULL,
publish_time bigint(20) NOT NULL,
word_number varchar(15) default NULL,
which_edtion varchar(15) default NULL,
total_page varchar(15) default NULL,
print_time int(20) default NULL,
print_number varchar(15) default NULL,
isbn varchar(25) default NULL,
author_summary text NOT NULL,
catalogue text NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO d_book VALUES (24,'阿斗,'地球出版社',1237873000234,'1万','1','100',1,NULL,'12345678','无描述,'好书!');

DROP TABLE IF EXISTS d_category;
CREATE TABLE d_category (//商城图书目录
id int(12) NOT NULL auto_increment,
turn int(10) NOT NULL,
en_name varchar(200) NOT NULL,
name varchar(200) NOT NULL,
description varchar(200),
parent_id int(10),
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO d_category VALUES (1,1,'Book','图书',NULL,0);

DROP TABLE IF EXISTS d_category_proct;
CREATE TABLE d_category_proct (//这个是连接目录和书籍具体信息的表
id int(12) NOT NULL auto_increment,
proct_id int(10) NOT NULL,
cat_id int(10) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO d_category_proct VALUES (72,24,1);

DROP TABLE IF EXISTS d_item;
CREATE TABLE d_item (//这个订单条目表
id int(12) NOT NULL auto_increment,
order_id int(10) NOT NULL,
proct_id int(10) NOT NULL,
proct_name varchar(100) NOT NULL,
dang_price double NOT NULL,
proct_num int(10) NOT NULL,
amount double NOT NULL,
PRIMARY KEY (id)
)
DROP TABLE IF EXISTS d_order;
CREATE TABLE d_order (//订单表
id int(10) NOT NULL auto_increment,
user_id int(10) NOT NULL,
status int(10) NOT NULL,
order_time bigint(20) NOT NULL,
order_desc varchar(100) default NULL,
total_price double NOT NULL,

receive_name varchar(100) default NULL,
full_address varchar(200) default NULL,
postal_code varchar(8) default NULL,
mobile varchar(20) default NULL,
phone varchar(20) default NULL,

PRIMARY KEY (id)
) ENGINE=InnoDB;

DROP TABLE IF EXISTS d_receive_address;
CREATE TABLE d_receive_address (//收件人信息表
id int(12) NOT NULL auto_increment,
user_id int(11) NOT NULL,
receive_name varchar(20) NOT NULL,
full_address varchar(200) NOT NULL,
postal_code varchar(8) NOT NULL,
mobile varchar(15) default NULL,
phone varchar(20) default NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB;

insert into d_receive_address values(1, 6,'Java','sun.cn','10000800','12345','67890');
insert into d_receive_address values(2, 6,'JavaJavaJava','ibm.cn','10000600','12345','67890');

DROP TABLE IF EXISTS d_user;
CREATE TABLE d_user (//用户表,用户信息
id int(12) NOT NULL auto_increment,
email varchar(50) NOT NULL,
nickname varchar(50) default NULL,
password varchar(50) NOT NULL,
user_integral int(12) NOT NULL default '0',
is_email_verify char(3),
email_verify_code varchar(50) default NULL,
last_login_time bigint default NULL,
last_login_ip varchar(15) default NULL,
PRIMARY KEY (id),
UNIQUE KEY email (email)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

I. 求JSP大神帮小弟看看这个简易购物车应用代码应该怎么写。

session.setAttribute(“attribute”,value);
session.getAttribute();

这不就是?

J. 想做一个简单的购物车界面,非常简单就行有代码!用div+css做就可以

购物车外是可以的 但是核心最好还是用程序本来的核心如果自己写,很有单独