當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
JSP的9个内置对象-session
生活随笔
收集整理的這篇文章主要介紹了
JSP的9个内置对象-session
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
session代表一次用戶會(huì)話,其含義是:從客戶端瀏覽器連接服務(wù)器開(kāi)始,到客戶端瀏覽器與服務(wù)器斷開(kāi)為止,這個(gè)過(guò)程就是一次會(huì)話。
session通常用于跟蹤用戶的會(huì)話信息,如判斷用戶是否登錄系統(tǒng),或者在購(gòu)物車(chē)應(yīng)用中,系統(tǒng)是否跟蹤用戶購(gòu)買(mǎi)的商品等。
session里的屬性可以在多個(gè)頁(yè)面的跳轉(zhuǎn)間共享。一旦關(guān)閉瀏覽器,即session結(jié)束,session里的屬性將全部清空。
session對(duì)象的兩個(gè)常用方法如下:
setAttribute(String attName, Object attValue): 設(shè)置一個(gè)session屬性
getAttribute(String attName):返回一個(gè)session屬性的值。
session通常用于跟蹤用戶的會(huì)話信息,如判斷用戶是否登錄系統(tǒng),或者在購(gòu)物車(chē)應(yīng)用中,系統(tǒng)是否跟蹤用戶購(gòu)買(mǎi)的商品等。
session里的屬性可以在多個(gè)頁(yè)面的跳轉(zhuǎn)間共享。一旦關(guān)閉瀏覽器,即session結(jié)束,session里的屬性將全部清空。
session對(duì)象的兩個(gè)常用方法如下:
setAttribute(String attName, Object attValue): 設(shè)置一個(gè)session屬性
getAttribute(String attName):返回一個(gè)session屬性的值。
下面演示了一個(gè)模擬購(gòu)物車(chē)應(yīng)用。shop.jsp是商品陳列頁(yè)面,頁(yè)面里有一個(gè)表單,表單里包含3個(gè)復(fù)選按鈕,用于提交想購(gòu)買(mǎi)的物品。其代碼如下:
<%@ page contentType="text/html; charset=gb2312" language="java" %> <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”> <HTML> <BODY> <FORM METHOD=POST ACTION="ProcessBuy.jsp"> book:<INPUT TYPE="checkbox" NAME="item" value="book"><br> computer:<INPUT TYPE="checkbox" NAME="item" value="computer"><br> car:<INPUT TYPE="checkbox" NAME="item" value="car"><br> <INPUT TYPE="submit" value="buy"> </FORM> </BODY> </HTML> 其運(yùn)行結(jié)果截圖如下:
ProcessBuy.jsp頁(yè)面處理以上表單。利用購(gòu)物車(chē)系統(tǒng)可以反復(fù)購(gòu)買(mǎi),只要不關(guān)閉,購(gòu)買(mǎi)的物品信息就不會(huì)丟失。ProcessBuy.jsp的代碼如下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.*" %> <% //從session對(duì)象中取出 Map<String,Integer> itemMap=(Map<String,Integer>) session.getAttribute("itemMap"); //如果Map對(duì)象為空,則初始化Map對(duì)象 if(itemMap==null) {itemMap=new HashMap<String,Integer>();itemMap.put("book",0);itemMap.put("computer",0);itemMap.put("car",0); } //獲取上個(gè)頁(yè)面的請(qǐng)求參數(shù) String[] buys=request.getParameterValues("item"); //遍歷數(shù)組的各元素 for(String item : buys) {if(item.equals("book")){int num1=itemMap.get("book").intValue();//將book對(duì)應(yīng)的數(shù)量加1itemMap.put("book",num1+1);}else if(item.equals("computer")){int num2=itemMap.get("computer").intValue();itemMap.put("computer",num2+1);}else if(item.equals("car")){int num3=itemMap.get("car").intValue();itemMap.put("car",num3+1);} } //將itemMap對(duì)象放到session中 session.setAttribute("itemMap",itemMap); %> <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”> <HTML> <BODY> The things you choose:<br> book:<%=itemMap.get("book")%><br> computer:<%=itemMap.get("computer")%><br> car:<%=itemMap.get("car")%><br> <a href="shop.jsp">choose again</a> </BODY> </HTML> 選中shop.jsp頁(yè)面中的所有復(fù)選框,截圖如下:
點(diǎn)擊buy按鈕后,頁(yè)面自動(dòng)跳轉(zhuǎn)到ProcessBuy.jsp,顯示用戶已選中的各類(lèi)商品數(shù)量。截圖如下:
點(diǎn)擊“choose again“按鈕,跳轉(zhuǎn)回shop.jsp頁(yè)面,用戶可以接著選擇要購(gòu)買(mǎi)的商品。之前選擇的商品在關(guān)閉瀏覽器之前都不會(huì)消失(關(guān)閉頁(yè)面也不會(huì)消失)。截圖如下:
這一次,選中前兩個(gè)復(fù)選框book和computer,點(diǎn)擊buy按鈕,結(jié)果截圖如下:
總結(jié)
以上是生活随笔為你收集整理的JSP的9个内置对象-session的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Windows系统上3种连接Docker
- 下一篇: 怎么把JSP的参数:先传到JSP中,然后