写给CssRain:http://www.
---痕爱小家伙<o:p></o:p>
Cookie 网站或论坛的自动登录大多是采用cookie技术实现,很难吗。哈哈 跟我走 一点都不难
<o:p></o:p>
1.我们首先来看下cookie实现自动登录的原理。<o:p></o:p>
当用户登录后,通常可以选择多久不用再登录,这里就是cookie的有效期设置了,登录后 cookie会保存在本地硬盘中,当然这个我们不用去关心拉。然后当用户下次登录,系统会先去检测当前用户的cookie是否存在,存在的话则跳到相应页面,如果不存在则应该是在登录页面。原理的简单分析就是这样。简单吧。
<o:p></o:p>
2.接下来 我们瞧瞧js是怎样操作cookie的 跟我走。。<o:p></o:p>
还是直接帖代码吧 代码是我找的 不是自己写的,不清楚的话再找我。我再写一个简单点的。
js 代码
- <script type="</span">"text/javascript">
- //写cookies函数
- function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值
- { var Days = 30;
- var exp = new Date(); //new Date("December 31, 9998");
- exp.setTime(exp.getTime() + Days*24*60*60*1000); //此 cookie 将被保存 30 天
-
- document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
- }// escape拿来干嘛?记住解决中文问题的。
- //上面就算新定义了一个cookie
-
- //取cookies函数
- function getCookie(name)
- {
- var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
- if(arr != null) return unescape(arr[2]); return null;
- }
- //删除cookie
- function delCookie(name)
- {
- var exp = new Date();
- exp.setTime(exp.getTime() - 1);
- var cval=getCookie(name);
- if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
- }
- SetCookie ("xiaoqi", "3")
- alert(getCookie('xiaoqi'));
- </script>
3.操作cookie学会了,还有什么难的呢。当用户打开这个网址的时候就去getcookie,你会说怎么去判断呢。这确实是个问题。不过 想解决还不简单。直接把所有的cookie取出来 循环 看是否有一个cookie等于上次登录的时候setcookie的名字,你可以把名字设置复杂点。可以直接判断是否有这个cookie名就完成了。原理就是这样。简单吧。跟我走 没错的。<o:p></o:p>
4.好啦。Set和get都学会了 还有什么难的呢 哎 实在有什么难的就找我拉。我是一个有责任心的男人 哈哈。<o:p></o:p>
5.最后还是帖下代码拉。我直接用jsp 判断 ,然后跳转。简洁些。看好了。<o:p></o:p>
jsp代码
- login.jsp
- <%
- Cookie[] cookie = request.getCookies();
- if(cookie!=null){
- for(int i = 0; i < cookie.length; i++){
- Cookie myCookie = cookie[i];
- if(myCookie.getName().equals( "usercookie ")){
- response.sendRedirect( "跳转到某用户的界面 ");
- }}}%>
PS:“usercookie”是第一次登录的时候存入的cookie名。<o:p></o:p>
哈哈 就这样吧 !<o:p></o:p>
忘了写一点 跟我继续。。<o:p></o:p>
如果你不想用js 比如用java的话 存入cookie也是可以实现的。废话少说 我直接帖代码吧 程序员 一看就懂 呵呵
java 代码
- Cookie usercookie=new Cookie( "usercookie ",user.getUsername());
- usercookie.setMaxAge(24*60*60);
- usercookie.setPath( "/koubeiTest/ ");
- usercookie.setDomain( "www. ");
- ServletActionContext.getResponse().addCookie(usercookie);
需要我解释 setPath和setDomain么。算了 打字都累了 。不懂自己去查吧