當前位置:首頁 » 網購平台 » 應用session實現簡單購物車
擴展閱讀
寧波奧德賽優惠價格 2021-03-15 14:26:02
丹尼斯購物卡能掛失么 2021-03-15 14:25:58
淘寶購物指紋驗證失敗 2021-03-15 14:24:44

應用session實現簡單購物車

發布時間: 2021-03-07 01:27:30

① session+cookies實現購物車功能,javaweb開發

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'shop2.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">

</head>

<body>

<%
request.setCharacterEncoding("UTF-8");
Map<String,Integer> itm=(Map<String,Integer>)session.getAttribute("item");
if(itm==null){
itm=new HashMap<String,Integer>();
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);
%>
你所購買的物品<br>
電視:<%=itm.get("電視") %>本<br>
蘋果:<%=itm.get("蘋果") %>個<br>
香蕉:<%=itm.get("香蕉") %>個<br>
衣服:<%=itm.get("衣服") %>件<br>
<p><a href="shop.jsp">再次購買</a></p>
</body>
</html>

下面是購買頁面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<title>My JSP 'shop.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>
歡迎光臨本店! <br>
<form action="shop2.jsp" method="post">
<input name="c" type="checkbox" value="電視" />電視
<input name="c" type="checkbox" value="蘋果" />蘋果
<input name="c" type="checkbox" value="香蕉" />香蕉
<input name="c" type="checkbox" value="衣服" />衣服
<img alt="dddd" src="<%=request.getAttribute("path")%>">
<p> <%=request.getAttribute("yy")%></p>
<input name="" type="submit" value="確認購買" />
</form>
</body>
</html>
下面是使用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);
%>

② jsp購物車用session實現,麻煩給我一個完整例子的代碼,不要太復雜的哦、、、搞好了給我全部的分數和財富值

搞不懂 ? ?
重啟下伺服器 ? ?換個瀏覽器

