2017.11.23 利用Cookie管理实现自动登陆
Cookie管理
Cookie对象是由服务器产生并保存在客户端的信息,常用他记录用户个人信息以及个性化设置。用户每次访问网点时,应用程序就可以检索以前保存的信息
Cookie对象属于的类是javax.servlet.http.Cookie 他不是JSP的内置对象
1.Cookie的基本用法
一般需要两步操作,首先有服务器创建Cookie对象保存在客户端,然后再JSP或Servlet中读取Cookie并进行操作。
自动登录过程
//login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>用户登陆界面</title>
</head>
<body>
<form action="logincheck.jsp" method="post">
用户名:<input type="text" name="username"><br>
密 码:<input type="password" name="userpwd"/><br>
<input type="submit" value="登陆">
</form>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登陆处理</title>
</head>
<body>
<%
String un=request.getParameter("username"); //获取用户名
if(un!=null){
Cookie c=new Cookie("username",un);
c.setMaxAge(30*24*3600);//设置Cookie有效期为30天
response.addCookie(c);//将Cookie对象保存在客户端
session.setAttribute("username",un);//将用户名存到session范围内用于权限检查
response.sendRedirect("main.jsp");//重定向到主页面
}
%>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>主页面</title>
</head>
<body>
<%
String username=(String)session.getAttribute("username");
if(username==null){ //session中用户名为空说明用户没登陆
Cookie[] cs=request.getCookies();
String v=null;
if(cs!=null){
for(int i=0;i<cs.length;i++){
if(cs[i].getName().equals("username")){ //获取名称为username的Cookie对象值
v=cs[i].getValue();
}
}
}
if(cs!=null){ //Cookie值不空,自动登陆成功
session.setAttribute("username",v);
out.print(v+",您好!");
}else{ //自动登陆失败,转到登陆界面
out.print("您还没有注册,2秒后转到注册界面!");
response.setHeader("Refrush","2;url=login.jsp");
}
}
else{ //session中用户名不空说明用户已经登陆
out.print(username+"您好!");
}
%>
</body>
</html>
2017.11.23 利用Cookie管理实现自动登陆的更多相关文章
- 2017.11.23 display fun --STM8
unsigned char disp_mode;unsigned char disp_last_mode;unsigned char disp_sub_mode;unsigned char disp_ ...
- node.js平台下,利用cookie实现记住密码登陆(Express+Ejs+Mysql)
本博文需有node.js+express+mysql入门基础,若基础薄弱,可参考博主的其他几篇node.就是博文: 1.下载Mysql数据库,安装并配置 创建用户表供登录使用: 2.node.js平台 ...
- 『动善时』JMeter基础 — 20、JMeter配置元件【HTTP Cookie管理器】详细介绍
目录 1.HTTP Cookie管理器介绍 2.HTTP Cookie管理器界面详解 3.JMeter中对Cookie的管理 (1)Cookie的存储 (2)Cookie的管理策略 4.补充:Cook ...
- Beta周第14次Scrum会议(11/23)【王者荣耀交流协会】
一.小组信息 队名:王者荣耀交流协会 小组成员 队长:高远博 成员:王超,袁玥,任思佳,王磊,王玉玲,冉华 小组照片 二.开会信息 时间:2017/11/23 17:02~17:14,总计12min. ...
- 第35次Scrum会议(11/23)【欢迎来怼】
一.小组信息 队名:欢迎来怼小组成员队长:田继平成员:李圆圆,葛美义,王伟东,姜珊,邵朔,阚博文小组照片 二.开会信息 时间:2017/11/23 17:03~17:24,总计21min.地点:东北师 ...
- Jmeter系列(49)- 详解 HTTP Cookie 管理器
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 简单介绍 功能一 首先,它像网络浏览器 ...
- ThinkPHP做自动登陆及异位或加密COOKIE!
异位或加密方法: /* *登陆如果自动登陆加密 *默认是0解密状态,1是加密 *采用的方法是异位或加密 */ function encrytion($value,$type=0){ $key = md ...
- Qt 学习之路 2(11):布局管理器
Home / Qt 学习之路 2 / Qt 学习之路 2(11):布局管理器 Qt 学习之路 2(11):布局管理器 豆子 2012年9月4日 Qt 学习之路 2 70条评论 所谓 GUI 界 ...
- Java Web Application使Session永不失效(利用cookie隐藏登录)
在做 Web Application 时,因为 Web Project 有 session 自动失效的问题,所以如何让用户登录一次系统就能长时间运行三个月,就是个问题. 后来,看到 session 失 ...
随机推荐
- 信息领域热词分析系统--python统计
统计词语出现的频率,并且按从高到低的顺序报错在文件中 def main(): file=open("F:\大数据\大作业\分词后的文件\data4_xinxi.txt",'r') ...
- java——简易版build模式
参考教程:https://blog.csdn.net/fanxudonggreat/article/details/78927773 public class Computer { private S ...
- Vue.js-----轻量高效的MVVM框架(十一、使用slot分发内容)
#单个slot html: <h3>#单个slot</h3> <!-- 定义child01模板 --> <template id="child01& ...
- python3.7安装Scrapy
环境:windows 7. 安装过程中遇到的问题 1.error: Unable to find vcvarsall.bat 2.1083: Cannot open include file: 'ba ...
- 20篇关于商品管理系统和uml技术的相关文献
1.基于UML技术的商品管理系统设计与实现 2.UML技术在行业资源平台系统建模中的应用 3.基于JSP的商品信息管理系统设计与开发 4.基于UML技术的客户关系管理系统实现 5.商品管理系统 6.基 ...
- 解决ajax提交中文数据乱码
function replaceWord(date,wordurl){ $.ajax({ url : 'wordReplace', ...
- javassist fr8.0破解
主要是破解连接数的. 已破解的jar:http://download.csdn.net/download/wolf12/9834152 public static void main(String[] ...
- Django 中orm的第一次举荐
Django ORM :对象--关系--映射 创建Django准备工作: 1.在数据库创建你需要的数据库 2.在项目models里创建模型(就是python写的类,也可以说是python写的数据库) ...
- stm32串口学习(一)
串口在工作中经常用到,今天我们从零开始学习stm32的串口编程(利用库函数). 先从最简单的情况开始,假设我们要实现的功能就是串口发送一个字节,不考虑接收,也不考虑中断. 那么要解决两个问题: 1 串 ...
- DEDE文章列表加上序号效果
在文章列表上面加上序号列表的形式,使得文章列表表现得没那么单调,更加丰富一点. {dede:arclist orderby=pubdate type='commend.' titlelen='26' ...