axios跨域请求Java后台出现后台session为空问题

在前后端分离项目中,使用React+Ant前端,Spring MVC+Mybatis+MySQL后端时遇到跨域问题。当axios发起登录请求时,Java后台session为空。问题在于CORS策略导致SESSIONID变化。解决方案包括在后端添加允许跨域的过滤器,设置Access-Control-Allow-Origin头,并确保在需要凭据的请求中正确配置。通过设置axios工具类的withCredentials属性为true,确保每次请求携带相同的sessionid。
摘要由CSDN通过智能技术生成

最近在做一个前后端分离的项目,前端使用React+Ant,后端是Spring mvc+mybatis+mysql,第一次做前后端分离的项目,又第一次用React+Ant,对于一直做后端的我来说,前端各种问题不断,项目时间又急,真是无比煎熬,但是又很享受在解决问题之后的喜悦。
问题描述:登录的时候前台axios跨域请求访问在java后台生成验证码并放到session中

/*
* 生成验证码
 */
@RequestMapping(value="/getVerifyCode",method={RequestMethod.POST,RequestMethod.GET})
public @ResponseBody String getVerifyCode(HttpServletRequest request, HttpServletResponse response){
	//生成随机字串
	String verifyCode = VerifyCodeUtils.generateVerifyCode(4);
	//存入会话session
	HttpSession session = request.getSession();
	//删除以前的
	session.removeAttribute(Constants.VERIFY_CODE);
	session.setAttribute(Constants.VERIFY_CODE, verifyCode.toUpperCase());
	//生成图片
	int w = 100, h = 40;
	VerifyCodeUtils.outputImage(w, h, response.getOutputStream(), verifyCode);
	return verifyCode;
}

然后在登录请求的时候去取,但是取到的session为null

Ht
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值