好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 利用JSP session對象保持住登錄狀態

利用JSP session對象保持住登錄狀態

熱門標簽:聊城智能電銷機器人外呼 如何用中國地圖標注數字點 百度地圖添加標注圖標樣式 南京新思維電話機器人 泰州泰興400電話 怎么申請 好操作的電話機器人廠家 地圖標注市場怎么樣 企業怎么在聯通申請400電話 南昌市地圖標注app

http協議本身是一種無狀態的協議,也就是客戶端連續發送的多個請求之間沒有聯系,下一次請求不關心上一次請求的狀態。

而實際運用中卻希望服務器能記住客戶端請求的狀態,比如在網上購物系統中,服務器端應該能夠識別并跟蹤每個登錄到系統中的用戶挑選并購買商品的整個流程 。為此,web服務器必須采用一種機制來唯一地標識一個用戶,同時記錄該用戶的狀態,這就要用到會話跟蹤技術。

Java Web使用Session來跟蹤會話和管理會話內的狀態。

Session對象是一個jsp內置對象,它在第一個jsp頁面被裝載時自動創建,完成會話期管理。

從一個客戶打開瀏覽器并連接到服務器開始,到客戶關閉瀏覽器離開這個服務器結束,被稱為一個會話。當一個客戶訪問一個服務器時,可能會在這個服務器的幾個頁面之間反復連接,反復刷新一個頁面,服務器應當通過某種辦法知道這是同一個客戶,這就需要session對象。

當發生以下四種情形其中之一時,session對象中的數據便會清空 :
用戶關閉目前正在使用的瀏覽器程序。
關閉網頁服務器。
用戶未向服務器提出請求超過預設的時間,Tomcat服務器預設為30分鐘。
運行程序結束session。

1.建立session變量

在JSP中不需要特別設置程序代碼來建立用戶session,當程序使用了session對象時,便會自動建立session,而下面這行語句便是在session中新增變量數據的方式:
session.setAttribute(“變量名稱”,變量內容)
變量內容可為字符串或者其他對象類型,接著讓我們來看看如何使用這個方法在session中設置變量數據:

% 
session.setAttribute(“id”,”編號”); //設置字符串 
session.setAttribute(“expire”,new Date(86400*10)); //設置日期 
session.setAttribute(“level”,new Integer(3)); //設置整數 
%> 

2.返回session中的變量

在session中設置了變量數據后,在其他的各個網頁中便可使用getAttribute讀取其中的內容,此方法所返回的數據類型為對象(Object)類型,語法如下:
session.getAttribute(“變量名稱”)

3.返回所有session中的變量名稱

getAttributeNames()方法可以取出session中所有變量的名稱,其結果為一個枚舉類的實例。語法為:
session.getAttributeNames()

4.清除session中的變量
removeAttribute()方法可以清除session中的變量數據,使用語法如下:
session.removeAttribute(“變量名稱”)

5.結束session

對于已經建立的session,可使用invalidate()方法將其結束,使用語法為:
session.invalidate()

其他的一些可能會用到的方法:

現在寫一個實例:通過session來記錄客戶的登錄狀態:
index.jsp登錄界面:

%@ page contentType="text/html;charset=UTF-8" language="java" %>
html>
 head>
  title>$Title$/title>
 /head>
 body>
 form action="process_login.jsp" method="post">
  用戶名:input type="text" name="username">
  密碼:input type="text" name="password">
  input type="submit" value="submit">
  input type="reset" value="reset">
 /form>
 a href="page1.jsp" rel="external nofollow" rel="external nofollow" >1/a>
 a href="page2.jsp" rel="external nofollow" rel="external nofollow" >2/a>
 a href="page3.jsp" rel="external nofollow" rel="external nofollow" >3/a>
 /body>
/html>

process_login.jsp處理登錄數據,這里知道輸入密碼是123都可以登錄成功:

session.getAttribute()將會告訴page1.jsp文件這個用戶是否登錄成功了

%@ page contentType="text/html;charset=UTF-8" language="java" %>
%
  String username=request.getParameter("username");
  String password=request.getParameter("password");
  if (password.equals("123")){
    session.setAttribute("username",username);
  }
  response.sendRedirect("page1.jsp");
%>

logout.jsp登出

%@ page contentType="text/html;charset=UTF-8" language="java" %>
%
  session.invalidate();
  response.sendRedirect("index.jsp");
%>

page1.jsp, page2.jsp, page3.jsp大同小異顯示不同的頁面,用于驗證登錄狀態的記錄(這里僅以page1.jsp為例):

注意這里的判斷邏輯是一種很有趣的寫法,把jsp代碼和html代碼完全融合起來了,不過我覺得這樣寫還是比較亂,寧愿只用一個jsp代碼段,里面用out.println()在html中來實現顯示不同的內容

這里主要是靠判斷session.username是否為空來判斷是否登錄過了,并且傳遞相關的參數信息

%@ page contentType="text/html;charset=UTF-8" language="java" %>
html>
head>
  title>Title/title>
/head>
body>
  這里是Page1br>
  %if (session.getAttribute("username")==null){%>
  用戶還沒有登錄
  %}else {%>
  已登錄,用戶名:%= session.getAttribute("username")%>
  %}%>
  br>
  a href="page1.jsp" rel="external nofollow" rel="external nofollow" >page1/a>
  a href="page2.jsp" rel="external nofollow" rel="external nofollow" >page2/a>
  a href="page3.jsp" rel="external nofollow" rel="external nofollow" >page3/a>
  a href="index.jsp" rel="external nofollow" >login/a>
  a href="logout.jsp" rel="external nofollow" >logout /a>
/body>
/html>

可以看到,登錄以后,不管跳轉到哪個頁面,用戶的登錄狀態都沒有丟失

一旦logout登出以后,session.invalidate()方法被調用,session被銷毀,就跟蹤不到用戶的登錄信息了

同時,如果我采用另一個瀏覽器訪問同樣的頁面,以“2號用戶”為username登錄,也會一直記錄到這個用戶的登錄信息(不過如果是同一種瀏覽器的話就不行了)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • jsp cookie+session實現簡易自動登錄
  • JSP登錄中Session的用法實例詳解
  • jsp如何獲取Session中的值
  • jsp中存取session值簡單介紹
  • JSP 中Session的詳解及原理分析
  • JSP Session超時設置的實現方法
  • JSP 開發之 releaseSession的實例詳解
  • jsp session.setAttribute()和session.getAttribute()用法案例詳解

標簽:開封 銅川 山南 臨汾 烏蘭察布 白銀 自貢 吉林

巨人網絡通訊聲明:本文標題《利用JSP session對象保持住登錄狀態》,本文關鍵詞  利用,JSP,session,對象,保持,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《利用JSP session對象保持住登錄狀態》相關的同類信息!
  • 本頁收集關于利用JSP session對象保持住登錄狀態的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 精品一区二区久久久久久久网站| free俄罗斯性xxxxhd派对| 情欲陷阱| 脱??吃胸喝她奶在线观看| 一级a看片2019免费视频噜噜| 敌伦交换系列| 淫男乱女阅读| 国产AV在线观看18???男男| 亚洲欧美成人AV在线观看| 好大老师好爽快点深一点小说| 亚洲午夜久久影院| 日韩黄色免费电影| 国产免费AV视频一区二区三区 | GOGO美鮑销魂人体偷拍图片| 国产精品无码亚洲欧美仙踪林| 美女脱了内裤张开腿让男人爽| 体育院校大猛攻0| 女人裸下部图| 宝贝你水好多(双性1v1)产卵| 免费高清视频免费观看| 吻胸解内衣内裤办公室| 大炕上疯狂耸动h| 潘金莲被武松高潮八次| 色哟哟免费观看入口在线看| 偷闻老师没洗的小内裤| 另类小说亚洲| 美女露私密部位裙底| 美女脱了内裤张开腿让女人添软件 | 人人舔人人| 动漫美女被网站| √资源天堂中文在线AV老司机| 日韩美女AV精品一区二区网站 | 日韩成人教育| 男女又爽?又黄?免费韩国| 国产精品偷伦视频免费观看了| jizz中国jizz日本老师水多| 嫩模李丽莎喷水福利视频| 久久99久久98精品免观看软件| 九色丨PORNY丨自拍视频| 91色综合久久| 乡村乱情小说(二十五部继)|