jsp cookie+session实现简易自动登录

本文实例为大家分享了jsp cookie+session实现简易自动登录的具体代码,供大家参考,具体内容如下

关闭浏览器只会使存储在客户端浏览器内存中的session cookie失效,不会使服务器端的session对象失效。
如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。

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("当前""+val+""用户可自动登录");   %>      </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");      //设置session值,(login页面可读取)   session.setAttribute("name", name);      //设置Cookie   Cookie Cookie = new Cookie("name",name);    Cookie.setMaxAge(30*24*3600); //设置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>

运行login.jsp

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

jsp cookie+session实现简易自动登录

郑重声明:本网站发布的内容(图片、视频和文字)以及用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服

发表评论

登录后才能评论