97干视频,99国产精品懂色,亚洲精品99久久久久中文字幕,伊人五月丁香综合AⅤ,国产精品成人免费999

當前位置: 移動互聯(lián)網(wǎng)學院 > Android開發(fā) > Android服務器Jsp狀態(tài)管理
Android服務器Jsp狀態(tài)管理 時間:2017-09-15     來源:移動互聯(lián)網(wǎng)學院

Jsp狀態(tài)管理

http協(xié)議無狀態(tài)性 

無狀態(tài)是指,當游覽器發(fā)送請求給服務器的時候,服務器響應客戶端請求。 

但是當同一個游覽器再次發(fā)送請求給服務器的時候,服務器并不知道它就是剛才那個游覽器。 

簡單說,就是服務器不會去記得你,所以就是無狀態(tài)協(xié)議。 

保存用戶狀態(tài)的兩大機制 

Session 

Cookie 

Cookie概述

Cookie簡介 

Cookie中文名稱“小甜點”,是Web服務器保存在客戶端的一些列文本信息。 

典型應用一:判定注冊用戶是否已經(jīng)登錄網(wǎng)站 

典型應用二:“購物車”的處理 

典型應用三:視頻播放器的歷史記錄 

典型應用四:記住用戶名和密碼功能 

Cookie的作用 

對特定對象的追蹤 

保存用戶網(wǎng)頁游覽記錄與習慣 

簡化登錄 

安全風險:容易泄露用戶信息 

Cookie的創(chuàng)建與使用

創(chuàng)建Cookie對象 

Cookie newCookie = new Cookie(String key, Object value); 

寫入Cookie對象

response.addCookie(newCookie); 

讀取Cookie對象

Cookie[] cookies = request.getCookies(); 

Cookie常用方法

設置cookie的有效期,以秒為單位。 

void setMaxAge(int expiry) 

在cookie創(chuàng)建后,對cookie進行賦值 

void setValue(String value) 

獲取cookie的名稱

String getName() 

獲取cookie的值

String getValue(); 

獲取cookie的有效時間,以秒為單位

int getMaxAge(); 

創(chuàng)建cookie對象,并將對象保存在客戶端游覽器中

//創(chuàng)建cookie對象 Cookie cookie01 = new Cookie("name", "Ivy"); //設置Cookie的生命周期,如果設置為負值的話,關閉瀏覽器就失效。如果設為0,表示取消該cookie。 cookie01.setMaxAge(60*30); Cookie cookie02 = new Cookie("pass", "123"); //向游覽器輸出Cookie response.addCookie(cookie01); response.addCookie(cookie02); 

從游覽器讀取該網(wǎng)站存放的所有cookie對象

//讀取所有的Cookie Cookie cookies[] = request.getCookies(); if(cookies != null){ out.print(cookies.length+"<br>"); for(int i=0; i<cookies.length; i++){ out.print(cookies[i].getName()+"<br>") ; out.print(cookies[i].getValue()+"<br>"); } } 

從游覽器中刪除該網(wǎng)站存放的指定cookie對象

//刪除游覽器中的cookie Cookie cookie01 = new Cookie("name", "Ivy"); cookie01.setMaxAge(0); response.addCookie(cookie01); 

Session與Cookie的對比 

cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務器上。 

cookie不是很安全,別人可以分析存放在本地的cookie并進行cookie欺騙,考慮到安全應當使用session。 

session會在一定時間內(nèi)保存在服務器上。當訪問增多,會比較占用服務器的性能考慮到減輕服務器性能方面,應當使用cookie。 

單個cookie保存的數(shù)據(jù)不能超過4K,很多瀏覽器都限制一個站點多保存20個cookie。 

建議:將登陸信息等重要信息存放為session,其他信息如果需要保留,可以放在cookie中。

案例

cookie在登錄中的應用

練習

使用cookie通知用戶游覽該網(wǎng)站的次數(shù)

指令與動作

include指令 

語法

<%@ include file="URL"%> 

include動作 

語法

<jsp:include page="URL" flush="true|false" /> 

page:要包含的頁面 

flush:被包含的頁面是否從緩沖區(qū)讀取 

include指令與include動作區(qū)別 

<jsp:forward>動作

語法

<jsp:forward page="URL" /> 

等同于 

request.getRequestDispatcher("/url").forward(request, response); 

<jsp:param>動作 

語法 

<jsp:param name="參數(shù)名" value="參數(shù)值"> 

常常與<jsp:forward>一起使用,作為其子標簽。

例如

test01.jsp

<body> <form action="test02.jsp" method="post"> <input type="text" name="user"> <input type="submit" value="提交"> </form> </body> 

test02.jsp

<jsp:forward page="test.jsp"> <jsp:param value="1111" name="pass"/> </jsp:forward> 

test.jsp

名字:<%=request.getParameter("user") %> 密碼:<%=request.getParameter("pass") %>