登录使用cookie,使用HttpServletResponse添加cookie,在HttpServletRequest获取cookie

14 篇文章 0 订阅

HttpServletResponse添加cookie

在这里插入图片描述

这里用cookie是为了验证登录的用户,在用户使用微信扫码登录之后会先把信息set到redis中,然后再add到cookie中.后面就会拿cookie中的用户信息去redis中验证用户是否是登录状态

HttpServletRequest获取cookie

HttpServletRequest.getCookies()拿到的是一个cookie数组,一般为了方便操作,会转成map

 /**
     * 把cookie数组转成map
     * @return
     */
    private static Map<String,Cookie> readCookieMap(HttpServletRequest request){
        Map<String,Cookie> cookieMap = new ConcurrentHashMap<>();
        Cookie [] cookies = request.getCookies();
        if(null != cookies){
            Arrays.stream(cookies).forEach( element ->
                    cookieMap.put(element.getName(),element)
            );
        }
        return cookieMap;
    }

之后根据需求,按照cookie的name去获取对应的cookie

登出的时候把cookie去掉

清除cookie,这里直接把cookie value=null 并且过期时间设置为0
在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
使用HttpServletRequest获取cookie的值,您可以按照以下步骤进行操作: 1. 在您的Java Web应用程序中,确保您已经导入了`javax.servlet.http.HttpServletRequest`类。 2. 在您的Servlet或Controller中,获取HttpServletRequest对象。这通常通过方法参数注入或通过HttpSession获取。 ```java @WebServlet("/your-servlet") public class YourServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取HttpServletRequest对象 HttpServletRequest httpRequest = (HttpServletRequest) request; // 或者通过HttpSession获取HttpServletRequest对象 // HttpServletRequest httpRequest = (HttpServletRequest) request.getSession().getAttribute("request"); // 获取cookie数组 Cookie[] cookies = httpRequest.getCookies(); // 遍历cookie数组,查找指定的cookie if (cookies != null) { for (Cookie cookie : cookies) { if (cookie.getName().equals("your_cookie_name")) { // 获取cookie的值 String cookieValue = cookie.getValue(); // 打印cookie的值 System.out.println("Cookie value: " + cookieValue); break; } } } } } ``` 在上述代码中,我们首先使用`HttpServletRequest`对象获取所有的cookies,然后遍历cookies数组以查找特定的cookie。一旦找到了指定的cookie,我们可以使用`getValue()`方法获取其值。 请注意,`getCookies()`方法返回一个`Cookie`对象数组,因此您可以根据需要进行进一步的处理和操作。 希望这可以帮助到您!如果您有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值