修改pom.xml添加依赖.
org.springframework.session
spring-session-data-redis
添加配置类 redissessionconfig
@configuration@enableredishttpsession(maxinactiveintervalinseconds = 60)//默认是1800秒过期,这里测试修改为60秒public class redissessionconfig {}
添加一个控制器类 sessioncontroller 来进行测试@restcontrollerpublic class sessioncontroller { @requestmapping("/uid") string uid(httpsession session) { uuid uid = (uuid) session.getattribute("uid"); if (uid == null) { uid = uuid.randomuuid(); } session.setattribute("uid", uid); return session.getid();}}
先访问http://localhost:8083/boot/uid

然后修改配置文件application.yml
spring: profiles: active: test
重新运行idea,test配置文件配置的端口是8085,所以浏览器输入http://localhost:8085/boot/uid

我们看到两个uid是一样的。
在这里我是使用spring boot redis来实现session共享,你还可以配合使用nginx进行负载均衡,同时共享session。
关于nginx可以参考我的另一篇文章:nginx详解-服务器集群spring boot 国际化在spring boot中实现国际化是很简单的的一件事情。
(1)在resources目录下面,我们新建几个资源文件,messages.properties相当于是默认配置的,当其它配置中找不到记录的时候,最后会再到这个配置文件中去查找。
messages.propertiesmessages_en_us.propertiesmessages_zh_cn.properties依次在这三个配置文件中添加如下配置值:
msg=我是中国人msg=i'm chinesemsg=我是中国人添加完之后,会自动将这几个文件包在一块.

