jsp cookie+session實(shí)現(xiàn)簡(jiǎn)易自動(dòng)登錄
本文實(shí)例為大家分享了jsp cookie+session實(shí)現(xiàn)簡(jiǎn)易自動(dòng)登錄的具體代碼,供大家參考,具體內(nèi)容如下
關(guān)閉瀏覽器只會(huì)使存儲(chǔ)在客戶端瀏覽器內(nèi)存中的session cookie失效,不會(huì)使服務(wù)器端的session對(duì)象失效。
如果設(shè)置了過(guò)期時(shí)間,瀏覽器就會(huì)把cookie保存到硬盤上,關(guān)閉后再次打開(kāi)瀏覽器,這些cookie依然有效直到超過(guò)設(shè)定的過(guò)期時(shí)間。
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <head> <title>登錄</title> </head> <body> <form action="sucess.jsp" method="post"> 用戶名:<input name="username" /><br/> <%--<input type="checkbox" name="time" />記住用戶名 --%> <input type="submit" name="submit" id="submit" value="登錄"/> </form> <% //讀取session值 String val= (String)session.getAttribute("name"); //如果session不存在 if(val==null){ val ="不存在"; } out.print("當(dāng)前\""+val+"\"用戶可自動(dòng)登錄"); %> </body> </html>
success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>主不在乎</title> </head> <body> <% //獲取username String name = request.getParameter("username"); //判斷用戶名是否存在 if(name != null && !name.trim().equals("")){ //String[] time = request.getParameterValues("time"); //設(shè)置session值,(login頁(yè)面可讀取) session.setAttribute("name", name); //設(shè)置Cookie Cookie Cookie = new Cookie("name",name); Cookie.setMaxAge(30*24*3600); //設(shè)置cookie有效期為30天 response.addCookie(Cookie); //在客戶端保存Cookie out.println("welcome: " + name+"歡迎登錄"); } else{ response.sendRedirect("main.jsp"); } %> <a href="login.jsp" >relogin</a> </body> </html>
main.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="ISO-8859-1"> <title>主不在乎</title> </head> <body> <% String name=(String)session.getAttribute("username"); //獲取cookie Cookie[] cookies = request.getCookies(); //cookie存在 if(cookies != null && cookies.length > 0){ for(Cookie cookie:cookies){ //獲取cookie的名字 String cookieName = cookie.getName(); //判斷是否與name相等 if(cookieName.equals("name")){ //獲取cookie的值 String value = cookie.getValue(); name = value; } } out.println("welcome again: " + name+"歡迎登錄"); //************************* // 另一種寫(xiě)法 String v=null; for(int i=0;i<cookies.length;i++){ if(cookies[i].getName().equals("name")){ v=cookies[i].getValue(); } } if(v!=null){ out.println(" Hello World "+v); } } //************************* else { response.sendRedirect("login.jsp"); } %> <a href="login.jsp" >relogin</a> </body> </html>
運(yùn)行l(wèi)ogin.jsp
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JSP實(shí)時(shí)顯示當(dāng)前系統(tǒng)時(shí)間的四種方式示例解析
這篇文章主要介紹了JSP實(shí)時(shí)顯示當(dāng)前系統(tǒng)時(shí)間的四種方式示例解析,文章通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08淺談request.getinputstream只能讀取一次的問(wèn)題
下面小編就為大家?guī)?lái)一篇淺談request.getinputstream只能讀取一次的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03jsp判斷請(qǐng)求來(lái)自手機(jī)示例代碼
如何判斷請(qǐng)求來(lái)自手機(jī),實(shí)現(xiàn)的方法有很多,在本文為大家詳細(xì)介紹下jsp中是如何做到的,感興趣的朋友不要錯(cuò)過(guò)2013-10-10jsp 使用jstl實(shí)現(xiàn)翻頁(yè)實(shí)例代碼
這篇文章主要介紹了jsp 使用jstl實(shí)現(xiàn)翻頁(yè)實(shí)例代碼,有需要的朋友可以參考一下2013-12-12淺談jsp九大內(nèi)置對(duì)象及四個(gè)作用域
下面小編就為大家?guī)?lái)一篇淺談jsp的九大內(nèi)置對(duì)象及四個(gè)作用域。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01jsp頁(yè)面中EL表達(dá)式被當(dāng)成字符串處理不顯示值問(wèn)題的解決方法
下面小編就為大家?guī)?lái)一篇jsp頁(yè)面中EL表達(dá)式被當(dāng)成字符串處理不顯示值問(wèn)題的解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09SpringMVC 數(shù)據(jù)綁定實(shí)例詳解
這篇文章主要介紹了 SpringMVC 數(shù)據(jù)綁定實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04