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è)置了過期時(shí)間,瀏覽器就會(huì)把cookie保存到硬盤上,關(guān)閉后再次打開瀏覽器,這些cookie依然有效直到超過設(shè)定的過期時(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+"歡迎登錄");
//*************************
// 另一種寫法
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)文章
web開發(fā)之對(duì)比時(shí)間大小的工具函數(shù)的實(shí)例詳解
這篇文章主要介紹了web開發(fā)之對(duì)比時(shí)間大小的工具函數(shù)的實(shí)例詳解的相關(guān)資料,這里提供實(shí)現(xiàn)代碼幫助大家學(xué)習(xí)理解這部分知識(shí),需要的朋友可以參考下2017-08-08
利用JSP session對(duì)象保持住登錄狀態(tài)
這篇文章主要為大家詳細(xì)介紹了如何利用JSP session對(duì)象保持住登錄狀態(tài),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
Struts html:checkbox框初始默認(rèn)是選中的解決方法
在使用struts標(biāo)簽html:checkbox 的時(shí)候,如何讓checkbox框默認(rèn)是選中的,本文提供解決方法,需要了解的朋友可以參考下2012-12-12
使用maven+eclipse搭建struts2開發(fā)環(huán)境
Struts 2是Apache基金會(huì)的明星級(jí)產(chǎn)品,提供了對(duì)MVC的一個(gè)清晰的實(shí)現(xiàn),下面就為大家介紹一下使用maven+eclipse搭建struts2開發(fā)環(huán)境的方法2014-01-01
JSP開發(fā)中hibernate框架的常用檢索方式總結(jié)
這篇文章主要介紹了JSP開發(fā)中hibernate框架的常用檢索方式總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-04-04

