一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - JavaWeb 中Cookie實現(xiàn)記住密碼的功能示例

JavaWeb 中Cookie實現(xiàn)記住密碼的功能示例

2020-11-24 15:19justdoit_potato Java教程

cookie是一種WEB服務器通過瀏覽器在訪問者的硬盤上存儲信息的手段。Cookie的目的就是為用戶帶來方便,為網站帶來增值。這篇文章主要介紹了JavaWeb 中Cookie實現(xiàn)記住密碼的功能示例,需要的朋友可以參考下

本文主要內容:

•1、什么是cookie
•2、cookie帶來的好處
•3、cookie的主要方法 

一、什么是cookie

cookie是一種web服務器通過瀏覽器在訪問者的硬盤上存儲信息的手段。cookie的目的就是為用戶帶來方便,為網站帶來增值。雖然有著許多誤傳,事實上cookie并不會造成嚴重的安全威脅。cookie永遠不會以任何方式執(zhí)行,因此也不會帶來病毒或攻擊你的系統(tǒng)。另外,由于瀏覽器一般只允許存放300個cookie,每個站點最多存放20個cookie,每個cookie的大小限制為4kb,因此cookie不會塞滿你的硬盤。

例如,當我們第一次訪問網站輸入用戶名密碼時,可以選擇讓系統(tǒng)記住用戶名密碼,下次就不用重新輸入了,這就是典型的cookie的應用。 

二、cookie帶來的好處:

cookies給網站和用戶帶來的好處非常多:

1. cookie能使站點跟蹤特定訪問者的訪問次數(shù)、最后訪問時間等

2. cookie能告訴在線廣告商廣告被點擊的次數(shù),從而可以更精確的投放廣告

3. cookie有效期限未到時,cookie能使用戶在不鍵入密碼和用戶名的情況下進入曾經瀏覽過的一些站點

4. cookie能幫助站點統(tǒng)計用戶個人資料以實現(xiàn)各種各樣的個性化服務在jsp中,我們也可以使用cookie,來編寫一些功能強大的應用程序。

有些瀏覽器可以禁用cookie,所以不能使用cookie來完成核心的業(yè)務。 

三、cookie類的主要方法:

int getmaxage() 返回cookie過期之前的最大時間,以秒計算。
int setmaxage() 設置cookie過期時間,以秒計算。
string getname() 返回cookie的名字
string getvalue() 返回cookie的值。
void setvalue(string newvalue) cookie創(chuàng)建后設置一個新的值。

注:名字和值是我們始終關心的兩個部分。稍后會詳細介紹getname/setname、getvalue/setvalue。 

四、代碼舉例:

【實例】實現(xiàn)記住密碼、自動登錄的功能

新建javaweb工程test06.

login.jsp:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<%@ page language="java" contenttype="text/html; charset=utf-8"
 pageencoding="utf-8"%>
<!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>insert title here</title>
<%
  string username = "";
 string password = "";
  //獲取當前站點的所有cookie
  cookie[] cookies = request.getcookies();
 for (int i = 0; i < cookies.length; i++) {//對cookies中的數(shù)據(jù)進行遍歷,找到用戶名、密碼的數(shù)據(jù)
    if ("username".equals(cookies[i].getname())) {
      username = cookies[i].getvalue();
   } else if ("password".equals(cookies[i].getname())) {
      password = cookies[i].getvalue();
   }
  }
%>
</head>
<body>
  <form action="login_handler.jsp" method="post">
    username:<input type="text" name="name" value="<%=username%>" /><br/>
   password:<input type="password" name="pwd" value="<%=password%>" /><br/>
   <input type="checkbox" value="y" name="islogin">自動登錄<br/>
   <input type="submit" value="登錄" />
 </form>
</body>
</html>

13行代碼:獲取當前站點所有的cookie。注:這個cookie類是在接下來的login_handler.jsp文件中定義的。

26行的 value="<%=username%>",以及27行的value="<%=password%>",是在16行、18行獲取到的值。