需要注意的是这个命名是有讲究的, messages.properties 部分是固定的,不同语言的话,我们可以在它们中间用_区分。为什么是固定的命名,因为源码是硬编码这样命名的。
2)新建一个配置文件 localeconfig.
@configuration
@enableautoconfiguration
@componentscan
public class localeconfig extends webmvcconfigureradapter {
@bean
public localeresolver localeresolver() {
sessionlocaleresolver slr = new sessionlocaleresolver(); // 默认语言 slr.setdefaultlocale(locale.china); return slr; }
@bean
public localechangeinterceptor localechangeinterceptor() {
localechangeinterceptor lci = new localechangeinterceptor(); // 参数名 lci.setparamname("lang"); return lci; }
@override
public void addinterceptors(interceptorregistry registry) {
registry.addinterceptor(localechangeinterceptor());
}
}
3)在控制器中,我们添加测试用的方法.
// i18n
@requestmapping("/")
public string i18n() { return "i18n"; }
@requestmapping("/changesessionlanauage")
public string changesessionlanauage(httpservletrequest request, httpservletresponse response, string lang){
system.out.println(lang);
localeresolver localeresolver = requestcontextutils.getlocaleresolver(request);
if("zh".equals(lang)){
localeresolver.setlocale(request, response, new locale("zh", "cn"));
}else if("en".equals(lang)){
localeresolver.setlocale(request, response, new locale("en", "us"));
}
return "redirect:/";
}
4)添加视图来展示,在templates下新建文件i18n.html,通过#可以直接获取国际化配置文件中的配置项的值。
$title[ discuz_code_82 ]lt;/title></p><p style="margin-top: 0px;margin-bottom: 0px;padding: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important"></head></p><p style="margin-top: 0px;margin-bottom: 0px;padding: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important"><body></p><p style="margin-top: 0px;margin-bottom: 0px;padding: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important"> <a href="/changesessionlanauage?lang=en">english(us)</a></p><p style="margin-top: 0px;margin-bottom: 0px;padding: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important"> <a href="/changesessionlanauage?lang=zh">简体中文</a><br /></p><p style="margin-top: 0px;margin-bottom: 0px;padding: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important"> <h3 th:text="#{msg}"></h3><h4 th:text="${message}"></h4></p><p style="margin-top: 0px;margin-bottom: 0px;padding: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important"></body></p><p style="margin-top: 0px;margin-bottom: 0px;padding: 0px;max-width: 100%;clear: both;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important"></html></p></section></section></section><p><br/></p><p style="margin-top: 0px;margin-bottom: 0px;padding: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgb(51, 51, 51);font-family: 微软雅黑;font-variant-numeric: normal;font-variant-east-asian: normal;letter-spacing: 0.544px;line-height: 25.6px;text-align: justify;white-space: normal;widows: 1;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important"><br style=";padding: 0px;max-width: 100%;box-sizing: border-box !important;word-wrap: break-word !important"/></p><p style="margin-top: 0px;margin-bottom: 0px;padding: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgb(51, 51, 51);font-family: 微软雅黑;font-variant-numeric: normal;font-variant-east-asian: normal;letter-spacing: 0.544px;line-height: 25.6px;white-space: normal;widows: 1;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important"><span style=";padding: 0px;max-width: 100%;box-sizing: border-box !important;word-wrap: break-word !important;font-size: 15px"> </span></p><p style="margin-top: 0px;margin-bottom: 0px;padding: 0px;max-width: 100%;clear: both;min-height: 1em;color: rgb(51, 51, 51);font-family: 微软雅黑;font-variant-numeric: normal;font-variant-east-asian: normal;letter-spacing: 0.544px;line-height: 25.6px;white-space: normal;widows: 1;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important"><span style=";padding: 0px;max-width: 100%;box-sizing: border-box !important;word-wrap: break-word !important;font-size: 15px"><img class=" __bg_gif" data-ratio="0.7327586206896551" data-src="https://mmbiz.qpic.cn/mmbiz_gif/zkjvam7m5bqkwlvcj0tl6b9zhvxcyxthdcomw9ksvf4tmiajnjwgrib0mdrycaeq4d9fn2vgd2e0czxllnjgxjug/640?wx_fmt=gif" data-type="gif" data-w="348" _width="348px" src="http://guoxinan.hntidu.com:99/u/cms/www/201908/24141944he4j.jpg" data-order="0" data-fail="0" style="padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; height: auto !important; width: 348px !important; visibility: visible !important;" width="450" height="331" border="0" vspace="0" title="" alt=""/></span></p><p style="text-align: center;"><img src="/u/cms/www/201908/24142518b8b4.jpg" title="640_wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1.webp.jpg" alt="640_wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1.webp.jpg" style="max-width: 100%; width: 640px; height: 816px;" width="640" height="816" border="0" vspace="0"/></p>
</div>
<div class="data_href">
<p>上一篇:<a href="http://www.gxaedu.com/jswz/745.jhtml">干货 | 不知道测试用例怎么写?别急!这...</a></p>
<p>下一篇:<a href="http://www.gxaedu.com/jswz/747.jhtml">油腻大叔教你开启小程序的隐藏模式小游戏</a></p>
</div>
</div>
<div class="a_star_cont_left_back"></div>
<div class="contcat" style="padding-bottom: 0">
<div class="ac_head">
<div class="linke"></div>
<p>相关推荐 </p>
</div>
<div class="a_star_cont_left_recommended">
<a href="http://www.gxaedu.com/jswz/1202.jhtml"> <div class="a_star_cont_left_recommended_img background" style="background-image: url(/uploads/image/ucw202007/2914150937l3.jpg);">
</div> </a>
<a href="http://www.gxaedu.com/jswz/1177.jhtml"> <div class="a_star_cont_left_recommended_img background" style="background-image: url(/uploads/image/ucw202004/24112353tkdr.jpg);">
</div> </a>
<a href="http://www.gxaedu.com/jswz/1172.jhtml"> <div class="a_star_cont_left_recommended_img background" style="background-image: url(/uploads/image/ucw202003/10164651ymut.jpg);">
</div> </a>
<a href="http://www.gxaedu.com/jswz/652.jhtml"> <div class="a_star_cont_left_recommended_img background" style="background-image: url(/uploads/image/ucw201908/30175906iipp.jpg);">
</div> </a>
<a href="http://www.gxaedu.com/jswz/712.jhtml"> <div class="a_star_cont_left_recommended_img background" style="background-image: url(/uploads/image/ucw201908/30175922x6xk.jpg);">
</div> </a>
<a href="http://www.gxaedu.com/jswz/697.jhtml"> <div class="a_star_cont_left_recommended_img background" style="background-image: url(/uploads/image/ucw201908/30175943kp9a.jpg);">
</div> </a>
</div>
</div>
</div>
<div class="a_star_cont_rig">
<div class="a_star_cont_rig_new" style="margin: 0">
<div class="loping">
<div class="ac_head">
<div class="linke"></div>
<p>最新文章
<span><a href="/gxadt/index.jhtml" target="_blank">更多</a></span>
</p>
</div>
<ul style="border-top:1px solid #999" class="new_ul">
<li > <a href="http://www.gxaedu.com/gxadt/1207.jhtml" target="_blank">国家发改委调研组一行到国信安学校调研就业培训工作</a></li>
<li > <a href="http://www.gxaedu.com/gxadt/1209.jhtml" target="_blank">中国电科举办第三届网络安全大赛暨网络安全培训 | 育新</a></li>
<li > <a href="http://www.gxaedu.com/gxadt/1187.jhtml" target="_blank">开学第一课 |校长寄语:砥砺前行 勇攀高峰</a></li>
<li > <a href="http://www.gxaedu.com/gxadt/1181.jhtml" target="_blank">官宣 | 国信安学校重磅升级打造百杰学员评估体系</a></li>
<li > <a href="http://www.gxaedu.com/gxadt/1206.jhtml" target="_blank">国信安国企办学那些事儿!为学员提供哪些服务和保障?</a></li>
</ul>
</div>
</div>
<div class="a_star_cont_rig_new" style="padding-bottom: 0">
<div class="loping">
<div class="ac_head">
<div class="linke"></div>
<p>公开课 </p>
</div>
<div class="swiper-container" id="detalis_pub">
<div class="swiper-wrapper">
<div class="swiper-slide">
<a href="http://ke.gxaedu.com/course/56" target="_blank">
<div class="div">
<img src="/u/cms/www/201908/25133038k5nf.jpg" alt="软件测试(loadrunner三朵花之“脚本”花-vug)">
<p class="title">软件测试(loadrunner三朵花之“脚本”花-vug)</p>
<p class="dis">讲师:李老师 <span> 开课时间:2019-08-30</span> </p>
</div>
</a>
</div>
<div class="swiper-slide">
<a href="http://ke.gxaedu.com/course/98" target="_blank">
<div class="div">
<img src="/u/cms/www/201908/2320215790vt.png" alt="ps合成-1小时快速学会明星人像合成海报">
<p class="title">ps合成-1小时快速学会明星人像合成海报</p>
<p class="dis">讲师:杨老师 <span> 开课时间:2019-08-11</span> </p>
</div>
</a>
</div>
</div>
<div class="swiper-pagination"></div>
</div>
</div>
</div>
<a href="https://tb.53kf.com/code/client/10050041/1" target="_blank">
<img src="/r/cms/www/guoxinan/bjtidu/img/ac/uifin11.jpg" alt="" class="uifin" style="margin-top: 15px">
</a>
<div class="a_star_cont_rig_new">
<div class="loping">
<div class="ac_head">
<div class="linke"></div>
<p>开班时间
<span><a href="/kcpx/index.jhtml" target="_blank">更多</a></span>
</p>
</div>
<ul class="time new_ul">
<li>
<div class="name">
ui设计就业班
</div>
<div class="time">
2020-09-21
</div>
<div class="but">
<a href="https://tb.53kf.com/code/client/10050041/1" target="_blank"> <button> 立即咨询</button></a>
</div>
</li>
<li>
<div class="name">
web前端就业班
</div>
<div class="time">
2020-09-21
</div>
<div class="but">
<a href="https://tb.53kf.com/code/client/10050041/1" target="_blank"> <button> 立即咨询</button></a>
</div>
</li>
<li>
<div class="name">
java就业班
</div>
<div class="time">
2020-09-21
</div>
<div class="but">
<a href="https://tb.53kf.com/code/client/10050041/1" target="_blank"> <button> 立即咨询</button></a>
</div>
</li>
<li>
<div class="name">
软件测试就业班
</div>
<div class="time">
2020-09-21
</div>
<div class="but">
<a href="https://tb.53kf.com/code/client/10050041/1" target="_blank"> <button> 立即咨询</button></a>
</div>
</li>
<li>
<div class="name">
web前端基础班
</div>
<div class="time">
2020-09-21
</div>
<div class="but">
<a href="https://tb.53kf.com/code/client/10050041/1" target="_blank"> <button> 立即咨询</button></a>
</div>
</li>
</ul>
</div>
</div>
<div class="a_star_cont_rig_new" style="padding-bottom: 0">
<div class="loping">
<div class="ac_head">
<div class="linke"></div>
<p>视频教程 </p>
</div>
<div class="swiper-container" id="detalis_pub1">
<div class="swiper-wrapper">
<div class="swiper-slide">
<a href="http://ke.gxaedu.com/course/186" target="_blank">
<div class="div">
<img src="/u/cms/www/201908/23204606kdlu.jpg" alt="">
<div class="fig">
webpack4入门到进阶
</div>
</div>
</a>
</div>
<div class="swiper-slide">
<a href="http://ke.gxaedu.com/course/221" target="_blank">
<div class="div">
<img src="/u/cms/www/201908/23205145kjr7.jpg" alt="">
<div class="fig">
javase入门基础语法
</div>
</div>
</a>
</div>
</div>
<div class="swiper-pagination"></div>
</div>
</div>
</div>
<div class="a_star_cont_rig_new" style="padding-bottom: 0">
<div class="loping">
<div class="ac_head">
<div class="linke"></div>
<p>优秀作品 </p>
</div>
<a href="http://www.gxaedu.com/javazp/591.jhtml" target="_blank">
<div class="acc_img" style="margin:20px auto">
<img src="/u/cms/www/201908/301833058uw0.png" alt="">
<div>
<p class="title">bbd-sms系统</p>
<p class="dis">浏览量:</p>
</div>
</div>
</a>
<a href="http://www.gxaedu.com/javazp/590.jhtml" target="_blank">
<div class="acc_img" style="margin:20px auto">
<img src="/u/cms/www/201908/30183457v6c6.jpg" alt="">
<div>
<p class="title">汽车4s店销售系统</p>
<p class="dis">浏览量:</p>
</div>
</div>
</a>
</div>
</div>
<div class="a_star_cont_rig_new">
<div class="loping">
<div class="ac_head">
<div class="linke"></div>
<p>更多明星学员
<span><a href="/mxxy/index.jhtml" target="_blank">更多</a></span>
</p>
</div>
<a href="http://www.gxaedu.com/mxxy/1205.jhtml" target="_blank">
<div class="details_celebrity">
<div class="left">
<img src="/u/cms/www/202008/25112057c28h.jpg" alt="">
</div>
<div class="rig">
<p class="title">在国信安学前端做项目是一种什么样的体验,听听他们怎么说</p>
<p class="dis">班级:220部ui </p>
<p class="dis">薪资: </p>
</div>
</div>
</a>
<a href="http://www.gxaedu.com/mxxy/1203.jhtml" target="_blank">
<div class="details_celebrity">
<div class="left">
<img src="/u/cms/www/202008/12102742izx8.jpg" alt="">
</div>
<div class="rig">
<p class="title">宅男刘同学:和这帮人一起学ui设计让我热血沸腾!</p>
<p class="dis">班级:220部ui </p>
<p class="dis">薪资: </p>
</div>
</div>
</a>
</div>
</div>
</div> </div>
</div>
</div>
<footer>
<script>(function() {var _53code = document.createelement("script");_53code.src = "https://tb.53kf.com/code/code/10050041/1";var s = document.getelementsbytagname("script")[0]; s.parentnode.insertbefore(_53code, s);})();</script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createelement("script");
hm.src = "https://hm.baidu.com/hm.js?9b15dbf99ebcfd94db4ac161c45325c1";
var s = document.getelementsbytagname("script")[0];
s.parentnode.insertbefore(hm, s);
})();
</script>
<div class="href maxwidth">
<p>皇冠盘网址的友情链接
<img src="/r/cms/www/guoxinan/bjtidu/img/121.png" />
</p>
<ul>
<li><a href="http://ke.gxaedu.com/" target="_blank" onclick="$.get('/friendlink_view.jspx?id=1')"
target="_blank">国信安网校平台</a></li>
<li><a href="http://bbs.gxaedu.com/" target="_blank" onclick="$.get('/friendlink_view.jspx?id=2')"
target="_blank">技术交流论坛</a></li>
<li><a href="http://www.gxaedu.com/" target="_blank" onclick="$.get('/friendlink_view.jspx?id=3')"
target="_blank">国信安皇冠盘网址官网</a></li>
<li><a href="http://www.westsec.com.cn/" target="_blank" onclick="$.get('/friendlink_view.jspx?id=4')"
target="_blank">国信安基地</a></li>
<li><a href="https://www.zhihu.com/org/guo-xin-an-82/activities" target="_blank" onclick="$.get('/friendlink_view.jspx?id=5')"
target="_blank">国信安知乎专栏</a></li>
</ul>
</div>
<div class="footer_back" style="background: #3e3e3e">
<div>
<div class="footer_as maxwidth">
<div class="footer_box">
<div class="float">
<ul>
<li class="active">精品课程</li>
<a target="_blank" href="/javapx/index.jhtml">
<li>java培训</li>
</a>
<a target="_blank" href="/webqdpx/index.jhtml">
<li>web前端培训</li>
</a>
<a target="_blank" href="/uisjpx/index.jhtml">
<li>ui设计培训</li>
</a>
<a target="_blank" href="/rjcspx/index.jhtml">
<li>软件测试培训</li>
</a>
</ul>
<ul>
<a target="_blank" href="/gywm2/index.jhtml">
<li class="active">关于皇冠盘网址</li>
</a>
<a target="_blank" href="/gxadt/index.jhtml">
<li>公司动态</li>
</a>
<a target="_blank" href="https://tb.53kf.com/code/client/10050041/1">
<li>联系皇冠盘网址</li>
</a>
<a target="_blank" href="https://tb.53kf.com/code/client/10050041/1">
<li>校企合作</li>
</a>
<a target="_blank" href="https://tb.53kf.com/code/client/10050041/1">
<li>网站地图</li>
</a>
</ul>
<ul>
<li class="active">大家关注</li>
<a href="https://tb.53kf.com/code/client/10050041/1" target="_blank"> <li>乘车路线</li></a>
<a href="https://tb.53kf.com/code/client/10050041/1" target="_blank"> <li>基地环境</li></a>
<a target="_blank" href="/bmlc.jhtml">
<li>报名流程</li>
</a>
<a target="_blank" href="/cjwt2/index.jhtml">
<li>常见问题</li>
</a>
</ul>
<cf class="cf"></cf>
</div>
<div class="float" style="width: 40%">
<div class="cont">
<p class="title">联系皇冠盘网址/contact us</p>
<div class="list">
<img src="/r/cms/www/guoxinan/bjtidu/img/f.png" alt="">
<p>400-9988-316 </p>
</div>
<div class="list">
<img src="/r/cms/www/guoxinan/bjtidu/img/f2.png" alt="" style="top:9px;">
<p>gxabase@westsec.com.cn </p>
</div>
<div class="list">
<img src="/r/cms/www/guoxinan/bjtidu/img/f3.png" alt="">
<p>成都市高新区天府二街云华路333号 ( 国家西部信息产业基地 ) </p>
</div>
</div>
</div>
<div class="float">
<img src="/r/cms/www/guoxinan/bjtidu/img/code.png" class="ac4_code"/>
</div>
</div>
</div>
</div>
</div>
<div class="fig maxwidth">
<p><a href="http://www.beian.miit.gov.cn" target="_blank">蜀icp备11000634号-10</a> 成都国信安信息产业基地有限公司 最新皇冠会员网址的版权所有 最新皇冠会员网址 copyright©2002-2017 gxaedu.cn,all rights reserved</p>
</div>
</footer>
<script type="text/javascript" src="/r/cms/www/guoxinan/bjtidu/js/remconversion.js"></script>
<script type="text/javascript" src="/r/cms/www/guoxinan/bjtidu/js/parameter.js"></script>
<script type="text/javascript" src="/r/cms/www/guoxinan/bjtidu/js/jquery.pagination.min.js"></script>
<script>
$(function() {
$("#pagination2").pagination({
currentpage: 1,
totalpage: 2,
isshow: false,
count: 2,
prevpagetext: "< 上一页",
nextpagetext: "下一页 >",
callback: function(current) {
$("#current2").text(current)
}
});
});
$('.a_star_cont_list').hover(function() {
$(this).children('.text').children('.pio').show()
}, function() {
$(this).children('.text').children('.pio').hide()
})
var swiper = new swiper('#detalis_pub', {
pagination: {
el: '.swiper-pagination',
clickable: true,
},
});
var swiper = new swiper('#detalis_pub1', {
pagination: {
el: '.swiper-pagination',
clickable: true,
},
});
</script>
</body>
</html>