session+cookies实现购物车功能,javaweb开发

2025-01-24 16:23:45
推荐回答(2个)
回答1:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>




My JSP 'shop2.jsp' starting page








<%
request.setCharacterEncoding("UTF-8");
Map itm=(Map)session.getAttribute("item");
if(itm==null){
itm=new HashMap();
itm.put("电视", 1);
itm.put("苹果", 0);
itm.put("香蕉", 1);
itm.put("衣服", 0);
}
String [] buy=request.getParameterValues("c");
for(String b:buy){
if(b.equals("电视")){
int num=itm.get("电视");
itm.put(b, num+1);
}
if(b.equals("苹果")){
int num=itm.get(b);
itm.put(b, num+1);
}
if(b.equals("香蕉")){
int num=itm.get(b);
itm.put(b, num+1);
}
if(b.equals("衣服")){
int num=itm.get(b);
itm.put(b, num+1);
}
}
session.setAttribute("item", itm);
%>
你所购买的物品

电视:<%=itm.get("电视") %>本

苹果:<%=itm.get("苹果") %>个

香蕉:<%=itm.get("香蕉") %>个

衣服:<%=itm.get("衣服") %>件

再次购买





下面是购买页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>




My JSP 'shop.jsp' starting page










欢迎光临本店!


电视
苹果
香蕉
衣服
dddd">

<%=request.getAttribute("yy")%>






下面是使用cookie的

添加Cookie
Cookie uname1=new Cookie("lname",username);
uname1.setMaxAge(24*3600);
Cookie upwd1=new Cookie("lpwd",pwd);
upwd1.setMaxAge(24*3600);
response.addCookie(uname1);
response.addCookie(upwd1);

添加session
session.setAttribute("log_name", username);
以下代码是对cookie和session的数据操作!
<%
String uname="";
String upwd="";
Cookie[] cookies=request.getCookies(); //一request获范围获取一个
cookie实例
if(cookies!=null){
for(Cookie c: cookies){
if("lname".equals(c.getName())){ //判断cookie里面的名字是否等于这

uname=c.getValue(); //如果等于就获取它的值
}
if("lpwd".equals(c.getName())){
upwd=c.getValue();
}
}
String sql2="select * from member where username='"+uname+"'";
ResultSet rs2=null;
rs2=DBHelper.executeQuery(sql2);
boolean is=true;
while(rs2.next()){
String pp=rs2.getString("upwd");
if(pp.equals(upwd)){
is=false;
}
}
if(session.getAttribute("log_name")!=null){ //判断是否有slog_name这
个session
uname=(String)session.getAttribute("log_name");
is=false;
}
if(is){
response.sendRedirect("index1.jsp");
}
}
%>
<%
application.setAttribute("log", uname);
%>

回答2:

session只能保存数据,你可以作为cookies来保存啊