springboot 实现不同context-path下的会话共享

目录
  • 实现不同context-path下的会话共享
    • 目标描述
  • 关于context-path的问题
    • 端口设置
    • 常用配置
    • ContextPath配置

实现不同context-path下的会话共享

目标描述

使用nginx,相同域(地址:端口)下的不同项目(context-path)实现redis-session会话共享

    @Bean
    public CookieSerializer cookieSerializer() {
        DefaultCookieSerializer serializer = new DefaultCookieSerializer();
        serializer.setCookieName("SESSION");
        serializer.setCookiePath("/");
        serializer.setDomainNamePattern("^.+?\\.(\\w+\\.[a-z]+)$");
        return serializer;
    }

关于context-path的问题

本文来说下springboot中关于context-path的几点说明

端口设置

Spring boot 默认端口是8080,如果想要进行更改的话,只需要修改applicatoin.properties文件,在配置文件中加入:

server.port= 9090

常用配置

########################################################
###EMBEDDED SERVER CONFIGURATION (ServerProperties)
########################################################
#server.port=8080
#server.address= # bind to a specific NIC
#server.session-timeout= # session timeout in seconds
#the context path, defaults to '/'
#server.context-path=/spring-boot
#server.servlet-path= # the servlet path, defaults to '/'
#server.tomcat.access-log-pattern= # log pattern of the access log
#server.tomcat.access-log-enabled=false # is access logging enabled
#server.tomcat.protocol-header=x-forwarded-proto # ssl forward headers
#server.tomcat.remote-ip-header=x-forwarded-for
#server.tomcat.basedir=/tmp # base dir (usually not needed, defaults to tmp)
#server.tomcat.background-processor-delay=30; # in seconds
#server.tomcat.max-threads = 0 # number of threads in protocol handler
#server.tomcat.uri-encoding = UTF-8 # character encoding to use for URL decoding

ContextPath配置

Spring boot默认是/ ,这样直接通过http://ip:port/就可以访问到index页面,如果要修改为http://ip:port/path/ 访问的话,那么需要在Application.properties文件中加入server.context-path = /你的path,比如:spring-boot,那么访问地址就是http://ip:port/spring-boot 路径。

spring boot 2.0.0的ContextPath配置有变化: server.servlet.context-path=/spring-boot

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

(0)

