真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

本文主要內(nèi)容:

創(chuàng)新互聯(lián)公司,為您提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站營(yíng)銷推廣、網(wǎng)站開(kāi)發(fā)設(shè)計(jì),對(duì)服務(wù)被動(dòng)防護(hù)網(wǎng)等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!

•1、什么是Cookie
•2、Cookie帶來(lái)的好處
•3、Cookie的主要方法 

一、什么是Cookie

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

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

二、Cookie帶來(lái)的好處:

cookies給網(wǎng)站和用戶帶來(lái)的好處非常多:

1. Cookie能使站點(diǎn)跟蹤特定訪問(wèn)者的訪問(wèn)次數(shù)、最后訪問(wèn)時(shí)間等

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

3. Cookie有效期限未到時(shí),Cookie能使用戶在不鍵入密碼和用戶名的情況下進(jìn)入曾經(jīng)瀏覽過(guò)的一些站點(diǎn)

4. Cookie能幫助站點(diǎn)統(tǒng)計(jì)用戶個(gè)人資料以實(shí)現(xiàn)各種各樣的個(gè)性化服務(wù)在JSP中,我們也可以使用Cookie,來(lái)編寫一些功能強(qiáng)大的應(yīng)用程序。

有些瀏覽器可以禁用Cookie,所以不能使用Cookie來(lái)完成核心的業(yè)務(wù)。 

三、Cookie類的主要方法:

int getMaxAge() 返回Cookie過(guò)期之前的最大時(shí)間,以秒計(jì)算。
int setMaxAge() 設(shè)置Cookie過(guò)期時(shí)間,以秒計(jì)算。
String getName() 返回Cookie的名字
String getValue() 返回Cookie的值。
void setValue(String newValue) cookie創(chuàng)建后設(shè)置一個(gè)新的值。

注:名字和值是我們始終關(guān)心的兩個(gè)部分。稍后會(huì)詳細(xì)介紹getName/setName、getValue/setValue。 

四、代碼舉例:

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

新建JavaWeb工程Test06.

login.jsp:

 <%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
 
 
 
 
 Insert title here 
 <%
   String username = "";
  String password = "";
   //獲取當(dāng)前站點(diǎn)的所有Cookie
   Cookie[] cookies = request.getCookies();
  for (int i = 0; i < cookies.length; i++) {//對(duì)cookies中的數(shù)據(jù)進(jìn)行遍歷,找到用戶名、密碼的數(shù)據(jù)
     if ("username".equals(cookies[i].getName())) {
       username = cookies[i].getValue();
    } else if ("password".equals(cookies[i].getName())) {
       password = cookies[i].getValue();
    }
   }
 %> 
 
 
   
username:
password:
自動(dòng)登錄

13行代碼:獲取當(dāng)前站點(diǎn)所有的Cookie。注:這個(gè)Cookie類是在接下來(lái)的login_handler.jsp文件中定義的。

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

login_handler.jsp:

<%@ 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)建兩個(gè)Cookie對(duì)象
      Cookie nameCookie = new Cookie("username", name);
      //設(shè)置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行:如果用戶勾選了“自動(dòng)登錄”,就把用戶名和密碼的信息放到Cookie中。

第15、17行代碼是設(shè)置Cookie的存儲(chǔ)時(shí)間。如果不設(shè)置Cookie的存儲(chǔ)時(shí)間,則默認(rèn)的存儲(chǔ)時(shí)間為0,此時(shí)Cookie保存的數(shù)據(jù)是存放在內(nèi)存中的,當(dāng)瀏覽器關(guān)閉,則Cookie消失失效。

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

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

“菜單-設(shè)置-顯示高級(jí)設(shè)置-內(nèi)容設(shè)置”:

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

單擊上圖中的“內(nèi)容設(shè)置”,彈出如下界面:

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

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

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

success.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
   pageEncoding="UTF-8"%>
 
 
 
 
 Insert title here
 
 success.
 
  

如果登陸成功,就調(diào)到這個(gè)頁(yè)面。

error.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
   pageEncoding="UTF-8"%>
 
 
 
 
 Insert title here
 
 error.
 
 

運(yùn)行程序,當(dāng)輸入正確的用戶名密碼進(jìn)行登錄,并勾選“記住密碼”后,下次再回到登錄界面,就是下面的這個(gè)樣子:

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

以上所述是小編給大家介紹的JavaWeb 中Cookie實(shí)現(xiàn)記住密碼的功能示例,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)創(chuàng)新互聯(lián)網(wǎng)站的支持!


分享標(biāo)題:JavaWeb中Cookie實(shí)現(xiàn)記住密碼的功能示例
文章分享:http://weahome.cn/article/jhpiis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部