Cookie设置三天免密登录(运行教程)

本文介绍了Cookie的工作原理,通过一个简单的登录示例展示了如何利用Cookie实现免密登录,当用户再次访问时,如果Cookie存在则直接显示欢迎信息。同时,也探讨了Cookie的优缺点,包括其可配置的到期规则、简单性和数据持久性,但也指出其大小限制、可能被禁用及潜在的安全风险。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.什么是cookie

2.cookie免密登录

3.cookie的优缺点


1.什么是cookie

Cookie是服务器发送到用户浏览器并保持在本地的一小块信息,他会在浏览器下次向服务器发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器。

2.cookie免密登录

登录界面login.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>

</head>
<body onload="get()">
	<form action="/JiuYueServices/login" method="get"> 
		用户名:<input type="text" name="username"/>
		密码:<input type="text" name="password"/>
		<input type="submit" value="登录">
	</form>
	
</body>

<script>
function get(){
	var flge = getCookie("flge");
	if(flge!=""){
		alert("欢迎再次访问");
	}
}
function getCookie(cname){
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i].trim();
        if (c.indexOf(name)==0) { return c.substring(name.length,c.length); }
    }
    return "";
}
</script>

</html>

LoginServlet.java

package com.qcby.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/login")
public class LoginServlet extends HttpServlet{


	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		//1.服务端创建cookie对象
		
		String username = req.getParameter("username");
		String password = req.getParameter("password");	
		
		System.out.println(username +" " +password);
		Cookie cookie = new Cookie("flge", "qcby");
           //2.设置cookie有效期 1 小时  
           cookie.setMaxAge(3 * 24 * 60*60);  // 存储数据有三种方式:>0有效期,单位秒;=0浏览器关闭;<0 临时存储,默认为-1
		//3.将cookie响应给客户端
		resp.addCookie(cookie);
	}	
}

运行:http://localhost:8080/JiuYueServices/login.html

 退出来,再次登录http://localhost:8080/JiuYueServices/login.html

 成功!!!


3.cookie的优缺点

优点:

  • 可配置到期规则
  • 简单性:cookie是一种包含文本轻量结构,包含简单的键值对
  • 数据持久性:cookie默认在过期之前可以一直保存在客户端浏览器上

缺点:

  • 大小受限制:大多数浏览器对cookie的大小有限制,分别是4k和8k字节
  • 用户配置为禁用:有些用户禁用了浏览器或者客户端设备接收cookie的能力,因此限制了这一功能
  • 潜在的安全风险:Cookie可能被篡改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叫我老伯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值