login_handler.jsp:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<%@ page language="java" contenttype="text/html; charset=utf-8"
  pageencoding="utf-8"%>
 <%
   string name = request.getparameter("name");
   string pwd = request.getparameter("pwd");
   string flag = request.getparameter("islogin");
   if (!"admin".equals(name) && !"123".equals(pwd)) {
     response.sendredirect("error.jsp");
   } else {
     if ("y".equals(flag)) {
      //創(chuàng)建兩個cookie對象
      cookie namecookie = new cookie("username", name);
      //設置cookie的有效期為3天
      namecookie.setmaxage(60 * 60 * 24 * 3);
      cookie pwdcookie = new cookie("password", pwd);
      pwdcookie.setmaxage(60 * 60 * 24 * 3);
      response.addcookie(namecookie);
       response.addcookie(pwdcookie);
    }
    response.sendredirect("success.jsp");
   }
 %>

核心代碼是11行至20行。

11行:如果用戶勾選了“自動登錄”,就把用戶名和密碼的信息放到cookie中。

第15、17行代碼是設置cookie的存儲時間。如果不設置cookie的存儲時間,則默認的存儲時間為0,此時cookie保存的數(shù)據(jù)是存放在內存中的,當瀏覽器關閉,則cookie消失失效。

設置了存儲時間后,此時設置cookie的數(shù)據(jù)將保存在硬盤中,不同的瀏覽器存放的具體位置是不一樣的。

谷歌瀏覽器查看cookie的位置:

“菜單-設置-顯示高級設置-內容設置”:

JavaWeb 中Cookie實現(xiàn)記住密碼的功能示例

單擊上圖中的“內容設置”,彈出如下界面:

JavaWeb 中Cookie實現(xiàn)記住密碼的功能示例

單擊上圖的紅框部分,彈出如下界面:

JavaWeb 中Cookie實現(xiàn)記住密碼的功能示例

success.jsp:

?
1
2
3
4
5
6
7
8
9
10
11
<%@ page language="java" contenttype="text/html; charset=utf-8"
   pageencoding="utf-8"%>
 <!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd">
 <html>
 <head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8">
 <title>insert title here</title>
 </head>
 <body>success.
 </body>
 </html>

如果登陸成功,就調到這個頁面。

error.jsp:

?
1
2
3
4
5
6
7
8
9
10
11
<%@ page language="java" contenttype="text/html; charset=utf-8"
   pageencoding="utf-8"%>
 <!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd">
 <html>
 <head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8">
 <title>insert title here</title>
 </head>
 <body>error.
 </body>
 </html>

運行程序,當輸入正確的用戶名密碼進行登錄,并勾選“記住密碼”后,下次再回到登錄界面,就是下面的這個樣子:

JavaWeb 中Cookie實現(xiàn)記住密碼的功能示例

以上所述是小編給大家介紹的javaweb 中cookie實現(xiàn)記住密碼的功能示例,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://blog.csdn.net/justdoit_potato/article/details/73739529

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99re免费在线视频 | 猛男深夜狂cao小男生 | 欧美日韩一区二区三区在线播放 | 国产麻豆流白浆在线观看 | 午夜一级 | 大jjjj免费看视频 | 日本免费一二区 | 久青草国产97香蕉在线视频 | 日本片免费观看一区二区 | 国内精品免费一区二区三区 | 亚洲大逼 | 小莹的性荡生活45章 | 日韩制服丝袜在线观看 | 男人的天堂视频 | 人与动videos| 四虎成人免费 | 污网站免费观看在线高清 | 亚洲六月丁香六月婷婷色伊人 | 国产高清专区 | 国产精品99爱免费视频 | 国产麻豆剧果冻传媒影视4934 | 国产成人精品一区二区 | 欧美丰满大乳大屁在线观看股 | 末代皇帝无删减版在线观看 | 热久久99精品这里有精品 | 国产大神91一区二区三区 | girlfriend动漫在线播放 | porno movie hd高清 | free性泰国娇小videos | 亚洲免费色图 | 草草线在成年免费视频网站 | 2020年国产精品午夜福利在线观看 | 鸭子玩富婆流白浆视频 | 欧美另类xxx精品人妖 | 99视频精品全部免费观看 | 天天色天天色天天色 | 欧美日韩国产精品综合 | 91大神大战高跟丝袜美女 | 色综合久久中文字幕 | 国产免费视频 | 美女黄金大片视频免费看 |