本文实例为大家分享了jsp COOKIE+session实现简易自动登录的具体代码,供大家参考,具体内容如下
关闭浏览器只会使存储在客户端浏览器内存中的session COOKIE失效,不会使服务器端的session对象失效。
如果设置了过期时间,浏览器就会把COOKIE保存到硬盘上,关闭后再次打开浏览器,这些COOKIE依然有效直到超过设定的过期时间。
login.jsp
<%@ page language="java" cOntentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 用户名:
<%--记住用户名 --%> <% //读取session值 String val= (String)session.getAttribute("name"); //如果session不存在 if(val==null){ val ="不存在"; } out.print("当前\""+val+"\"用户可自动登录"); %>
success.jsp
<%@ page language="java" cOntentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% //获取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"); } %> relogin
main.jsp
<%@ page language="java" cOntentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% 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;irelogin
运行login.jsp
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。