首页 > 作文

java web项目Session获取不到问题及解决

更新时间:2023-04-04 14:13:58 阅读: 评论:0

目录
java web项目ssion获取不到关于ssion的生命周期前后端分离获取不到ssion问题解决方案

java web项目ssion获取不到

在rvlet类中对ssion进行了设置 但当rvlet跳转到页面时 页面获取不到ssion!!!

关于ssion的生命周期

ssion保存在小苏打的作用与功效服务器端。ssion在用户第一次访五言八句古诗问服务器的时候自动创建。需要注意只有访问jsp、rvlet等程序时才会创建ssion,只访问html、image等静态资源并不会创建ssion。如果尚未生成ssion,也可以使用request.getssion(true)强制生成ssion。

而我们在页面获取不到esion的原因可能是:浏览器禁用了cookie

使用url地址重写即可解决!

respon.encoderedirecturl(url)用于对ndredirect方法后的url地址进行重写。respon.encodeurl(url)用于对表单action和超链接的url地址进行重写
string url=respon.encoderedirecturl("url");respon.ndredirect(url);

这样在页面中即可使用

<%=request.getssion().getattribute("key")%>

来获取我们存储的esion!!!

前后端分离获取不到ssion问题

前后端分离的项目,前端是vue,后端springboot,或者maven项目,生成验证码的时候存了一份到ssion并存到redis里,前端调后台注册获取不到ssion,但当用户从ssion中取信息的时候发现始终取不到,每次跨域春秋末期请求时ajax发送的都是新的ssionid,导致无法获取信息

解决方案

前端在vue的main文件全局添加一下代码:

import axios from 'axios';axios.defaults.withcredentials=true;

后台新增一个过滤器

web.xml文件

<filter> <filter-name>contextfilter</filter-name> <filter-class>com.zl.filter.contextfilter</filter-class></filter><filter-mapping> <filter-name>contextfilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping>
public class contextfilter implements filter {  @override  public void init(filterconfig filterconfig) throws rvletexception {  }  @override  public void dofilter(rvletrequest rvletrequest, rvletrespon rvletrespon, filterchain filterchain) throws ioexception, rvletexception {    httprvletrespon respon = (httprvletrespon)rvletrespon;    httprvletrequest request = (httprvletrequest)rvletrequest;    string origin = request.getheader("origin");    respon.theader("access-control-allow-origin", origin);    respon.theader("access-control-allow-methods", "*");    string headers = request.getheader("access-control-request-headers");    // 支持所有自定义头    if (!org.springframework.util.stringutils.impty(headers)) {      respon.theader("access-control-allow-headers"有名的书法家, headers);    }    respon.theader("access-control-allow-credentials", "true");    respon.theader("access-control-max-age", "3600");    filterchain.dofilte回馈是什么意思r(request, respon);  }  @override  public void destroy() {  }}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。

本文发布于:2023-04-04 14:13:56,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/7469b3edde35a9f731dc7d4be9a9f354.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:java web项目Session获取不到问题及解决.doc

本文 PDF 下载地址:java web项目Session获取不到问题及解决.pdf

下一篇:返回列表
标签:重写   后端   页面   项目
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图