cookie:
服务器将一些信息存储在浏览器(本地),当用户再次打开网页时,会自动填充该信息。当浏览器再次发送请求时,会将存储的信息通过请求头的方式发送给服务器端,不需要用户每次都填充某些内容。cookie中理论上来讲,最大存储4KB内容。
cookie默认的有效时间为一次会话。可以通过代码设置cookie的有效时间。
一次会话:一次会话,前端发起请求-->服务端返回信息-->... 直到浏览器关闭(或者服务端关闭)。
创建cookie的代码如下:
package com.xalo.cookie;
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("/cookie")
public class CookieServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//创建一个cookie
Cookie cookie = new Cookie("name", "大黄");
//将创建的cookie响应至前端
resp.addCookie(cookie);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
与cookie相关的java代码如下:
//设置cookie的最大的有效时间
cookie.setMaxAge(30*24*60*60);//单位秒
//设置cookie的有效路径,当请求url为该路径时,才会在请求头中添加该cookie
cookie.setPath(req.getContextPath()/*+"/cookie"*/);
//设置服务器IP,只有请求url中IP是该IP时,(客户端)才会发送cookie
cookie.setDomain("lockhost");
//设置cookie的解释
cookie.setComment("用户名");
//将该cookie中的值设置为null
cookie.setValue(null);
//将cookie添加到响应中
resp.addCookie(cookie);
将cookie返回给前端网页后,当前端再次发起该请求,如果本地cookie还有效,会在请求头中,将该cookie信息发送到服务端。