10.1 分布式集群环境下的集成(同域名、同项目)
10.1.1 创建SpringBoot的web支持项目07-springboot-session
创建项目
10.1.2 在pom.xml文件中添加依赖
org.springframework.session spring-session-core 2.1.2.RELEASE org.springframework.session spring-session-data-redis 2.1.1.RELEASE org.springframework.boot spring-boot-starter-data-redis
10.1.3 在application.properties中配置端口号、上下文根及Redis连接
# 配置内嵌tomcat服务器信息server.port=8080server.servlet.context-path=/A07-springboot-session#配置redis连接信息spring.redis.host=192.168.132.128spring.redis.port=6379spring.redis.password=123456spring.session.store-type=redis
10.1.4 创建SessionController向session中存取数据
代码示例
package com.bjpowernode.springboot.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpSession;@RestControllerpublic class SessionController { @GetMapping("/boot/set") public String setSession(HttpSession session){ session.setAttribute("url","http://www.bjpowernode.com"); return "set session ok"; } @GetMapping("/boot/get") public String getSession(HttpSession session){ String url= (String) session.getAttribute("url"); return url; }}
10.1.5 让项目使用SpringSession
- 在SpingBoot程序入口类Application上@EnableRedisHttpSession注解
package com.bjpowernode.springboot;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;@SpringBootApplication@EnableRedisHttpSessionpublic class A07SpringbootSessionApplication { public static void main(String[] args) { SpringApplication.run(A07SpringbootSessionApplication.class, args); }}
注解@EnableRedisHttpSession启用redis作为session容器
- 在application.properties配置文件中加入(可选):spring.session.store-type=redis
10.1.6 启动Redis服务
10.1.7 启动SpringBoot程序测试
设置地址:
获取地址:
- 通过Redis Desktop Manager查看Redis库中信息
- 修改服务器端口号,通过jar包的方式启动9090端口的tomcat,通过浏览器访问从session中取数据