jsp如何实现用户自动登录功能?本篇文章小编给大家分享一下jsp实现用户自动登录功能代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
理解并掌握Cookie的作用以及利用cookie实现用户的自动登录功能,实现下图效果
当服务器判断出该用户是首次登录的时候,会自动跳转到登录界面等待用户登录,并填入相关信息。通过设置Cookie的有效期限来保存用户的信息,关闭浏览器后,验证是否能够自动登录,若能登录,则打印欢迎信息;否则跳转到登录页面。
login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <%request.setCharacterEncoding("GB2312"); %><% //读取session值 String val= (String)session.getAttribute("name"); //如果session不存在 if(val==null){ val ="不存在"; } out.print("当前""+val+""用户可自动登录"); %>My JSP 'login.jsp' starting page
sucess.jsp
%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>My JSP 'show.jsp' starting page <% //获取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保存时间 if(time != null){ for(int i=0;i<%--用户名不存在则进行判断是否已有cookie --%> <% //获取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; } } } } if(name != null && !name.trim().equals("")){ out.print("您好: " + name+"欢迎登录"); } else{//否则重定向到登录界面 out.print("您还没有注册,2秒后转到注册界面!"); response.setHeader("refresh","2;url=login.jsp"); %> 如果没有自动跳转,请点击此处进行跳转 <% //response.sendRedirect("login.jsp"); } %>
实现效果: