电商商城之实现用户信息在页面显示【将后端查询的数据放到cookie里面】

本文介绍了如何在电商商城中实现在页面上显示用户信息,通过将后端查询到的用户数据存储到Cookie,实现用户登录状态的持久化,确保页面刷新后仍然能显示个人详情。
摘要由CSDN通过智能技术生成

 

    @ApiOperation(value = "用户登陆",notes="用户登陆",httpMethod="POST")
    @PostMapping("/login")
    public JSONResult login(@RequestBody UserBO userBO, HttpServletRequest request, HttpServletResponse response) throws Exception{
        String username=userBO.getUsername();
        String password=userBO.getPassword();
        //1、判断用户名和密码必须不为空
        if(StringUtils.isBlank(username)||
                StringUtils.isBlank(password)){
            return JSONResult.errorMsg("用户名或密码不能为空");
        }
        //2、实现登陆
        Users userResult = userService.queryUserForLogin(username, MD5Utils.getMD5Str(password));
        if(userResult==null){
            return JSONResult.errorMsg("用户名或密码不正确");
        }
        userResult=setNullProperty(userResult);
        //将查询出来的信息设置到cookie里面去保存
        CookieUtils.setCookie(request,response,"user", JsonUtils.objectToJson(userResult));
        return JSONResult.ok(userResult);
    }

    private Users setNullProperty(Users userResult){
        userResult.setPassword(null);
        userResult.setPassword(null);
        userResult.setEmail(null);
        userResult.setCreatedTime(null);
        userResult.setUpdatedTime(null);
        userResult.setBirthday(null);
        return userResult;
    }

 

package com.ljl.utils;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
 
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
 
 
/**
 * @Description: Cookie 工具类
 */
public final class CookieUtils {
 
    final static Logger logger = LoggerFactory.getLogger(CookieUtils.class);
	
	/**
	 * 
	 * @Description: 得到Cookie的值, 不编码
	 * @param request
	 * @param cookieName
	 * @return
	 */
    public static String getCookieValue(HttpServletRequest request, String cookieName) {
        return getCookieValue(request, cookieName, false);
    }
    
    /**
     * 
     * @Description: 得到Cookie的值
     * @param request
     * @param cookieName
     * @param isDecoder
     * @return
     */
    public static String getCookieValue(HttpServletRequest request, String cookieName, boolean isDecoder) {
        Cookie[] cookieList = request.getCookies();
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值