相关推荐

  • Springboot 2.x中server.servlet.context-path的运用详解

    今天在开发项目的时候遇到了请求不通API的问题,最开始以为是server.servlet.context-path配置导致的问题,最终发现是由于AWS端口未开放/监听导致的connection refuse.虽然如此,仍然想记录一下server.servlet.context-path的作用. 功能 这个配置能够设置项目中的所有API的上下文路径(URL的一部分),与@RequestMapping有异曲同工之妙. 我们知道,@RequestMapping能够在API方法层级声明,同时能够在Con

  • Springboot实现多服务器session共享

    本文实例为大家分享了springboot实现多服务器session共享的具体代码,供大家参考,具体内容如下 环境: springboot:2.0.4 redis:3.2.100 jdk:1.8 eclipse:4.9.0 1.原理 正常情况下,HTTPSession是通过servlet容器创建并管理的,创建成功后都保存在内存中,如果开发者需要对项目进行横向拓展搭建集群,那么可以用一些硬件和软件工具来做负载均衡,此时,来自同一用户的HTTP请求有可能会被发送到不同的实例上去,如何保证各个实例之间的

  • 基于springboot 配置文件context-path的坑

    目录 配置文件context-path的坑 context-path配置失效问题 配置文件context-path的坑 context-path: /manage 这个配置加入后会导致访问spring的页面都需要加这个/manage前缀,这个配置的作用是区分与spring重名的页面 context-path配置失效问题 springboot升级到2.0版本后 server.context-path就升级成了server.servlet.context-path:"/url" 以上为个人

  • springboot 实现不同context-path下的会话共享

    目录 实现不同context-path下的会话共享 目标描述 关于context-path的问题 端口设置 常用配置 ContextPath配置 实现不同context-path下的会话共享 目标描述 使用nginx,相同域(地址:端口)下的不同项目(context-path)实现redis-session会话共享     @Bean     public CookieSerializer cookieSerializer() {         DefaultCookieSerializer

  • 关于Springboot在新增和修改下上传图片并显示的问题

    解决的问题: 本篇文章除了解决上传图片并显示的问题,还有就是在新增和修改下的图片上传如何处理.在这里新增和修改的页面是同一页面,修改的时候,将会把值带过去,但是由于类型为file的input标签是不能给其赋值的,那么若不改变原来图片,但是input标签中又没有值,这时怎么处理呢? 一 运行环境 开发工具:IDEA 后端:Springboot+JPA 前端:thymeleaf+semantic UI 二 代码实现 springboot中已经内嵌了上传图片的依赖包,因此不需要再添加额外依赖. 1 前

  • Web应用中设置Context Path案例详解

    URL:http://hostname.com/contextPath/servletPath/pathInfo Jetty 如果没有contextPath,则默认使用root上下文,root上下文的路径为"/". warName.war 在没有XML IoC文件的情况下: 如果WAR文件名是myapp.war,那么上下文路径是:/myapp: 如果WAR文件名是ROOT.war,那么上下文路径是:/: 如果WAR文件名是ROOT-foobar.war,那么上下文路径是/,虚拟host

  • SpringBoot中的Condition包下常用条件依赖注解案例介绍

    目录 一.@ConditionalOnClass() Spring中存在指定class对象时,注入指定配置 1.首先引入pom依赖 2.实体类测试对象 3.定义@ConditionalOnClass()配置类 4.启动类测试 二.注入指定配置 1.首先引入pom依赖 2.实体类测试对象 3.定义@ConditionalOnMissingClass()配置类 4.启动类测试 三.加载指定配置 1.首先引入pom依赖 2.实体类测试对象 2.1 引入条件判断实体类 3.定义@ConditionalO

  • Android中Volley框架下保持会话方法

    公司经理把我拉出来,死马当活马医,做一个安卓app,作为刚毕业几个月且只是培训了几个月的小白来说,这无疑是一个非常大的挑战,当然最大的挑战不是这个,最大的挑战时两个周做出来.这是最蛋疼的,说实话,对于有两三年的开发经验的人来说,两个周开发一个项目很简单,说不定还有很多时间用来干别的. 于是一上来就把自己给难住了,登陆还是很好做的,只要验证返回的信息就可以跳转,但是在接下来后面的数据接口连接的时候各种报错,整了两天,查了很多信息,还接受了公司老人的嘲讽和谩骂终于做出来了. 这个是基于session

  • Springboot 项目读取Resources目录下的文件(推荐)

    需求描述:企业开发过程中,经常需要将一些静态文本数据放到Resources目录下,项目启动时或者程序运行中,需要读取这些文件. 读取Resources目录下文件的方法 /** * @Description: 读取resources 目录下的文件 * @Author: ljj * @CreateDate: 2020/11/3 17:20 * @UpdateUser: * @UpdateDate: * @UpdateReakem * @param filePath * @Return: java.l

  • SpringBoot深入分析讲解监听器模式下

    我们来以应用启动事件:ApplicationStartingEvent为例来进行说明: 以启动类的SpringApplication.run方法为入口,跟进SpringApplication的两个同名方法后,我们会看到主要的run方法,方法比较长,在这里只贴出与监听器密切相关的关键的部分: SpringApplicationRunListeners listeners = getRunListeners(args); listeners.starting(); 我们跟进这个starting方法,

  • Springboot配置security basic path无效解决方案

    问题 springcloud 版本 为 Finchley.RELEASE springboot 版本为 2.0.3.RELEASE 现在有需求,/swagger-ui.html 页面需要添加登录认证,但是本来的接口不需要登录认证 升级springboot之前的做法是直接在application.yml 文件中添加以下配置: security: basic: enabled: true # 启用SpringSecurity的安全配置项 path: /swagger-ui.html user: na

  • JSP实现浏览器关闭cookies情况下的会话管理

    通常,会话管理是通过服务器将 Session ID 作为一个 cookie 存储在用户的 Web 浏览器中来唯一标识每个用户会话.如果浏览器不支持 cookies,或者将浏览器设置为不接受 cookies,我们可以通过 URL 重写来实现会话管理. 实质上 URL 重写是通过向 URL 连接添加参数,并把 session ID 作为值包含在连接中.然而,为使这生效,你需要为你的 servlet 响应部分的每个连接添加 session ID . 把 session ID 加到一个连接可以使用一对方

  • springBoot快速访问工程目录下的静态资源

    目录 1.牛刀小试 1.1 图片静态资源的访问 1.2 为静态资源添加访问前缀 1.3 WelCome Page 的奇妙跳转 2.那么,SpringBoot是如何做到的呢? 1.牛刀小试 1.1 图片静态资源的访问 先看官方怎么说,点击链接,打开SpringBoot官方文档 ​ 文档中明确指出:/static(or/publicor/resourcesor/META-INF/resources) ,这几个目录是SpringBoot放置静态资源的目录,只要把静态资源放到这几个目录下,就能直接访问到

随机推荐