目录
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可能被篡改
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/115396.html