日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

javascript之cookie實(shí)現(xiàn)自動登陸

 cknote 2012-05-07

javascript之cookie實(shí)現(xiàn)自動登陸 - libinwalan - JavaEye技術(shù)網(wǎng)站  

2009-03-07 23:57:22|  分類: 默認(rèn)分類 |字號 訂閱

寫給CssRain:http://www.

                                                                                                                                                                             ---痕愛小家伙<o:p></o:p>

Cookie 網(wǎng)站或論壇的自動登錄大多是采用cookie技術(shù)實(shí)現(xiàn),很難嗎。哈哈 跟我走 一點(diǎn)都不難

<o:p></o:p>

1.我們首先來看下cookie實(shí)現(xiàn)自動登錄的原理。<o:p></o:p>

當(dāng)用戶登錄后,通??梢赃x擇多久不用再登錄,這里就是cookie的有效期設(shè)置了,登錄后 cookie會保存在本地硬盤中,當(dāng)然這個(gè)我們不用去關(guān)心拉。然后當(dāng)用戶下次登錄,系統(tǒng)會先去檢測當(dāng)前用戶的cookie是否存在,存在的話則跳到相應(yīng)頁面,如果不存在則應(yīng)該是在登錄頁面。原理的簡單分析就是這樣。簡單吧。

<o:p></o:p>

2.接下來 我們瞧瞧js是怎樣操作cookie的 跟我走。。<o:p></o:p>

還是直接帖代碼吧 代碼是我找的 不是自己寫的,不清楚的話再找我。我再寫一個(gè)簡單點(diǎn)的。


js 代碼
  1. <script type="</span">"text/javascript">
  2. //寫cookies函數(shù)
  3. function SetCookie(name,value)//兩個(gè)參數(shù),一個(gè)是cookie的名子,一個(gè)是值
  4. { var Days = 30;
  5. var exp = new Date(); //new Date("December 31, 9998");
  6. exp.setTime(exp.getTime() + Days*24*60*60*1000); //此 cookie 將被保存 30 天
  7. document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
  8. }// escape拿來干嘛?記住解決中文問題的。
  9. //上面就算新定義了一個(gè)cookie
  10. //取cookies函數(shù)
  11. function getCookie(name)
  12. {
  13. var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
  14. if(arr != null) return unescape(arr[2]); return null;
  15. }
  16. //刪除cookie
  17. function delCookie(name)
  18. {
  19. var exp = new Date();
  20. exp.setTime(exp.getTime() - 1);
  21. var cval=getCookie(name);
  22. if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
  23. }
  24. SetCookie ("xiaoqi", "3")
  25. alert(getCookie('xiaoqi'));
  26. </script>

3.操作cookie學(xué)會了,還有什么難的呢。當(dāng)用戶打開這個(gè)網(wǎng)址的時(shí)候就去getcookie,你會說怎么去判斷呢。這確實(shí)是個(gè)問題。不過 想解決還不簡單。直接把所有的cookie取出來 循環(huán) 看是否有一個(gè)cookie等于上次登錄的時(shí)候setcookie的名字,你可以把名字設(shè)置復(fù)雜點(diǎn)??梢灾苯优袛嗍欠裼羞@個(gè)cookie名就完成了。原理就是這樣。簡單吧。跟我走 沒錯(cuò)的。<o:p></o:p>

4.好啦。Setget都學(xué)會了 還有什么難的呢 哎 實(shí)在有什么難的就找我拉。我是一個(gè)有責(zé)任心的男人 哈哈。<o:p></o:p>

5.最后還是帖下代碼拉。我直接用jsp 判斷 ,然后跳轉(zhuǎn)。簡潔些。看好了。<o:p></o:p>

jsp代碼
  1. login.jsp
  2. <%
  3. Cookie[] cookie = request.getCookies();
  4. if(cookie!=null){
  5. for(int i = 0; i < cookie.length; i++){
  6. Cookie myCookie = cookie[i];
  7. if(myCookie.getName().equals( "usercookie ")){
  8. response.sendRedirect( "跳轉(zhuǎn)到某用戶的界面 ");
  9. }}}%>

PS:usercookie”是第一次登錄的時(shí)候存入的cookie名。<o:p></o:p>

哈哈 就這樣吧 !<o:p></o:p>

忘了寫一點(diǎn) 跟我繼續(xù)。。<o:p></o:p>

如果你不想用js 比如用java的話 存入cookie也是可以實(shí)現(xiàn)的。廢話少說 我直接帖代碼吧 程序員 一看就懂 呵呵

java 代碼
  1. Cookie usercookie=new Cookie( "usercookie ",user.getUsername());
  2. usercookie.setMaxAge(24*60*60);
  3. usercookie.setPath( "/koubeiTest/ ");
  4. usercookie.setDomain( "www. ");
  5. ServletActionContext.getResponse().addCookie(usercookie);

需要我解釋 setPathsetDomain么。算了 打字都累了 。不懂自己去查吧

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多