返回顶部
首页 > 资讯 > 后端开发 > Python >java web项目Session获取不到问题及解决
  • 509
分享到

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

2024-04-02 19:04:59 509人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录JAVA WEB项目Session获取不到关于session的生命周期前后端分离获取不到session问题解决方案java WEB项目Session获取不到 在servlet类中

java WEB项目Session获取不到

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

关于session的生命周期

Session保存在服务器端。Session在用户第一次访问服务器的时候自动创建。需要注意只有访问jsP、Servlet等程序时才会创建Session,只访问html、IMAGE等静态资源并不会创建Session。如果尚未生成Session,也可以使用request.getSession(true)强制生成Session。

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

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

  • response.encodeRedirectURL(url)用于对sendRedirect方法后的url地址进行重写。
  • response.encodeURL(url)用于对表单action和超链接的url地址进行重写
String url=response.encodeRedirectURL("url");
response.sendRedirect(url);

这样在页面中即可使用

<%=request.getSession().getAttribute("key")%>

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

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

前后端分离的项目,前端Vue,后端SpringBoot,或者Maven项目,生成验证码的时候存了一份到session并存到Redis里,前端调后台注册获取不到session,但当用户从session中取信息的时候发现始终取不到,每次跨域请求时ajax发送的都是新的sessionid,导致无法获取信息

解决方案

前端在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 ServletException {
    }
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        httpservletResponse response = (HttpServletResponse)servletResponse;
        HttpServletRequest request = (HttpServletRequest)servletRequest;
        String origin = request.getHeader("Origin");
        response.setHeader("Access-Control-Allow-Origin", origin);
        response.setHeader("Access-Control-Allow-Methods", "*");
        String headers = request.getHeader("Access-Control-Request-Headers");
         // 支持所有自定义头
        if (!org.springframework.util.StringUtils.isEmpty(headers)) {
            response.setHeader("Access-Control-Allow-Headers", headers);
        }
        response.setHeader("Access-Control-Allow-Credentials", "true");
        response.setHeader("Access-Control-Max-Age", "3600");
        filterChain.doFilter(request, response);
    }
    @Override
    public void destroy() {
    }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: java web项目Session获取不到问题及解决

本文链接: https://lsjlt.com/news/162321.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java web项目Session获取不到问题及解决
    目录java web项目Session获取不到关于session的生命周期前后端分离获取不到session问题解决方案java web项目Session获取不到 在servlet类中...
    99+
    2024-04-02
  • java web项目Session获取不到问题及解决方法
    这期内容当中小编将会给大家带来有关java web项目Session获取不到问题及解决方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。java web项目Session获取不到在servlet...
    99+
    2023-06-26
  • SpringBoot项目找不到javax.servlet.Filter的问题及解决
    目录SpringBoot找不到javax.servlet.Filter的问题启动SpringBoot项目找不到报错这是我配置的(有问题的)正确的配置(在远程maven仓库中搜索的配置...
    99+
    2024-04-02
  • 自定义过滤器获取不到session问题怎么解决
    今天给大家介绍一下自定义过滤器获取不到session问题怎么解决。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。自定义过滤器获取不到session根本原因,多个...
    99+
    2023-06-26
  • session获取不到值如何解决
    如果在session中无法获取到值,可能是由于以下几个原因:1. 会话过期:会话可能已经过期,导致无法获取到值。可以尝试重新登录或延...
    99+
    2023-09-14
    session
  • Java Web项目访问不到html文件怎么解决
    本篇内容介绍了“Java Web项目访问不到html文件怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!踩坑问题和原因踩坑问题由于博主...
    99+
    2023-06-29
  • 怎么解决vuejs获取不到dom问题
    这篇文章主要介绍“怎么解决vuejs获取不到dom问题”,在日常操作中,相信很多人在怎么解决vuejs获取不到dom问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么解决vuejs获取不到dom问题”的疑...
    99+
    2023-06-25
  • 关于自定义过滤器获取不到session问题
    目录自定义过滤器获取不到session问题原因解决办法登录拦截器取到的session为空写了一个拦截器判断有没有登录在另外页面能得到session的值自定义过滤器获取不到sessio...
    99+
    2024-04-02
  • IDEA创建Java Web项目不能及时刷新HTML或JSP页面问题怎么解决
    今天小编给大家分享一下IDEA创建Java Web项目不能及时刷新HTML或JSP页面问题怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收...
    99+
    2023-07-05
  • vue项目部署到非根目录下的问题及解决
    目录问题描述解决方案1、Vue配置2、修改路由vue项目部署在非根目录下的配置版本vue项目配置nginx配置问题描述 同一个生产部署项目,基内外网的访问路径并不相同,内网是基于域名...
    99+
    2024-04-02
  • Springboot项目启动到一半卡住了,不报错问题及解决
    目录项目启动到一半卡住了,不报错无法正常启动很慢但也不报错项目启动到一半卡住了,不报错 今天启动项目时,启动到一半卡住了,不报错,开始我以为是timeout,后来发现不是这个原因。 ...
    99+
    2024-04-02
  • 解决springboot项目找不到resources目录下的资源问题
    springboot项目找不到resources目录下的资源 问题描述: 将老的mvc项目转为boot后找不到resources文件夹下的资源文件 原因: war包采用的是tomca...
    99+
    2024-04-02
  • 解决spring项目找不到Aspect依赖注解的问题
    spring项目找不到Aspect依赖注解 昨天写一个项目的时候在使用Aspect时一直找不到依赖,alt+enter自动添加Maven依赖还是解决不了问题。 在这里记录下,希望能对...
    99+
    2024-04-02
  • maven项目test执行main找不到资源文件的问题及解决
    目录maven项目test执行main找不到资源文件在pom.xml中配置maven项目test编写如下代码测试maven项目test执行main找不到资源文件 在test下直接执行...
    99+
    2024-04-02
  • Vue项目报错:parseComponent问题及解决
    目录Vue项目报错:parseComponent报错内容解决步骤Vue常见错误及解决办法1.在配置路由并引入组件后2.在组件中的标签和样式中图片路径出错时3.在组件中标签没有闭合&n...
    99+
    2024-04-02
  • 解决eclipse启动tomcat时不能加载web项目的问题
    问题描述: eclipse启动tomcat时,不能加载web项目,但是把war包丢进tomcat的webapps下是能正常运行的 解决方式: 右键项目——打开Properties——...
    99+
    2024-04-02
  • 解决vue局部过滤器获取不到this的问题
    目录vue局部过滤器获取不到thisvuefilters为什么获取不到this问题原因解决方法vue 局部过滤器获取不到this data里面加个字段赋值this。 <el-...
    99+
    2024-04-02
  • vue+axios methods方法return取不到值问题及解决
    目录vue+axios methods方法return取不到值原因解决方法vue返回axios的return值,很容易undefined获取axios的return值vue+axio...
    99+
    2022-11-13
    vue axios methods return methods方法return return取不到值
  • java中如何解决web项目上传出现乱码问题
    在一般的web项目中,上传文件和下载文件很常见。但是当上传的文件名中包含中文时,有时会出现乱码问题。要解决这个问题,只需要统一的设置编码集就可以,这个可以通过Filter来实现。在线java视频教程推荐:java在线视频下面是写的Filte...
    99+
    2018-03-30
    java web 上传 乱码
  • SpringbootPostMapping无法获取数据问题及解决
    目录PostMapping无法获取数据问题举例如下Springboot之PostMapping @PostMapping@RequestMappingPostMapping...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作