理解并掌握cookie的作用以及利用cookie实现用户的自动登录功能,实现下图效果

当服务器判断出该用户是首次登录的时候,会自动跳转到登录界面等待用户登录,并填入相关信息。通过设置cookie的有效期限来保存用户的信息,关闭浏览器后,验证是否能够自动登录,若能登录,则打印欢迎信息;否则跳转到登录页面。

login.jsp

string path = request.getcontextpath();

string basepath = request.getscheme()+"://"+request.getservername()+":"+request.getserverport()+path+"/";

%>

my jsp 'login.jsp' starting page

window.onload = function(){

//获取submit

var submit = document.getelementbyid("submit");

var name = document.getelementbyid("name");

//为submit绑定单击响应函数

submit.onclick = function(){

times = document.getelementsbyname("time");

var count=0;

for(var i=0;i

if(times[i].checked == true){

count++;

}

}

if(count>=2){

alert("只能选择一个选项");

return false;

}

};

};

用户名:

不保存

一天

一周

永久

//读取session值

string val= (string)session.getattribute("name");

//如果session不存在

if(val==null){

val ="不存在";

}

out.print("当前\""+val+"\"用户可自动登录");

%>

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

if(time[i].equals("notsave")){

cookie.setmaxage(0);

}

//保存一天cookie

if(time[i].equals("aday")){

cookie.setmaxage(60*60*24);

}

//保存一周cookie

if(time[i].equals("aweek")){

cookie.setmaxage(60*60*24*7);

}

//永久保存cookie,设置为100年

if(time[i].equals("forever")){

cookie.setmaxage(60*60*24*365*100);

}

}

}

//在客户端保存cookie

response.addcookie(cookie);

}

else{%>

//获取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");

}

%>

实现效果:

1.

2.

3.

4.

5.

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

希望与广大网友互动??

点此进行留言吧!

java 自动登录功能_jsp实现用户自动登录功能相关推荐

  1. java用servlet实现登录注册_Servlet-实现用户的注册功能

    1.上一篇已经实现了与数据库的连接测试,这一次就实现对用户基本信息的注册功能,,,,,,本次整体构架如下图所示: 2.第一步,创建一个实体类User.java,实现对用户基本信息的封装,如下图所示: ...

  2. 新增公告提示功能,支持用户异地登录提醒和授权过期通知,JumpServer堡垒机v2.15.0发布

    11月1日,JumpServer开源堡垒机正式发布v2.15.0版本.在这一版本中,JumpServer新增公告提示功能,管理员可以根据不同的场景向所有用户实时发布重要通知:用户登录方面,新版本支持用 ...

  3. Java实现在小程序获取用户手机号码的功能

    获取用户手机号码包含了"获取用户的昵称.头像授权"."获取用户的手机号授权"和"解密手机号"3个部分.在小程序获取了的手机号码是加密的密文, ...

  4. php做异地登录验证,PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】

    本文实例讲述了PHP实现用户异地登录提醒功能的方法.分享给大家供大家参考,具体如下: 对于安全性要求比较高的web网站,特别是后台管理,有时候需要甄别自己的账号是否被盗或者是否有另一个人此刻登陆了在进 ...

  5. html登陆注册功能实现,实现用户的登录注册功能

    在基于Spring Boot框架上,实现用户的登录注册功能, 首先分析前期所需要的规划. 1 实现登录注册 前端向后端发起post请求 2用户密码安全性 密码是不推荐明文入库的,在后台采取秘钥加加不可 ...

  6. ad域服务器用户登录限制,AD域监控用户登录, 活动目录监控用户, AD登录历史审核...

    实时监控用户登录操作 用户登录到其域计算机是在任何企业都会发生的日常活动.一开始,这看起来可能是一个简单的Active Directory事件,但分配有不同角色的管理员可将这个宝贵的数据用于各种审核. ...

  7. oracle 登录失败次数,Oracle用户连续登录失败次数限制如何取消

    当用户连续登录失败次数过多时,Oracle会锁定该用户,"FAILED_LOGIN_ATTEMPTS"用于设置最大次数,超过该值则锁定该帐号. 要取消用户连续登录失败次数的限制可以 ...

  8. 谷歌眼镜入华被指功能缩水 国内用户:很多功能用不了

    谷歌眼镜 新一代谷歌眼镜 4 月 16 日在美国向美国公众开放购买资格,售价 1500 美元(约合人民币 9330 元). 据谷歌 4 月 17 日公布的参数配置,谷歌眼镜拥有一个 500 万像素的摄 ...

  9. java自定义表单_JSP实现用于自动生成表单标签html代码的自定义表单标签

    本文实例讲述了JSP实现用于自动生成表单标签HTML代码的自定义表单标签.分享给大家供大家参考.具体如下: 这个是自己写的一个简单的JSP表单标签,用于自动生成checkBox,select,radi ...

最新文章

  1. 递归--整数划分问题
  2. 《剑指offer》c++版本 7.重建二叉树
  3. MQTT客户端工具MQTTfx
  4. 如何运行你的Android程序?
  5. wpf中把按钮变成圆角
  6. python位置参数_Python;argparse;如何指定位置参数的位置
  7. ASP.NET Core Blazor Webassembly 之 组件
  8. P5170 【模板】类欧几里得算法(类欧)
  9. 【Python学习日志】 - Numpy包
  10. MxNet 迁移学习实现深度学习分类
  11. linux系统分类;linux find命令
  12. Kinect 2.0 高帧率 同分辨率采集RGB-D图像并保存,并显示人体骨架
  13. matlab读取txt文档三行数据库,Matlab中的textread textscan读取文本文件
  14. 超详细的LSA内容解析及SPF算法分析,一看就懂
  15. 快捷指令 python_有没有硬核的iOS快捷指令推荐(实用性)?
  16. PHP语言编程魔方,编程和魔方
  17. 2021第十三届中国最佳酒店大奖榜单揭晓:年度最佳酒店、最佳顶级奢华酒店、最佳城市地标酒店...
  18. NBA GLOSSARY
  19. Linux系统DB2数据库安装手册
  20. HTTP,TCP,UDP,Socket,WebSocket

热门文章

  1. 第二十一课.GBDT
  2. Materials Studio 做分子动力学MD(CO2为例)
  3. Android类动态加载技术
  4. Current综述:中农宋春旭等为植物有益微生物组构建一个美好家园
  5. BT:​关键胞外酶触发了细菌群落演替偶联的高效堆肥
  6. IDBA-UD:组装非均匀覆盖度的宏基因组和单细胞数据
  7. 【为自己相亲】单身小姐姐你在哪里,我是书豪,我在等你
  8. TM:宿主-细菌界面的MicroRNA:宿主防御或细菌攻击
  9. 原来益生菌是这么搞定致病菌的
  10. R语言ggplot2可视化强制设置x轴、y轴坐标的起始点为0或者其他实战