③ 應用Session,編寫一個購物車程序(不需要使用資料庫

一般涉到購物最好要用資料庫的,好保存客戶購買了什麼產品,
如果沒有吧客戶的訂單保存下來的話 這樣的購物車就會失去意義了

④ 實現購物車(保存到session和資料庫)

錯了。SESSION也是伺服器的,COOKIE才是客戶機上的。保存在資料庫上吧。安全些

⑤ ASP.NET中如何用session來實現購物車的功能

Session 對象用於存儲用戶的信息。存儲於 session 對象中的變數持有單一用戶的信息,並且對於一個應用程序中的所有頁面都是可用的。
Session 對象
當您操作某個應用程序時,您打開它,做些改變,然後將它關閉。這很像一次對話(Session)。計算機知道您是誰。它清楚您在何時打開和關閉應用程序。但是在網際網路上有一個問題:由於 HTTP 地址無法存留狀態,web 伺服器並不知道您是誰以及您做了什麼。

ASP 通過為每位用戶創建一個唯一的 cookie 的方式解決了這個問題。cookie 被傳送至客戶端,它含有可識別用戶的信息。這種介面被稱作 Session 對象。

Session 對象用於存儲關於用戶的信息,或者為一個用戶的 session 更改設置。存儲於 session 對象中的變數存有單一用戶的信息,並且對於應用程序中的所有頁面都是可用的。存儲於 session 對象中的信息通常是 name、id 以及參數。伺服器會為每個新的用戶創建一個新的 Session,並在 session 到期時撤銷掉這個 Session 對象。
Session 何時開始?
Session 開始於:

•當某個新用戶請求了一個 ASP 文件,並且 Global.asa 文件引用了 Session_OnStart 子程序時;
•當某個值存儲在 Session 變數中時;
•當某個用戶請求了一個 ASP 文件,並且 Global.asa 使用 <object> 標簽通過 session 的 scope 來例示某個對象時;
Session 何時結束?
假如用戶沒有在規定的時間內在應用程序中請求或者刷新頁面,session 就會結束。默認值為 20 分鍾。

如果您希望將超時的時間間隔設置得更長或更短,可以設置 Timeout 屬性。

下面的例子設置了 5 分鍾的超時時間間隔:

<%
Session.Timeout=5
%>要立即結束 session,可使用 Abandon 方法:

<%
Session.Abandon
%>注意:使用 session 時主要的問題是它們該在何時結束。我們不會知道用戶最近的請求是否是最後的請求。因此我們不清楚該讓 session「 存活」多久。為某個空閑的 session 等待太久會耗盡伺服器的資源。然而假如 session 被過早地刪除,那麼用戶就不得不一遍又一遍地重新開始,這是因為伺服器已經刪除了所有的信息。尋找合適的超時間隔時間是很困難的。

提示:如果您正在使用 session 變數,請不要在其中存儲大量的數據。
存儲和取回 session 變數
Session 對象最大的優點是可在其中存儲變數,以供後續的網頁讀取,其應用范圍是很廣的。

下面的例子把 "Donald Duck" 賦值給名為 username 的 session 變數,並把 "50" 賦值給名為 age 的 session 變數:

<%
Session("username")="Donald Duck"
Session("age")=50
%>一旦值被存入 session 變數,它就能被 ASP 應用程序中的任何頁面使用:

Welcome <%Response.Write(Session("username"))%>上面這行程序返回的結果是: "Welcome Donald Duck"。

也可以在 session 對象中保存用戶參數,然後通過訪問這些參數來決定向用戶返回什麼頁面。

下面的例子規定,假如用戶使用低顯示器解析度,則返回純文本版本的頁面:

<%If Session("screenres")="low" Then%>
This is the text version of the page
<%Else%>
This is the multimedia version of the page
<%End If%>移除 session 變數
contents 集合包含所有的 session 變數。

可通過 remove 方法來移除 session 變數。

在下面的例子中,假如 session 變數 "age" 的值小於 18,則移除 session 變數 "sale":

<%
If Session.Contents("age")<18 then
Session.Contents.Remove("sale")
End If
%>如需移除 session 中的所有變數,請使用 RemoveAll 方法:

<%
Session.Contents.RemoveAll()
%>遍歷 contents 集合
contents 集合包含所有的 session 變數。可通過遍歷 contents 集合,來查看其中存儲的變數:

<%
Session("username")="Donald Duck"
Session("age")=50

dim i
For Each i in Session.Contents
Response.Write(i & "<br />")
Next
%>結果:

username
age如果需要了解 contents 集合中的項目數量,可使用 count 屬性:

<%
dim i
dim j
j=Session.Contents.Count
Response.Write("Session variables: " & j)
For i=1 to j
Response.Write(Session.Contents(i) & "<br />")
Next
%>結果:

Session variables: 2
Donald Duck
50遍歷 StaticObjects 集合
可通過循環 StaticObjects 集合,來查看存儲在 session 對象中所有對象的值:

<%
dim i
For Each i in Session.StaticObjects
Response.Write(i & "<br />")
Next
%>

提供一些方法。

⑥ jsp用session做一個簡單的購物車

在 Session 存放一個 Map<int,int> ,Key是商品ID,Value是數量。

⑦ Java中用session和hashmap實現最簡單的購物車,不需要bean,servlet或者資料庫。

session是httpservlet的一個類,你不用servlet,根本就沒有session這個玩意。簡單來說,session是跑在servlet上的汽車,沒有路你的車還能跑,怕不是變形金剛哦

⑧ asp中使用內置對象session和arraylist實現簡易購物車功能

直接把產品編號和訂購數量追加到session 中, 以逗號分割,讀取時候拆解下就行了,要長期保存購物車內容則需要資料庫對應用戶下添加個欄位用來存儲

⑨ jsp購物車用session實現 100分高分求助

1:提交按鈕和購物車按鈕用不同的action,若非要用相同的action的話,那麼後面請添加不同的Paragram。在內ACTION裡面做判斷。容 一般一個action對應一個Form。寫不寫actionForm都無所謂。

2:最好用Map。 Map可以查找出來一個key的set,調用iterater循環,就可以得到所有的key。建議 key放產品,然後value放數量。

⑩ 購物車用session怎麼實現的

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setContentType("text/html;charset=utf-8");
PrintWriterout=response.getWriter();
//獲得session
request.getSession();//創建了一個session

//獲得所有商品
Map<String,Book>all=DB.getAll();

out.write("本站提供如下商品<br>");
for(Entry<String,Book>e:all.entrySet()){
Bookbook=e.getValue();
//超鏈接要url重寫
//url重寫做了兩件事情,第一,獲得session的id,第二,將id加到地址後面
Stringurl="/javaweb07/servlet/BuyServlet?id="+book.getId();
StringnewUrl=response.encodeURL(url);
out.write(book.getName()+"<ahref='"+newUrl+"'target='_blank'>購買</a><br>");
}
}

BuyServlet.java
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
//獲得id
Stringid=request.getParameter("id");

//找出書
Bookbook=DB.find(id);

//獲得購物車
HttpSessionsession=request.getSession();
Listcart=(List)session.getAttribute("cart");
if(cart==null){
//剛進超市,分配購物車
cart=newArrayList();
}

//加入購物車
cart.add(book);

//將購物車找個地方存起來,方便下次購買
session.setAttribute("cart",cart);

//第一次創建session的時候需要發Cookie,將sessionid帶給瀏覽器

//獲得sessionid
Stringsessionid=session.getId();
//發送cookie,Cookie的key是區分大小寫
Cookiecookie=newCookie("JSESSIONID",sessionid);
//設置有效時間
cookie.setMaxAge(60*60*5);
response.addCookie(cookie);

//請求重定向到購物車頁面
Stringurl="/javaweb07/servlet/ListCartServlet";
//url重寫
StringnewUrl=response.encodeRedirectURL(url);

response.sendRedirect(newUrl);
}

ListCarServlet
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setContentType("text/html;charset=utf-8");
PrintWriterout=response.getWriter();

//獲取購物車
//getSession方法會拿著用戶的jsessionid去內存找session找不到才創建
HttpSessionsession=request.getSession();

List<Book>cart=(List<Book>)session.getAttribute("cart");

if(cart==null){
out.write("對不起!您還沒有購買商品!!!");
return;
}

//遍歷購物車中的商品顯示
out.write("您購買了如下商品:<br>");

for(Bookbook:cart){
out.write(book.getName()+","+book.getPrice()+"<br>");
}
//讓session立即失效
//session.invalidate();
out.write("<inputtype='button'value='進入結算中心'/>");
}