正常的实现是通过filter过滤器 重新封装request和response来实现,并且在request的封装类中重写getSession方法,
spring-session无缝替换应用服务器的request大概原理是: 1.自定义个Filter,实现doFilter方法 2.继承 HttpServletRequestWrapper 、HttpServletResponseWrapper 类,重写getSession等相关方法(在这些方法里调用相关的 session存储容器操作类)。 3.在 第一步的doFilter中,new 第二步 自定义的request和response的类。并把它们分别传递 到 过滤器链 4.把该filter配置到 过滤器链的第一个位置上
参考:https://www.jianshu.com/p/1001e9e2cfcf
https://www.cnblogs.com/lxyit/p/9672097.html