From 443b1b4b3762162beaf907c8bfb6f320e583655e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=BD=97=E7=A5=A5?= <1366971433@qq.com>
Date: Mon, 14 Jan 2019 01:02:37 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=94=A8=E4=BE=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 14 +-
distributed solution/msm/pom.xml | 67 ++++++
.../main/java/com/heibaiying/bean/User.java | 17 ++
.../controller/LoginController.java | 38 ++++
.../src/main/resources/springApplication.xml | 29 +++
.../msm/src/main/webapp/WEB-INF/jsp/home.jsp | 11 +
.../msm/src/main/webapp/WEB-INF/jsp/index.jsp | 14 ++
.../msm/src/main/webapp/WEB-INF/web.xml | 42 ++++
.../spring-boot-session/README.md | 152 ++++++++++++++
.../spring-boot-session/pom.xml | 60 ++++++
.../SpringBootSessionApplication.java | 16 ++
.../com/heibaiying/springboot/bean/User.java | 17 ++
.../controller/LoginController.java | 37 ++++
.../src/main/resources/application.yml | 21 ++
.../src/main/resources/templates/home.ftl | 10 +
.../src/main/resources/templates/index.ftl | 13 ++
.../SpringBootSessionApplicationTests.java | 17 ++
distributed solution/spring-session/README.md | 189 +++++++++++++++++
distributed solution/spring-session/pom.xml | 82 ++++++++
.../main/java/com/heibaiying/bean/User.java | 17 ++
.../controller/LoginController.java | 38 ++++
.../src/main/resources/redis.properties | 8 +
.../src/main/resources/spring-session.xml | 51 +++++
.../src/main/resources/springApplication.xml | 31 +++
.../src/main/webapp/WEB-INF/jsp/home.jsp | 11 +
.../src/main/webapp/WEB-INF/jsp/index.jsp | 14 ++
.../src/main/webapp/WEB-INF/web.xml | 54 +++++
pictures/eureka-application.png | Bin 0 -> 12316 bytes
pictures/eureka-server-client.png | Bin 0 -> 12466 bytes
pictures/spring-boot-session-8080.png | Bin 0 -> 11351 bytes
pictures/spring-boot-session-8090.png | Bin 0 -> 11215 bytes
pictures/spring-boot-session-app1.png | Bin 0 -> 46851 bytes
pictures/spring-boot-session-app2.png | Bin 0 -> 48036 bytes
pictures/spring-boot-session.png | Bin 0 -> 17644 bytes
pictures/spring-cloud-eureka-cluster.png | Bin 0 -> 9154 bytes
pictures/spring-cloud-eureka.png | Bin 0 -> 7877 bytes
pictures/spring-session-8080.png | Bin 0 -> 12394 bytes
pictures/spring-session-8090.png | Bin 0 -> 12319 bytes
pictures/spring-session-tomcat01.png | Bin 0 -> 46711 bytes
pictures/spring-session-tomcat02.png | Bin 0 -> 46846 bytes
pictures/spring-session.png | Bin 0 -> 17286 bytes
.../spring-cloud-eureka-cluster/README.md | 197 +++++++++++++++++-
spring-cloud/spring-cloud-eureka/README.md | 98 +++++++++
43 files changed, 1353 insertions(+), 12 deletions(-)
create mode 100644 distributed solution/msm/pom.xml
create mode 100644 distributed solution/msm/src/main/java/com/heibaiying/bean/User.java
create mode 100644 distributed solution/msm/src/main/java/com/heibaiying/controller/LoginController.java
create mode 100644 distributed solution/msm/src/main/resources/springApplication.xml
create mode 100644 distributed solution/msm/src/main/webapp/WEB-INF/jsp/home.jsp
create mode 100644 distributed solution/msm/src/main/webapp/WEB-INF/jsp/index.jsp
create mode 100644 distributed solution/msm/src/main/webapp/WEB-INF/web.xml
create mode 100644 distributed solution/spring-boot-session/README.md
create mode 100644 distributed solution/spring-boot-session/pom.xml
create mode 100644 distributed solution/spring-boot-session/src/main/java/com/heibaiying/springboot/SpringBootSessionApplication.java
create mode 100644 distributed solution/spring-boot-session/src/main/java/com/heibaiying/springboot/bean/User.java
create mode 100644 distributed solution/spring-boot-session/src/main/java/com/heibaiying/springboot/controller/LoginController.java
create mode 100644 distributed solution/spring-boot-session/src/main/resources/application.yml
create mode 100644 distributed solution/spring-boot-session/src/main/resources/templates/home.ftl
create mode 100644 distributed solution/spring-boot-session/src/main/resources/templates/index.ftl
create mode 100644 distributed solution/spring-boot-session/src/test/java/com/heibaiying/springboot/SpringBootSessionApplicationTests.java
create mode 100644 distributed solution/spring-session/README.md
create mode 100644 distributed solution/spring-session/pom.xml
create mode 100644 distributed solution/spring-session/src/main/java/com/heibaiying/bean/User.java
create mode 100644 distributed solution/spring-session/src/main/java/com/heibaiying/controller/LoginController.java
create mode 100644 distributed solution/spring-session/src/main/resources/redis.properties
create mode 100644 distributed solution/spring-session/src/main/resources/spring-session.xml
create mode 100644 distributed solution/spring-session/src/main/resources/springApplication.xml
create mode 100644 distributed solution/spring-session/src/main/webapp/WEB-INF/jsp/home.jsp
create mode 100644 distributed solution/spring-session/src/main/webapp/WEB-INF/jsp/index.jsp
create mode 100644 distributed solution/spring-session/src/main/webapp/WEB-INF/web.xml
create mode 100644 pictures/eureka-application.png
create mode 100644 pictures/eureka-server-client.png
create mode 100644 pictures/spring-boot-session-8080.png
create mode 100644 pictures/spring-boot-session-8090.png
create mode 100644 pictures/spring-boot-session-app1.png
create mode 100644 pictures/spring-boot-session-app2.png
create mode 100644 pictures/spring-boot-session.png
create mode 100644 pictures/spring-cloud-eureka-cluster.png
create mode 100644 pictures/spring-cloud-eureka.png
create mode 100644 pictures/spring-session-8080.png
create mode 100644 pictures/spring-session-8090.png
create mode 100644 pictures/spring-session-tomcat01.png
create mode 100644 pictures/spring-session-tomcat02.png
create mode 100644 pictures/spring-session.png
diff --git a/README.md b/README.md
index 31647a8..ca0beb3 100644
--- a/README.md
+++ b/README.md
@@ -82,16 +82,12 @@ spring-cloud:Finchley.SR2
-## 4.分布式session和分布式事务
+## 4.spring分布式session和分布式事务
-| 描述 | sample | 官方文档 |
-| ---------------------------------------- | ---------------------------- | ------------------------------------------------------------ |
-| 分布式session解决方案(一) | spring session | [spring session](https://spring.io/projects/spring-session#learn) |
-| 分布式session 解决方案(二) | spring boot + spring session | |
-| 分布式session 解决方案(三) | memcached-session-manager | |
-| 分布式事务解决方案(一)——JPA | 待补充 | |
-| 分布式事务解决方案(二)——Spring事务同步 | 待补充 | |
-| 分布式事务解决方案(三)——链式事务 | 待补充 | |
+| sample | 描述 | 官方文档 |
+| ---------------------------- | -------------------------- | ------------------------------------------------------------ |
+| spring-session | spring 分布式 session | [spring session](https://spring.io/projects/spring-session#learn) |
+| spring boot + spring session | spring boot 分布式 session | [spring session](https://spring.io/projects/spring-session#learn) |
diff --git a/distributed solution/msm/pom.xml b/distributed solution/msm/pom.xml
new file mode 100644
index 0000000..b45a1b8
--- /dev/null
+++ b/distributed solution/msm/pom.xml
@@ -0,0 +1,67 @@
+
+
`yZ-RjCF1UrJHqg!ew1+4XZKRz6a3MvFY-)NtJaIa7)#2Ksi^20)(%H zMn?!Kel@;$nju={vaUu%Ls@(r1c=^)R@8m3YhXr@&EP=o1zf^Mn`WGHcc1c<%l1`W zi#K7VLyX&!HkW<9sm{!LS$mx8MfuFB3kEJJX5IAZA?4}rMB+j#T_}XU;{fcEMUp7S z+_ds~(`9+uOLV`dfURjX;v3aKVT#2Jul>RoqyEIEnv>BZ=SJ_Q@jW%71q?AETf~5J zo5CBBhxw!H4HzHmOMCUN-FGI3r*lX_w}#lCqic_gF_nD}ys}B#1-z7g4c`lW4F7U; z`neYe#O)z+M7qvzW#<&5QR&4sHYP@ut){&(gYEq@DR8;g?h<}-%3wS<+v=czJ=$C2 zPE@SBSIwU>STe25UX5veE2>lI^(E+_J8LBTv3Qb7iAb$=rk+`uY;X6_+MFuQu2|Yo zibOmQCX-F&Ju5Lw7eTdkrULX%Cbw&aYNtK}=TGJ1&rQmD(@tChWn;_(jM83qf{l^H zV>t;)9rMN~YDvZ|@Yl2mMs z$p2`^Lo54?NtzujRiw>iyl!%X%xmspdUhdv`uC>XRgJi|*XT(9@zLJrohmNbHI`Fj zirOSb60geQBk3K qo8Hnvam|MPMTVqTmXi3JA@w3n`i=SM3{lbQ zN6|g-?w8}XRVn71mBLy1(Z#yc5gv;7rww#=go_7VI!`5T0|GE+oquu>LpB#0_b=il z@7 Q; +Z-K9Pcyc<3i9VYH>N%eXkJy{V76nD>{W=3X@1SJpmzN6Ov%t=3vXwCv-C^J z3fGoo>{O|0zLrpynbqzdAG)fV=FrB*lhqI<{C3L)tH@E*VuWY)O(%n_z}{d?W3vWK zlnq%#F^@Fg7FyUMFy&6+BM250`OsPn`a$~P25FJ2kjB$IT~^4Bq3lGE%Dr<5R=*cF zbjqY+zC$pH({H3TrKv^7HKXEv; 1!q?$Za;g&Tfd_9DBEO_)Im1|O>x&IXN5oq_tJhNEMP;hiK_ZMNI$hgqz zh_JN%_R8X+_se*4a?G!iJ~h02%RpLdx8Jj8&`Hb3z2}B0|Knt;Jj-BXzK!rKW(ODa zWvZFZW>>GcsBxv{6f(q}nYe55Tx?Rn2ltd@AJyk~)NOD@IG>;P77)m?%gSLGzCzS> zdFEZxvh$Z`-Y56HtHamAtMI>3>m~;cYzlPl;m-mjWQ`sT!J?`h9R=OEY&$A<%a|`S z7&`y#-z!e~Wk|HogV0tteSYCFGx;i$fr5e}>IS5}B7q#^%y(crmcxB}T)ZUGSexx~ zj>kVE_MWz5!WskD9nzKBbUf^O&l{p*YIk-@P36n4x8;(1KWp~=SEH{7Zm)9W4vq9q zT*%&!2bAlHR(gBTl5U=LxH|~Wt*DpPRIkg)6nd3ZZ4@&@p(SrSf%^_jb=au>wS*rO z+EIBx0mcsr&O$2ia$dt=fyPS@q2xq_lHfQa#@FXFJk2eEiP+I~ye~76jGvc++w{{- z#Tms9F-e%p-S3HSI`hFl4I^Qzl*DLIk^wMR!`0H~D=?m-op32|5VA#Fz0M?Y4n#kN;H12P==wa-Q6R@(E 7e z-~c}jSc%wz-*2v0u1 l& y{ZfESZHz6 z&`6=2lv=Mj? ~=Rl%s>Dlyy4^SwwQ@)%?xkG%|=h3PrY(A^I1Ycq+Nt8ri>smjWYWDW#?G)ce$TSj!FWm-e z@f_TPm*^5$aH!+15cj zuLj! dtQ!|;=MRLh1de`G5=FrN@S!J zj(F%~a&2Z+x#5m-bqZhI@E}qFDvfV&9w0#EfD7^fXApJb6gfp5Kt+nWy&A+eVDu@B zpn9_C(12uhrti4qe`cOdZ%Aj=ea4l7*{PhPNUQZcyosx=GW}HO**wQxpd}yNPb}}< zyT>akI>Rj7I+i-f@+S&fI#-mHmhyrigKLixTq7ENuFClO7^7Vh$pLk=p|QPsngLj$ zhU|;bvI&OHnXsZcd`PXK1Lq=a6+3;4_1_`k|B>bYB6i7!nVufftVdoujS<>QBT1QX zUp69xhdG#xhoZkeKeagQq%m}OFNo~x5L$N6X5(oK1}?KEAETr03pj0~8VpBhxq=O_ z=s1eXg9#12kUG5=6UGz+nE;?AHX7{qiS^-IwXI`?7Md(ovL0rK5JVD0ZoB&CJf;%xlouTt%BP@1w^M 2dM_RYm?6 z A5 zmnQ@%6$MQ9rYAH=__7#MSaF;XrB`2loVpg)l)8nzF+PE0E% z;^l=h2Chc1+Ds+6rSmnd@SjQRsgu@JoQeUs`H#ErfZ@!z<; !wt8Ui%&5IEXX-U)o8nHRObCGDJi~ zMq?$f0S+TMBg4Sid&2&lrLkq=^NcrB`P@MVeeFkZJf?#DH*3n=93$?X#~1bS*qDiE z+ea|Dn#I$1FK-6L=WJjiP=0e44c=gd2W^>xd?f}7pTO~QOW&=pG{0`7InNjtsbCij z>+wHpb =Zme8wdlFw5cOb|2_B^Y3bmdkW)`G9XfCe`s z)vVDN*DZLch>dK4xb45$6jtw)NFsi1pJc1YfD#JhqzJ%u63egTBQ}3Wu_TY8S7=Vl zen@$`u!z4?d3Y>!Nq@N=Wim7==gaq~xX1K~_m{Ei=S+c@sn3$s;ZNKRcQSFuoIQua zurWXFg_Pv%Cz_U-LuzWRZkyJD`1|{IPkHm7?Y93zAlVuO&A`1bKEsVVNLt(4#470F6$rjAYSop!>1P$Nrk72NX g=q=t)4*Z_GUt`l!x| zxoy_7%A1+8YSV%{B>C3fhC8B2FgPCasQA#qRyfq{s;EX4blXvM=)OOaH56f4Xi#}j zCmhqOd6rY*eNr=VxMfo@QU3{YXiK^2e|zdipINEwtFM^zba?=-LYUpL2@m#- &Spik_P%o?Q*ctD45$=>g)4BZ5iLNee z$@cr?)CVGc-Mp!ICJJv=QU+Mp7=kPYT-_B}FdUx!%u!eEMyYGv7iMRTed+LAe|E-` z29>~k&W?|<3wEeh+h;^tx8EU}02LLLgJo`ToaMh#rRBd4w|Qf}K$`V{t|6Wc$PkwP zE5upCt)JF8*jjezS7~b`FMe98JH!Ch )0F%6n6!=5HL$~jj=~~ zYt$s>^d-cI3QA5QfBoKdFW=$-pfr`Zy|+_jgwB3H?cXH>Yv3~;P7I4yWOazP>9y+( zGNOKzmOo`i0IztgyAy)^sgm@^MkOBoc co>6yIcy!OfG meZX@x8GLsY8ZL3=rT*};~<3roI~ )be>|{w)iw;#!5M@Uqc0QsX;!xAFS9vlOgEmEQcnm% zOYr5diAN&|8zSfqm4DM6?~4TV)}bF6)~ovNz#(te=kqlOS-;&!3uXRV{M#Ad*#Gig zLN276P%dx<&|_ZoFJRvIDgX#?n$LPOeeipK95>aIZUyTqis-p4Ad3Wko5{pH4JcLp zbh%niw?FYPM>k6Uf>Qo^_e(0ObpuFx$*Bq3I;+|#G|F_&nW6z3FQNMPfQRTq0J*cv zYItaqg5y{oJa{0q4B!vqe*pczQ-}K*UMrqH>+5K&ie}G(F$2~d5!0oI5!&-&LHp~s z_=o6vnu_KVy>zdYiwAoKatZ{}_x$yVB)*60l&h&uG_};e6G6btDh~+v`d!+3zg3tY zjwD y8p|7YW{@xyopYSOJEd=ZB+n2}%H5ZKkS@l&slf98%|ilIpL(i8KE(1B zr_20$$jY8pC~p1Mu%7hDr{+C_>5sg3@OK~B1)+~vz_BbBCVg)#)gSAw$#7CXo`*j= zqRR_xIba~IU);q0onl@1e)Py>DwOfnRoR*B0K`IJJW+c@Fo*nZaX?;nNd|~1YM` zvz4^0MhN1h3LQ36PP}yYFafX4H|l3JF}*_&8k8L0S;#TAak^nf^exIdhAMIjzYAVf z@2;WB`F#)B%HM%cFgx-v&A5r&gHJ!QlT}ipDWNHb@81d#z%K20h}QWxzqVBT3O;yA zR$NTC(G*)qfk(1=qsGc#!eqf;)S9fCb|uh5*r-K8?HBOQ@2WIDCacbbYJ7>U-eM;p zC+q#WLdP`shZSR%HBI^S0GNh%$2&2}%NiALt-5BUSkwo>a7Ew8`5~=ZbA}p{%}5gK z7T1&PK^t3rSMbCizCSST#5S6aQA%^?Er|jO>0|nb-y=5O(Q^BWD=*yPo7Zg(ESQ9n z81=Wm?SF|M<{e&T)Ge4?&s+ 2 Qc=Lhnm+EMU(~UtOKkiBmTZVM& z=~}EJRz@a@rsVG~iCjQ&3ZrwC20N#wJnW_(vPw8BsX6*ge9twDmp-!@r8r zUt@K4+EpG=@XhigQ&+Xq(lCGvUWMt&ReVaMIbzF J%*DH$6V?4$hQtxLvk4 z_EsX#0J{TsAcX;|kw?#6SjDWi7EETGgZV~Nq)e)Kq+qX?C-@0hM;QiJt{M=iyKS6R zT!Z{veMlvm*AhI=m$H`bc2iis-K9?Qheyk==Zx>#V{g5F(H0z zpJ&N4`f@{eI*G=M)N!{rAZLXaET8B7ehA8pS^}^X)Lyl&X0rSl@yP4?31Bn7PAKAz zR8>^&B7WEh7XUe7n*1l9`S0WJAM)&R7{Gh|q#=}i%WFILowinO%y@~0v2%PoUuClK z5m%`znW%=#;S&bzuF4ayCp5L(Y|pl&-)M|FY*%x#SrY@NPG{xGJr0K2J^9&ds(t`j zrX zC=`!S zNZGck0EexC@|aR0{n}I84BZdGa26sx!J3ILl_vn*rodv<5NjKOb*2jfk>=m^0=P)0 z0e{L)WC8|=s2ND-c=0f87nBy*sW7mQggZ@`OnP}61DmBN^uhxHY!$2nU Y{-oyYq*&?KR_V|9Q&3{gKrJT~!)$S3Ps(A-&X1rMl zplk`@warLH24?}{w*>TRw(ap-Yq4yX9~cb|hC34JO{CfCPd4(rlbF|FZ=Uu8?0^f9 zF`&b=X`45bjZY#K2a8TTc27Gi-&>R4tHJ~HwHpI$#S)Mu5g<#zVu}^dzZ*#N*|xOY zEf%IJj_nVaR*uo62oQ;ddI7GM<$vQ!+F#56gWOI3p=(R7KgGacs-0j&5Ys;_`#^Og z0}OUA`aEs%|AphZn{{43add4&QOF&9@#U btNNg+g!|oW`veMZ*Czp-o}m`-8uUQFUd2sCPg{PJ^z{a5N62vyGChp#R^&?e zymWG7+K3VX&2j5QEr52lu0LI1OPpm&i 8+ll@%l&)U&TaV?VaX!t@HF;LJ+lc!seTGas @ypWPs;X`d8xp#g`cW&M@U;t@I>?%@KuLEmDDIa9U|%OBn#(BxkB z<(0%>VRAwQ)+~)T=%^tV_`;z|!sdw2>QlD8bz{R<32f&dYE|MJhmSsGtz3QUb#gt$ zZLizwQH|Gf130<|)VCrw6F?zfD7Bj+i?O4;O}7G&6_%K>?sZBZUgeqJY#q%xYW(E2 zoeXTC69u=}vk|DZ7{>Ka+wVc6)O>vYnALBHCz)K0Oz6n(GuWeO4hEBF83z!PrN05@ zPUtrvkT~tlX{}=Qy*HgckhaV3bDXWW<8_V+UFv(}VfKToM3U`e1HW*5s-g#OLFzt# zkLs;A=U8*h0)r7Lul$}B%>^9YS7~|wP{6rb9Y(KqLI%cv2mFd>j~pEKuj< rB*G65Jvyf)lY~Fit*?gE00lm4 zV8Vi5KCYj+^W1|G3+r>p&Ps-9=;1(BXYJ3ytB8s;Khfyq{d@01GG%5Lb}D2o|Fnkn z6*CGhLum0jc3Y=8ZecJjhF+iukP(iS_>jjyric;NE~3zikRl<7y}~`ud%|KR$@&&8 zlDC4qD3?;04~=z|_4BoCQ`VM>Z}r#NVJI-;(D4JLvT}O$09w)>7YunBfi8Ky&YC73 zGBx!kIK`c %w3&sn{wd~a^> z6cPCBH7B3iunJmjrh9=cIdmqBB}s;~7Bi5=*L|E6Ec8Ye@%K{S9v%t}WcpIrpN&m6 z)`+8iz1{{#FW`51je)%un`CXU6A*-LhIxM=(51OB={BpY&ys@`oM ^ zx!101DRK}zFqdXD=k>~p)4OlIi*E3_JF_fMJvv_59|e24J#1FC8)>3=d&BhM^eK%Y zJZ7Fe&Yw~He5P>&tKEm>(Y~5WNChTn)!aPxaa}8VkW3}Y=vRHvv5-mb0@pXjSeb=N z6(%rv4CNHOurf7dE{hQNx-5UnU1@#;m!)KLRNfj@L9C?`u-)2seG`o%+0Yag^>3Br z`F2g9a<-)@JMMb~FdwgFUVU5-E~CzuXwW0x_Pr)%L16tZBAjZdI0)ndkBxPG*l8wp z9MkM1^mrZ3wl+gNm@W~%5c+bl=|B!*I{YvvgskzPF7yOXy>T&NoHbi~IZC1@q7F6+ z6ohx%-#=XYD5^I{2qpip!VOsK@b7=<6muL$&(bTPt53BHd{-;}cSi7^=P98o02~AG zJ7FdO-vXL#-1h{vKNNYh6c+pq *J#DvD6NgUFz)V~-Wa@)3@LVa>f zUq5M5hE=npXl~gmn$52DcrHPX*EMxjM@fW2x6?B{rg!gOuUwY`iOH%ZO8tb (ys*dwY*{MBuj*C63giG`|ETuElzuq7)36(>lKxm zIb% UtHfOhFa32S+mF*Mh)V R_R+8!j|jWBbo7+FHe6y)Qgu4v|%!C^8RD8yyIi(K4-=1&`chqNcx3(vq-10O=dDgb4!baR< yLGE&U(VNKX-cQC z0Ex6_ab1$UZPY!l@Y?r|>^;V8^XhKml)a_f?QXa4%IYIsh`Ym61UVC=@4GU>vlqlF zxMNrYC64REXC6JF2~z(n?Vv T;cxHDc4RL_+rC(9X zPFB9Z3DPso(y@u$L%UxRW$Fk;%#62@-sv5*xL|lKzURGFr-SHdIxLH+;Ih2`FWLcf zW%@B#BP}&KnasPZ4QTSn>1`eMbQ(6zYCXQ@uX7;>3r7syp$jOvR~H<@{bBt>1{WI? zcNzKLwNd>4t|3a$IUHuW$#{Xm9g<4{=E__lkOW4Mi9Jr5;zaTfp}O?Isr%1V)c>8* z2+msC0J;Izi%^4(uF#x(7p)}=ArZhKg}2<){&_hg7d1{7tp=-p7EP%4A9L0~0*_1_ z&|tg0Gy>iZi@Kvk|NE|w$lU!c;dJqk{=L$}++IIj=Zkgw`quB_K))^`n&}WSz}!h# zNUb{uWQ)B{@0Kiv9YDg^-+OtY*~kM{2++SHT2tHar%=>#;#71wE8|62WxO;NQzD*8 zZLJwmQbzM%YN@6Htp+aoOA9-#^jS?yUMm(=fr{M RWSo{Eals`aSF_pWS>PtHH!ODw`Ab4cBf#pe9TSthDGspOGoPXV8056 zZvrhrs%FCueT>X^xi}IX`OOSp-}_K1m*f=8oZ;z98JHGfFV*ekPga3c|GF&?t{S1U zllsMdVkn<(cXNFyuJ3#x4Zb?9jMu#iHBz6$Q8(=Ap64O8G}u3Im0AW_a{eexqO$Nd zWGf)aTD&xFQ=B}>KLrb&F1*1is-L?eRbOAXNasarv|VCSGCpQHH<^J%Sj)_eNqHt0 zHl05RQlO1)ifJ=ETf 0Sq23zCZjZ`rquG`I{+0f_J;>0oct9=Pl7#Fj&vHpB3I0e>bF(~$h z>fV+3dr7n29@k=}MPTWH+9B#t4ji(rvVzJV$!efS$) (&+W2I<+8@C z9ze;10GkGhp-Z!tepPX1qGKL%#w?uIcvmikq&Xf}$=g^DQf0y@$Mr ya=G>*>$uJ*daKdl>g5)0O3 zYr|jzi-5$sm$d-ORb*_X2rL;Pc;}bScfLm*^Iw{)RFnzO5ruFRa9MYkhao?lp)vAx XZ)}%UYx023evqQ98m#< pUOc^{(f`dEc|nhb&e$*?Z5Px#pTZvnT4gt~xy}J1rFz z6}_g0sy-FfIW+KrUbzg6ph)LOfj>0v8fIQpR1DwGKIc+I7&w5zYu-;yy$#$Py!~uF zUr`yroZM}_ykA+}8pKjj-J#M{eQfBTO~3{O8;(;>xBaGQSRY*!FqSyyp`t@*7~_Ab zYGG+WDGVtWlU~N5&7m&Pou^;;$DixenL>Z-m)r3n?-gj38Cl+^{bI}s8Vb{v;6XZc zvUlF=JD_-M**o0fX|#3N6s=tSEy4J+e;`{=vT-NZYxCh=AsaY`is})H 3yLOWhxf~B2{6wu2p!@!yc2$EsN zT2kGtsAwv=MN%O4-Z{mkorBqX=iUnk=DrVVxhBY juCwY3r#* VnLc;y9A&%&c-7=w6zZqej z?G#~jy>R&0WB>C(S2?-FiVYoCD+(VxaA7B#>QuK}N+~T7ji1CDb@XQl6Me^|=;lly zZcyw8BW9#kwX^ew@}3XSv4+ye)69bZ6j6S8O3P_Gn~poeGn6fq=3SPrJ`!cheU#q% zP935Zy W&79)QS+nGn7+1lY^=epz)am EE^d?Usxr0vfo0;G(Y!x^0x}vFXCqQ$LkfML@}yXx(OaL z!Ttqn@mtv8@;MlfLU`-)4X4~n4gJ^;t*?ZO`$t-65|hh2AMO|?kN((0^_jq|GfHob zJMEU5ztYS8I^;GWLUQs|&*@`G&9LXR-Ls4K+*mC(F!-9RzIDU>QWx@3ag!Dc3jOz& z3GC&%^Wa6De%Ny(pPv$gnRYDR)t@AlW%cOY`t^NWkpjAo+(aW-uAv2|XH0E{{v}TF z*}AN};*EF0^|Cew<)!ZwmJ@TrME(Sv|Lpl8*@BQV2@TD$Dt=g7J|vPUt1g@_;P$c% zRB6~YZRM@9 no7j{LZB4qy#%AuU z6=ha=d=&w`U3ZOXYj%hobcBu;=g0>gD ?2i?P7{YWrik#_4S%b z0-BX=>__Gyr$HrU&t|F~XWoBYseIb9JL@HPw31a|geY?r&`Wjbj~CF5fy2*b$!M
78Gema^K7G%k@6q9-$F5J$0~eFyUqryrRb!Sr0A$MAu4~y4I%Si`+$rYTZ@) zUQuzdQ$BP|RKeq;? Ly5O9(!zkVcj-f;l&u 2X z2>kx`hKq=*$_3K??}ECzsR^2f_e51Y^EL&Af6~O~Psx-c?X6Zw>vT`2I=9*9gN@pW z$sTTT%HgE`<8VHw{`M1o&BNpU-{n2BZpibyALa9{n#+zVnzWj>)z*IA1six3uQ>d| z*PjqRTDQLDIb2m%N6Fk_05~&hwMaRoI}X*koS@#spsN|U**J9(0!4Ut(HmE8PeTei z-W1HA7@H%@6d%mb)I6n^_bs;VVQ8&?6-|P_q1J9chy_IiQAiVTMrF}h4nfM_H2t!; zQ3nTeZmo}s$RNzt^j$G4VV!g)Y*W~S$Ns$A{h9m^Gd>?qfk#knEUkg(Pl(irH2*#9 z#N?#4NV%mD%dJRPe9<;kYkGZC< z0RoLoRbw$H-h zh+Qt_={Bn^H|$IRM^QE}h2S ^N3RzVV{V7yZyVIiW5}2;~GdxR65{8 zDuTZ~jS#%92mU&qRaUvR?*Yy~rOYo7o$~AJ%~Yx%J~XZ>D6(LNuj9)zYL13q=+%zS zL5ek#@=dH0as$-l2-468`==D;HIDhJ^YSyga=&PYY`f$_g3(-lf!$%+0B}>~H{(Cb zX_ZzW1LZkML;>C8++ayL!hBHWIKCNw508gdRKIpP+=an|;s6beXqS@^af%K)D+ffC zwGSfswdhpq;OZmvD05Mc1N{p|_8TFmmu@v+q%P0C3{xfUwR7x{DmlO;k=Vw+T43V} zX@>!J@H;x1xzOF=ZfRNdB8q`74N@wgM#8O~@JDDJ2?GV5QW)HPEKuaKie4>n8@c|a z)h#Rg{wz20Mq?8c_XK=Mrbjk9z93dZawS&kMqkI}cqdBeDY0P#sctdlzIPKbVc(%_ zQP0PCdBy~6HWFQhMap{^ 7wA;pD}zA#P9>l$qr?#61*nsjvGMBs z&J1+q;i_sOfg?{uc$kJ#Vd3bk-6oj>@< zk}a6Sr+C@|dgvJ1A@o$>fsOy;!xh ) z--%%Cbaw*aDU4iht^8J=Q9dWL8B*o$lrC;wjIkdbr!(o1NqNo0n$`&Ssbh{~$f36r z<#1~9;x1Dc(tWZPZLU&Bjv4{^l!8>{1HE@KbI1YnEdL(PiAg|)u3A~_jbR6+`DzvL z1!bFC#$2H--Md@d!(>eBZX&66V#3^p8(s(UW`98cvTS_P!uD|g_r&BIY750tHmQ6i z_-qNypL>3cjl8emf1@PQY`C&D7D?T{GAkDtS(7r@Tuw_7F$as$=^*a(f0jNJ l)}*vsZ4P_G>R1Hz6k{iI zwUnFn{!Dvk=M;&obTXB`1s9(pC#bU Ap^y=KPJ`##tEph&MwhQlws&xvKI-h=F>4uY|`Kda}-@Xa9$R|OfZY|fckj+A{ zE~%HxTHuN{xqbPK@xJvAx7k0sirZ6CYFc*{u9=ZY-Il&)MEcFTQ9Ic&@>&sYwS!Zt zTdv3X_J<=P-Tt4u_~ZKU`L%c+>fp@I3)kZm!TEfh%n4Fn4n%ra;!9|Q*v+=X-t;Ut zhAn=qr?$(?=I00+blB7An8t kiRIY?R11{>q-ck~dS-zsFm$hA4 z##Q;ailoLR_eR!S@JZaKh^y$Z)jU}NS=s#~F6FuOMlUQva4xW0gDpZZ5H>9d{j0VR zi{BkBhbne=A}ZgtN9Dnh67}`fPV(ok%P3sP_3vy_u>1p64sH97VKn225nj!Hk&H NR2iRK@tPN@Y{J7^_d<#nab<8TSsN$~cBl-dZ7 z!my%`4{nuP5nnb%pEQ^O?!TrUA^yU&QBuZLU327Zkwmx4w4Dw+eo{O*YD6%v!Nj12 z6q6u*MQ>w%Fb4HzoffRi99xE~ak9IGS&JiZFvZ~C;&A&g5 zE<3_rcT)uODReUD1RZY^^$5xbQ4-KewRS98S#~8-nGPu*Sm#rU To#Jbi znuue&9~!a`GV<~)Gn<8-VdwgJT*mrbsB*B!!8D|2WpOArw)^;xdWSEge1Cc**N2d1 z58i? K92L^`AMt E z)A0BG)H0j?S>;VAw~3`~e cmqkaC#{z7`ewl&?|~yO0!O4px=5_N<9IE9TKuB=VcXQ0 zy_GHh(B|jJZkXeP!E3oz`-@lcayg&-G(!%w@qxMj>c;Y^zd*A(SM?JSZ$%3Wi(L$5 zz%6DCBRjPj!#3ez%nH7OhFP@D%5j1hwj388fnlxVt>7hq1Kx>TLEDoC<-4=}tlg=V z_bkD4A@YX=r4#@Cdd13y&U6-$FY_=U3~>go<`DblW7%1nqs#sHxPrRh3w26OyUg4O zAt(1g!@nLLCa+}SY=Mp0cNU|E-DDqM%T?U{+lT8x_ryjI%= #6G5n zc{U+*JNi$a*s}6z^}F)(u7L{G@**$J-&J57nm=*q7b?1Vy4hk4&JCGq4LqA#d{-f< z!@})tDEsLIsw|^^*!PHV7Is|x4!w0 )P7@?@PR<7C}jIF|1mxOZ(nRlWn4(JW&|;&Drl1?kJaxN|3st~>Wt5?srw6* zQgcf?Ed3<@q8-j1IGnJ+;Z^k%$J0ZP?>4y#0Eegb-IR8i5CvamWH^aES)lF~wOFy% zIU|7YOu11j1F~Iu`APwvyW;Cd%W2(~UOM|F$96uCH~60Vs|`2#Oz=buWmKKHE5f+( zU;p>`b_K0kZL6|Bw%^5ws)+Es)8s`;{6Gu6Z2JkjXa`jjXSjl6yAT_T<38lWCkAoI zc%LYu6}%RXj38$o$#qwOxdVuyUO#zo%w7!M!Yyb>j#xoO#qXZH;E{B296i$P`8Qpz z#}N=ZF)QaB^@l`M@X+J#S>G&)W?w=xp`^$hqq?I?JOc)RQ3Z>-pXpJ|Z{(-m-eTYB zpr$@)p{MVTVFN3!zDj$mOg@86Xh_vSlAg@UR;V&j=Gr@=cSn{RyVv#)9P@^-$eTD5 zqqo#EEdj&jMS_ap@AREgT;*2K{`$$we#K>?cv{AUp&92(c7GTw48Sq-+;b~LT=y}K zF~N!X=#GNbZs%1Tw^p3u1nuBZLh3g{ K?+n01xJheL};p7+s73}>LWhoEjaEhel )rs4)9*oPJC^iskkGZsH1w|OX7$*5<$(Wrx zoC_MR6uL7cbuyZlUkxtso3B@k9F*5HZ@BO4^GPM5hyx&T_AiYmflj~GphcEVhD`({ zJkpSH%*sy_H9yzt8hRQ8EoRkVVPP@8@7vSlGxGG7S)`2JS}7tw^b|9brv5S68g3-F zXSo)7(nD+5@R}G?ka}}%9Z>+}VW_#pj|%#Mi!@Fr!D|uByz_Hk atGs)KMt%uepbT^qYHGilFwYbm z1Sj(SCN){o%(!BODR`Tsxy-CRtc*M+Gg#KwWdomF#?=0sVa>1o>YRxo-#|JKXJD~B zsDQOo>ZY!;Rp2To{xr?n`R&U7_Au0Kn0GDPD<9kZW{ fRjV z8@V<0`G7<+A8&8xda(PvRno=O5F_u2kx?X0LuQ7G;@B_K4Sjh0W{E?=v~P5@US3SB z)Rp`FuOvY{5(D#Uj!D<7C&r*ClGhn9)hg;ROyOiCgHQ7f&Q>2p$k@o29T}H+KKM}t za~;xc{zAx{Ax1n$qlvg%_%rJTL>F79dA4YypBqZsqaQ-8C9F|Td`6;38n kaXI0((&;RLmMWjAlQ|0i zJFYwloEK0SB>3lYd}1P*PDMjsJ537&nux6(r*fykMeXmM9CduNM2h-{nr9|k7CBsw zzjH znZUZ-hf7STJ}TaKG%EiV^ms$E;Ye?w$WoKUubsa(TJSY)^JI@B=>bZ$?0^ckE0^GM zwvp6eRqE&9 -c1W@7lM+3qC=R!!-C!!a54n&U1i~ dhY zg$olDt1CQHjdiNIcMc3QO%Rg4hIe|&?KY)_rqNy(j+Sq;lxo!qPmBDf$7Ot97e*Lm zSrrQ%kU0+w4AZfnWN(_u+vyG~3=A^D@{|jnPtzmDSa-C-$A-s4N{**_j$VCKgJ{wt z*umC< WL&w;SK8xoinZ4%&TCG|7vrEpq{S+J`uhJ95Zh9;9o0|Xw z{}1K&rm1TjCM8Kbhg4BQxV=7hv5Em>T=Fpk*PE;>==W1lR)@m6pL0RZA6kW>qGQ?L zh8&Gk3g2=qI2P;IJM^yZIL(!v*P)|a6#idTc*3XA(i%f&<;m>M?$&o^P$T4n$x>V2 z)J*oha%uegjls}&HRi8w>0WCVN>o|gOzU`QQ)W4@z_Pq?r05PLdyivv$eW1<`Co!H zeNsx# Ff_qErr&CJf0kVOZ42ypIMIw z3;Co7PX&dWUV-ixYY_$}4H2b0dW{E(hDE*3A3b=Z_?JS2#&1McppdJ)5jyvuD12IF zqj~tWx14-g50&|E!C#s5CBO?%=HJWR-hZ{0v#>v4@p*`r8go3W{m;UKTDX3-$!LpF zhc8)nBGVv0pa8Mt%B|mPP~zrmYARzmtzyn2N4XI@=7aS~?76$VDmX}U$n4$TpO=FG zOcwrPVWab5|I_y>PTd<@>zz?O&@CaQJoK{GkX6ZkX2G;FLNl3p*2XW#dmcV<+J54* zCO=;ddx#A((EBm@V0b%|zzsYeG$A2+#8YlKA5f(QYTUX1q@-$b2QQdAg>e8+b5?kl zFz0DWyr+kCrF2M(_s+ls$t0YwM?$Y*v-MGBfgZPzSUKLJ(i)4Y5JZ_O?rls@po2FX zqh9PK@>{jX_oZ2&Fm7p*lKDU-_G3cGPS)_z?{k(<{5yRJUEIxn&1Uc9Z{G86e*MQ0 zT3b jRH*?U{bsV7**<{7SBoQHK>GxN*?X$GzR_jp(NMUN+6`i~3I+ R^Q!p=iE~NQLe4U7!;QI<(rCO|8Gyh@!8V2K4z{!E<$C^=nDc_&Jy!<;~b8}+Y zsxQ@tGZ&K0b5@m-Cr?d{U22FRUL2|)6rjrqsu*u>S-LJHB2vhI4w!$=TTEKvf^EPr z{*j*vo8uP&3cWZ40_XQ|qt5SqdNW&b*_{(d^9ky;(qMIt$>f3N`Ty4k-sC!Mqn2!K z=J)a&X&N^*CwH @kirC+)R4X*ZRgr zSlV@?U*x8z`k4|rId#{!9Wl9zhh#{e)Aq`M*4DW8*CX=y5|4_vU0{ -|T9g+&M( z^GwXEFISz&Q8;?V>INhn%_W9K>hvMqCP&IGNS)oWhg*X=Ge}5WTS~&`wC-51W>r8J z&mQ6Z2qO>k;Dt@)7V^Qz`{5US7Qcndb)4*d-}UC4K)J;rzMnAVZWpZ~D(k#4GGf@K zaoRptOkFSr$$(PyBED>ugk@hQYc+Mqdo$xQKDEs@8qAwkKM|An^MxKIz>mxoN5d}| zozz#BD9g7ZuITN#PPJN~LJkVXYiE% fR-$ zE2{niE!!8Uoq@0Hb47R~b^eSDiQ+37qS$Hiwu#ET6D3&oS^D?pL;RI1Xubs
BFS#N-G@jiCGqmcC7>~&>XDj! %m5&y$5;pATmOfdx8cO+=wXCg4R4{CR zBtGL^b+C5?7C4#>-Hzu8RFJpmVZ2@3 N?7wrwa3@N!zE@N zSC_F51dNYb4vMn*Jn7Mr(*2GK9Ja!tdsDd`p=J*Z!1|EnVH$f5v0|Y zL)wLpLtHVn>WSXtJdwrUf7?D$jbX~I-T`Xn!h1&`KdhXlzS`ED@V38n*Y9Zv=5>k) z2{mC%@!2qCq2px7>nA({>_8sM1ZBDpJ(ep>iedl&SNf&kX}g<~Q@dMJ&)4g5>MCYE zH;p17yXABB+GkSdjw3KzS)1FA-Ni51Cw^^s&!>u+x51kW>A1NNk_n%#=sh^J|M>Hc z!dJojHTs)-Q2Dze@2__<6Xs@G%vi+44uhbGe0UrUkLMNip9a4H_LL*a;a@~0pT{%q zVHJNn?$fD;7r^0Cf!s$^PDs%TP+eP=ecEF$W*nPYsCBzF@XvJubK@$fcf6JYS58_2 z&hwRqafG0pQ7bG**xY=kQdC0dt_m 1K2?I82(!= z1+XkZ%!1D>O;cpse^*)5ZH);x-6**6O0aLkY>t`mN^ss`nr86|F6w<|b4V+2Y!ZO8 z#QdF&Ww8KJHyRcHO+0_l^e+xTQOv-sc`)#6CR|kUK4pFU?5yin&3u|^j2wjkrfeVq z(R`g!W6c)GVnDgUNBzc;z$q$T0drV^Inw~e3UB=43Xi6@k+O>btQD)fy(|_{w7bPA zZwO#&aHc*nfA?Drb6nAAbkl`x;7xQ4-sn{Xh~=}D2_o!Wn&V^C8h&-T y|pvI|M;rbXlb@lVCT>N z%iMQlwrl`6QYWs hB_*%o3<6rTUp@^54|E)O63IdcHaddDH(eyo#ot zD0}gCzEU7)TC)vapEPRf`}*Qj|4tC7yc}>!k{)0{p|v&PU;SeRK*+W<+bz)YSE{#t zbA}^`xco0p1ycaHgWQtemwUr5r~rZA2tQE*D5(h8%MD_Gh9YKaM&HJoKbmA>aAUa+ zOGvvjV4gEBWBaPMb|fU-6t)CB;lYk83Z4SKGBML ?^PeXmg53vuVoO*HaES z$P?fhI2j`A@*FVz9uk(qmm}kNMi Co*n?MIA+c}fN#&s8(u*EdxCd3grR znvDUCow)9W02WXM4B^RaAE3?qb`|0JFHD{^Pljf B;P$b|Z!l-m+ zw~ui<%VJSXx!f+;QqOjqe{=MJL$VP75WM w}Y>g!g;|ZozR!r zt!q7Cf7ooR1t9Sz@d&fkJa@vh7&Xes6J`O3mIDMfz*X= 6; BoVx5Q2WKk4@dIOss#?%G@d8pjT&SE3 zip|Ja=l
y(JCQN~B+VO~lK9r9&RqalUiDa^V)zPLeS_wO2=i`m``I$#4E>m@$0+q} zTHXXYG{nN9Tx7synpeo9Qu+cP5E`fAA~)tN7iLm!O}92mF;vOkiXsNXM+J=P>i!g* zT@uu%TbDW?JfOK4zi~zH69+(zvaW!&O1dJ??hX=)mUEtWaE)V1l!YYn8a3nEs5*c} z7%Qk$y`IYbBk^KW$#`x@Amk_AL|z 1e0C;l@mDOjF9kH7FjejyTtG=ggYv$Tr;LLxj zLMVZ|QdAG_1MP7tN&w*Ifv6BkCLjPDS;^X|rp;rp#AED#0)aVTJeIC^YlZ#KasUSZ zW)val9%fygh8hEisvEN!O*sh}yoE9HS89UgoW+?8#TRQBHny{S%=V`@yq1b#xpx%8 zuLJ~kT?XJ+2H>1ev+)fz0^q4ti2X*bD+Fg&>+$t$svfY{8QlV$zgA`YqJk@oIYN-h zHq^5A?EaLw0kyZ5w0{rajx_N2%?xT *i28eppdz v( YLm*IGF5vb*~wnpc3hiTUzd zEe4R>0D+FR*Pm4)*ZZZ=W59GFq5Vv%k_dpXot&K$?dflIT7^&EA^y)Xnr94Ode+*$ zLF2D5Bf~WA{(soW`roNv{+Bk|_jPCWo@gU5{B!U5N?KvO mZ}B+x0%*6YwT6-xKZg#^OPDb z!d8Ysad*w@sx5?A7XLsUm-qnm`M4-FT?XiR^rEdT*myFqeIQ-=k6@-UR~Q9w2CkCf z#Tgft!Hn|bZ&n9S*M-r}rHHY3lhWyMx896TQPcG1 (hQ3|GAlgR? zxOBlGW*;4A!&J|pkpqNS(xk;rUlU)0DtrbglZ&5e3t*cb_HjeOUrrOtDZP_(B)T6G z&+fdq?{allRX3q9;&xmz-?*V~K))2w@>yEWFkPXWaw#12nd L?o!)!dUHLrU_?^00 zfBRm0 5hk+9}}n!dBs<$Qz{ z(GMg-j{OI6 FVkVOH0z1l$4YX+;!B+l-4vT()DS+ r{f*_{7I}~Ve_F%;n;!M&^aAY&PY6kE>MGF6Po?=(SGD5F%h&${cZ`ac literal 0 HcmV?d00001 diff --git a/pictures/spring-boot-session-8080.png b/pictures/spring-boot-session-8080.png new file mode 100644 index 0000000000000000000000000000000000000000..0348960c1e98a501cdb5576267cb495408e5fb24 GIT binary patch literal 11351 zcmeHtXH-*N)Mn5ZDN<~RAmtS)0s_(n1XM(&cOoSq0zyKS-cb}#P(XU`HGxE_LV$>f zNDU<+QbR8RLQ6n`fw@juGqYyq&$rh6`+nTymb1=1d*8F4{XF}ecgBW~*jag5K_C#j z&f^EBAkZm0;QWaB4DgHg%H9S3SiB!w`GP 4!0Ake=cod@^KgK{^ggTu_JZ6`YiS#PS{S>D_fetb!?R!>sot!b3r zXKN8C=%O2Bat2`$`L;o-Q0k2*cZ2n0OR9~B*Qu!QA#DxX1~=p0#HVUsUPHmYKe*tO zcJ6+9mhVZXh }sEclrHl1zQJUi61|Hbogt|d6)G~4&Xmm ziutcam#+mefIv^)%rb&NPtQkjgFr8}i(f;X>c&%ZbE|*-deYU^Rb`Kf_( Gekmt3yRvZPV;esz+zjQd3JyONFB@d!LbK(|VLBfZti@R>$V~4ywc@ zCT?}vF)%-LbS&B5A`&O3Uq+uwP-Ej&css;MVJL@6sHj+R#A=Bd<{InjvKF0Py*|IN zpy;=1%&!r4`{t3JzP|ahXT|gL^MDaGnVDB~OwG(vHUiLw1sXLpT8N^OQp{2ia~^Tl z8SqVZHatE3GUDiT;Z^-n^N^4hz+y$GpGh-hj+f`y_*Ko>+1b@uwO%uES^}1cxi)ZL zy(+1r`}najaG9Nxqh{Xgz>evV6c^X2sj0C%V7$v&UtfPiM5L?<%}{vt3 -hAz!r)eB3%{kek?AT{dF0Qgeq0sYLmgl&*$|w}dr!DSwp>wVJJP*5NnorV% zdE(-m)^^>p(^Q1E;gg{1#gi#T_j32fMqg#6!67gbW=!*z{>o6T6tq1nFtA3_b$72m z!zsY`nSQ;$qmQSWE$cbZ(Xk?%xRe%+M6gjf?Bj4Qz}m_cHmST$JMks>UGcfiHtuc; zYpIe%snqCjPb&JPwl$&IbN%l_q?bQF5*Y5})Z`mcn%WVn{iZtTk{#o&r1fH_++8U) z7xQyEC4#-{dp57^$PnX#wf}HeIca@USAgWs&5GWo#8ZhTKenEemNf%&lQQ?dhtRuA zXGK|58#Rh8IxkncK1gChg; -oXtJt def9Mrs!n_iXJUcGcN3Jsr_+W(R-7|^ur zawd429*M8E0lyitne9&o=ICx)GBBU7?7sLLdxC;kA;kIlgY c_$LTa>V(J3}NJ6G%dhl+X1s9>~RklXO-kbs2; z{FqhMX<}E}6$oR){)}{xEwxDpyAlD8T>T-^e)k6Q%RDQ;s^4R^fQ{|oh>=nqT^*fa zH&okYN_&giKj*Km3^lLh=nj066djY+N}l!vfWp`|%0Ndapo}B%hIkKICD2Iu2ed0u z%l;Zh`(Q0=mxXrI1sRb!bh!WbjS{;8V?8-#+|P+MnlZl_7~hb}b39EA3_eImNQC8M z2L>#jKQBN2-K`l@j|o58_osyfk}=kHcG5c8if)#VC;8Pw%nKrD(8rVi-gZC)iR>qi zG#n1}_IsL~9LKnu4BlBm25D>a a6hG7;AlmR~iNo*N7~qyFzD!HC~Qq6XQ*I{DjaIXMVf#~*&bwIukeTj!GySFek? zcdXNzrCOeb#TS kO!FI&Y)fQvcTKez6$dZ<=9g=C`lT2qw)FXQAdp zX|O+jjP+z|b2{tid_bNi5l{tyAJ&3B7k_@7z(isKwr2Qu79u?iO9ll)C;Z8@{5nVh zI
v*)knY_qie{`^QaEDvRY9+Jf=^to;FM+?2O-qiS zqvzJ*t+L;%Gb(|nnHmy!AN5-XAG%`~uB%-imoN0Vf#q+X3Efi1`p%76Y=G}`D6jC%qoYFZR#f6 z2NB#JN`yEFvU`W#uknKXBk~V;AX`zd?)kt7DSL*@K6tt91$jT!;Z1Z`r4Di=+cD`F^yvrm-wAwPpj)BEKjTmOZosz?orPwlyu_Yj1ymm z-G+)Hax4dTHLpcD(9ZGGgKENJgkH(N2{j}f(~m?NEZT)+jlNHAS6{};$(XvXkb5q6 z WSs;0{`B-->`IGTbGsV%uWPp*SnP&nW86+5*IDX3 )&TX2KXs_j|jc}rep&s;ITU{09? zJ{40SXP?ho;o>jxEI=28;r!3Vjp&7}S`)8*d#M#0p<%qyVp#V` bHtRrq}if=#I4#J4?uAQ{1kTLysp%te2F@{5yi(f>0T=;<5(J|idONYvx z&r2^2WR=Xo1zW~GQB{`cy@QPeekGkb`?llcrRZ!jErNEDIQ-to-m<4u*JEnc7QJ4J zMvhP!;Pxzn^u+Q|BP3_&)=MQG9v=St8AnI&-@ku*2KBnZgg2RQqS-C*@$m2n8S>Ez zCUU?{Og{43(-UZejB?T~5Mu2`yFM!ukc< GD@@LOwt?sL3uPfZ)G<~1j z`gu7{q`pr6US3ytS(mwcZqaExopN&Ui;Hv$-m!aAYp%Ivhntp{>i}E$!I-}!EL OF6IHba$DQXF)3qL#w!G_} Xn?7VA-`9W08*Oi{*1CI&g z^CgKfO=oTg8W5V-z4Op?$_`Vx#EHOFTyto*@6!M1*^oShbWBmu=sTqQW @qR`yg2&^EjI--Uje9%q0mrN6`9fIRXeh%=-T4kk32OkK`$>T)B#UpW}WP%CS1|# zmQL> 0O)vKTUP*lyY &oHPc+xBIjC59<1LaFF)~oY_Yv`hn&m;0Ci=CT%$*1OU_+D!A zp6K{rvbgyO0?A7d)D#$Y%pLd^pdO@;x#1jkxu*1C&Y69AuE-J5y*FBdg0lX%P2~8c zl8gOTpVsehBqi|I^(h!gLm5M?Fs?bZhN7^?DUj1fS#fR(PHIa-V%>bI*-t|Tr#lPw zN81BER0F0un$J>_7rGMx-Yx!Y-Ca>p@qCNWP4^B&Ly<)d+Qvex%Fwi%Wsj`Y01@wy z@hm(THySTH*igN(RwzthwS(ETcN_^_S_vKi`pE~FxU;i!bhv*odKx(~G4Y9fk>CG| z!VM**^uEWhG `6<}=4c6SBw6BAVW zMTXq0`&kOap`k(&iS#MVZgMlg0t}Wfni1lU0%IcRR~~|BHwGbvTde*wmRee`VK7)o zeQy{bP~ZpzerRZDGyGo#peZ11I=Su&E_vUk^|#G~e)B508vmSBP*Q@!;ky3*{xB$% zB?Jv97d#$c1&7DYX~!Sl6#JN!RRxgAh!>~BGaatTv31tk#Dka%{=4*=p3%_Iu=}g= zY;ALki;M4A)C0P1d^6y$45U)2Y?AvzSc?yU;HVvUe}lB!rwr!t`tCY;1)c_hbWEMy ztJ`Ir9(x5Y_+D29BpBd%U=-K<@)(#QpqKJGhMdbuMJ1~pubB|d&CN|muL8>LeRKdV zQ*e>YaxgqRTs!`UXv+)wBaW&}T5K(0|8_lFf_wXLS)*GkE9fj}Cd6k+IBaJ{=C5-7 zUnQ-uyK>LNt(Mi|cuHA(#p>A-8DpQ_b0Q)l;?mN{CNv{xwT~vIn`~!w0+R_`+ W0wQ^b*)H5X wP`)nCTP< zWY`h*+{eOEP|lfTF4cN+lpZY&0-dw_2c_}td7ZeXrahp<+NQZcpdkYX9vGjT)7$(I z8dNb~wahDGFK6zT^Uvplxqm;I$FEQKDvSym7c&7Bm#rDu{v&}OVN&w&uVSBQ@+#OT zPb2UMFrvNPF4=F=qY1jyo2ITh26nNp*|{hhQ*Y4ObEeJmI7S1Bv>Xs)64uG;lvfav z)XT6x=As&H5KA-|Kre@`WZ3%XBzlgmazLO}RdBT+W8zONCzyEOXDJOV0f@~C!@OGI zFoP^PZBBJc5+Lyx52%1-ma=KozbL9d^g(&1637xv4a5^$8E(Qy_Q7VE=}I$(Nw z579#d37&KU91nAM#l6{CNX^fe)`8d5;L+#+N$G2L$}_jX7sd3MLkeOz5P$ZwLRKe~ zDP#UxuV;{Gn%7BIyLW8Sqb9ns{R_TY%CA>fRIAw~!ESvzE8bpxUu9c%#%!H~r}rp} zZdg)J8$0q5Pj9obQASYP@m#i;xux4bVd~4XS3`WLcKrV80^Umy+F&%lky)U9<8v$_ z*};n>w)8MIJbIz+IDGr2dS;} HF?)C3IG1AsTPt@T-4V)0-;eJym9+lKa z9ka=nb&R=i;evwWkN0n5P*YR3Qjiw&WJ-l5T}P&MI|^VBLOqA_S;}7d%h&>x{qb&w zgUXD^XhrO$mYH!HCw<4LOjTLUhWHa>XJwV8fdYdGtI__EV_RU2ikx<<%6JT=>l398 zwZ{=6&v)F}$K+ -z8Ff+E^VF^Z`i&ikY^&$p&uebT&GUQn{&3oWt$g!rR z!Z)r#!}k5^URZ4CDbpjubP-~y7hS)7-|QW_kCFl|7~K;mj Yh;7;pu1cc;8TJ+7Xb!9+$%*|k1Nrfhd|u2)s$ z?* K# z;y?c&{1=TD{M@x5Kp-i(LRBldswkVj#3q8<7@dr{rgcP_$WP(*cDBJoDeph)s+-gp z#O899dI%Pzdi*Jiu+JzBzq(&3Do-$*Q&l9(8LUO#FK7*|)QSw)R4+8kD(SSGgJE&T zkbp^uIU4lu`xc8GUM2U;d_XX=^Q%(cGebPd+gv@pgx27_OBXMe?C$!s{hp7Hn7nEG z#dx&b;OwNVnOQ93^!|r9cAw0V8s+I 2PPuy<7No=p=F%l3Glbgqz_DYtF zG7UB2N;{l3)czp(r#X>!t&c+sa!cmQt1`7B#~@&7{6m8F>Cbw{6HCU$*ml+k6jmVf z%C>(beGNl*;q`r#Wn^!ikzmrH#}b$Bce3c8zmk)G(va_U1##7D0MG1O8N-&O;Xx=! zfAw1NzA5H)gX(iO-0US3!L-}W{6u|%M!uHStd*v6cVfab)Qp~%CB(DrfXC_4>m1 zuEKk+)7CfXXmgKxc4&*%Q<8 j%}3hWf^xjkW5JsUn0R4_KTDgQYO3fK9`g_2kFYu0Yr^&fZ6 z&`BPvwpuu#ZbclRTaIb#odI`rc+;~l`%O-x10_QjRd`izcC8%RYwmxFp#SRBz?QM; zne6}ctq;Y{cvAa@94w|Z>@ITLB*dTmf=k&DhZ8W;BQJBLNBGeb_ld{Oj^Psu(rFR_ z*>ZkQPU!Eo4mN+0$M@$2?bqr&LJj(!BYxA`CTgkto8h8H+|_N zTKwC*><6uCAB7h5m?3tlf|HG;IwAx$w<)1h9z)u7`_WrjZQS7SbI74>7eiG&uy)B@ z3tY`ifW4G6Q}vr%Xl>4rJepRfHcDRFn*8*r2E2@hTgLjA+Ue?VIWb97Q66LM_Z USA2iuj|`Or5zT7Q+Fr1sS9E&H;zWRsZYlJ==1(W zC8GX|Gg+wP8%93r#AG=LA?&j@XL!(K-YrbjE;fqj7LN$Qdk^!|4ogjqj-Jwd?+t{~ zLd_eIdLI{E*Y*Bg8En(jOuZAn0r=DqM<5;AH$>wZVucy4wqICw!KfXmeB(0Vo+OXe zYir+TB_EQn_5Iq|(ZEY?5l(0rCO-+^^vfXzy_#O+C0;s$K<%Be4PUu`VC-yj)vUyS zVJVcFvYV18KvX)0VZ-Ve!20;$P&-1!wLfg2S@+96T?n<#0FKz}iyq&^FPu%7aCce0 z;A%2#B6pfi{czzHf33f-$EOlO^EG?!NDD&a(N_Zv8Jm^1I-{+tBR%XW*CpII|HK!b zi7H}3L8Z8T%M rSequ}Ec!Xig_uCwGK+D9=|JK%LhFN9>(0Xr51^2JXRp;TPqnORCPdP` z`(!c2NCAeskry} Ug{;}KuE2(G=| zhz9DkmMQW?#VHvlcWc0G+Q;x~K^ar*!{?^zpnrYtOHYQ;)+%WGO_-X_SWZbPMGGT! zdVLHV&xLpG{(474T;v|ASNmbPF!cD(A*8YGa5+cOx%ZMmwnEjT?mH2 g&!X* z@Q;rCe~%`BI~oFik7~hbt{8waP1ZyNgOgkN>4mz2ws)*c`oDSz2P$sdqu>5r_B~`u z5c^q%R@CSo{>TlbR;GyBVD8(oF~F7Z~zHiTjdCxY>W>9+c;%Y;lr3CSQd<`5b8) zxBmG=Hx1R;n=Z4Z;&eR87akay;oAxVO%rN%YULHfy1Kg`DfsD_0tp^i4^Z@7)*r}{ z7ki2Zid1V8ZYT?1-@5z|Qk4MzUMDA!vt{!=%2qVzT1^<)NKVb_`Bw#lzo)f4rsRGe zAXYoI16{jHFND+8WJniFJa%cE>0bD$$iTt6T|)WEenGG(I+UrboI3)yWb9~kv=HvD z6-(`i$iZ%x83?Yaqi*g3Y=}~)*;)ka9C|5P4x_k));G4++@rhYP+!T~F8sK?@)#o9 zh)MAD%=t>LHiT3MYZ(wm&J|StiEezlWE+q0_~i}c F6 M2u5;;=VDkL`w#)+$1& ztd9a$fhC>9RT8y3Q4sv%#piTs2>ghQHUcQe-p#`7q@+TC=t6<4LZcBd$jZtaQdYGO zfVNx1vdR{guzdoO1-?1^>a>3+`yQoRGmSKCuU-`8)o)^HS&l8Gkx0BX;d9z}Tv+j6 zO7-eAlOMvqJO(zlMI4H6!s2peq%(w7DB9D +Od__8pY{rFt~>moiU9rvsY z>#*oql2%gUTGVk@^dottTeOs?Gz`sb8MX=-Ps*^ieP9J!zt{*BXnBM;K7;boO@)O> zPqdtAGaW}+x^+pPNMa8#^Unut_TISc(yRI#Er I5acxemb4LPmA+;$m8B-g!XvzS=|1+B%Za4tSRl1J zpQ38%Id|JbMt#0jF6E;>h#4(Fl=~SP{4P5?yD(-}Xbz4*#<`Xu+MuK5(BWcj1}`2Q zAV3R_DHRi+9JC%EQ3Lz_?Yu?#brCaMX;Kn3gB=VcTJ(?<|MK)NvW^OOMy>EKh;lbH zWbL%~w9wAyLNa_INSMfFf7>n%+Y5mi&>b}${;{J|-U0LJ_vQ!-IZmPAcHr&bhATXw zo}TH#eV)m{+eHWR)Ceo0 2@c+panJY zo 4-Hp34YRiTxrBD0wq**l-c}wWbBrdjji&Ovnv`Y$Z3my< za1r4`X^`@yZ2XRDnpStZ1>%2CK!JCGRJs4#vwqK}buZK(?a0t2ne5vyily^+ogv e=B)tR=Oe;1J@{$K0L|EoIx-xi$zqYrj2wvx U2cuS*{ 8j#}V2QW^!#)t`?CjsY0Kuik(5z^h0W`n#nTMPK{W*@c3=P*b zElX#D+d6YqRadn6fpcu_*P;j2)49r-EUul6@4sIoZ;++u6Vi&v6)D&E&102EyWaNy z2u$0St0N&{`as#>=+EFzuRuXXmkRl%S$T1F )bY7Ks z5uJEnRZh3yvW9zno$9$?Y||q4=jQmA(}SBR>>u-Q5j-nDe>fPbCdfiM-^3I+*0U?p zuF@!^NOaMU#yJC&MoUa2omz%dEbTKE0fAi3V6;Arm*f%;JDERhxN0^UaNmiPhrf z0pPs`+iSg6dAl4}rUhXe&2n5zLD6U?@E4jz)zS|IseMnY%$c=2$S##N3G4OXQYiAJ z1-N0LY3}vtpA9jCX5R_+oH29PX=@!lU#`l=#@pS9M7Q|*kp^O~b9=bB#KwynV4A)$ ziJi4*lF*zr&c_-P|9-GT_!qxC$=eN#RTCq33c8>BzuQgs++{ F%HtXi1RlnoDwgn1~9{L6xpiH?qb!RjKS3-gEmrEQ6ux5S5Hib0J@E!Xp zf3K6sQ%VwEs?yiCI+U2Ug{widQU@gr^K`i{RrMq07pl)hYv8WjV2;s9ylFI!1i0Wk z+6+CJGOIv@O&?h>94M$vDxOHl+i1KP39bBGckFx_HfO5ihA=NvwP<}JTJ@ya?DWA* zxPAf1#;nXE**pnlO9<_2F222O2t@yqs(p7K|J@d56{s0E6ax5ywbVcH@mWY(X6?5$ z35b71+?eX?388{p=f4>{8l=^+ny Yb=8JOU2^7=!-;vr9H7$W#>i|3m9VYT=}HDBg0&Iz3ylo0 z_2iB&I$I)5oT##;mz-LWY+6 kBTJuoyg*osD>=GihgAA-5!cGU935m6?V3b4tg$8j5T; z3cW=Ew%xq^xmG%#R +B5z;I%OA1p+?p=wYfv<@$YGf*4H2%Zec~LwW(OW? zUKZkVLZ8YOM6za}>Al}-4aIU|jS? kErv z)mq?67pW?IkfVD&^c`R|^T%;J=g;EeKT&t;7R#QQF^W8|fo20!FKZ=YfSwD@F1K<^ zzw|RTZomNFuv|WJM;=w**eM$?shri7AI_bVbLXgEUJtHDq4<_HDqvF=k9^lYHWoO) zaLx<>5GCaMErZdG=vF2{e~G*tvTb#v>f30G)0MW%E ?Ha zV%_p-vZxPLmh-K4L<1NcXA~i;7-*)>rlX>#pQZN=CkRv@1K1RSkv}Qj^9M*O=$z7j zgZp!TFK*u71|EH4?l}8D^T7Y#2NAEq)9^5!nBgVxF x-+O0F&K* zKCv9%H#ex-{Sbg{*fi-wlM;!Wz(5E2^2}Rz%}qUe6%4Y{x{^!hbqNck3rqgBqyGbu zPdfA!xvZNkCEA51dA_n~J+%DTE4 M@NWse5wSI{|w~vN>DUvpig~klnO5oj{eeOakyy* zWKtKjVH7wkuGY3l+~u>d%l3AaVZ*5G-NULRd@8K#wdqcjdyPWwwaW0j^6vxYeh#2{ zmk+bcyEHyban&Sn-Kcox0VARy7W{BKf3F&|tb ^Y*Im7N#965OhuE2$qbbc`F;U3yEmN3Be3_-S+Cc! z@gP?kUp242l8fBvX9lw|fbJG7DF<1!*^5GJYhUNGk*kxqBm-eD&tyegyJTAjYGtn< zY4^V1q;lzxIWZ!GRGMQs>ER9bhQ)O~)HLh0tvEf*9x9B$k+WYY%;h%64&BWkU8-hn zkv? B#NsTkgZ!Rrmky5>e-qAUw_wi!j>)NJMSfKFAyb_HSGZK^}!QT&7j z +wYL-`p^TF=2BS}UE(T$9mg=E6=68y`z)L^}` zbiH1T2-tcEIWQq)U?T}#`<4*CUDuv&UTvWK#YPq37#+b$ZdLX9h{=HI<}r90dfEiB z;>OyVM9TX`80`9Q;#5Z?0WSJ=yyq_rZW`vESCYy2SSPjZ6bgX7fY5*4&?tPTi46d) xyBYscZux)N7x|xE{U2LJ|I;P^50@Njeu(Q>yl}7856DX(9c{x0$oo&D{tH%x4DtW~ literal 0 HcmV?d00001 diff --git a/pictures/spring-boot-session-8090.png b/pictures/spring-boot-session-8090.png new file mode 100644 index 0000000000000000000000000000000000000000..fcd7e863770fc9729d9e1997343cbee78bcb714e GIT binary patch literal 11215 zcmeI2cRbtQ`}d=J7@rPZR<*RX+8Uuo%-U3m*rRHTy|+$2wVT?+PKXh;q7tL6sx5Y` zP&Fe)5hV!s+xK@r9`|3r|L*b6{fCIR_xqgpxz2U2>-9X>`SARiI?IJy7eF8oi>Ag? z0}$whI`Dn<+!^4r*1X>c_;ub>!_)@^V*PRa!;~z<$^l%w n;O;Pdt z9p3Y%4r_}ErrvsDpSt<3AQFlD+nq7p-HjF>raGjWsR7oueE08Xo&bSf@pX(0o&;WX zN%!3Gn6ACM3w&PuehK*3>6vpN(APV1eJr-NwqU2e+p15WKDcv7d1i)b{le`Z8JU^G zqoc) Izhj@+t{{BU{97qP!)MORK%C#vM9}@$$u;8>g zx75nq(%13nzTX~=lFfZVcpS;0t)s(tgDLE(uWwBx3kQ06*@fk%*t-{}XiR8lL3w#A z)~LI7?1iJFCaphz3JMBp&CJY1|NCzuA6P=7-Mx-FS?>c3Mn5bpOrtk|catOj<;#~z ziHV-_Z6|VLjvK_|WscumS63GT;RG=~)`i|xj~^PVb|ehFmGE79-rCj{^8Gpd HGQl_3f*v zs|yJTbX*C4Gu+pgTT&v3lnuZ__pSdunCe`A6m(*V{N>ZtrOf>N{5MngB_)jn1O$+* zYKZFmq>PM`(b3UoJhRHPQk;JC94xtu&%r15xCbTPvZ_~BR%+?$!c0s|Qi(j*uBj A`z#Z#wV{8PAik4PN)8Dvzx<}C} z&er*L=buc!v2<{p?@SI}#uU97FKTWUQfr6*W{t}G{8;6qKI@n(t7c@Df~W5L_nIf~ z=%B3ZmbEFm8FG!Lj>K`W#1uE}`3m0jbOpI|Zm}7?Zw24C(ie}QXQb%GpI gpwD7upS#R2|omnl7E; zp;2~)?y$JCy;xU<>uf;s0by)!#Cm*+J+soKAY2su8U4I1N~qRhH*`LM_0QaVg}_#C z&S_Dz+<*^paV&d`OGP^AmuW$F?%cV`#YOhG9!(?k_U~@Y%KCk6e-QOEykqEJJHnki zt73d(tCG^3tg5Y}SFbyg{?%t~Z5 a=<6<;fwsAwpD-1F>a$7 z4A~3N@?-}ERP{8%s_BrI@j+_&sT6^VB^a8TVg?2bDi*7&s*(_hd<6zYPl>A{FOPRg z^r>nle)qD9W(TY4({X!oX0VhtT0ph+Ms$Kya? ;%6$dqCJ?!>ZM&@p z>Ki=X6I}L|U@HUk*qE~~G(35?G0Cs_@GF9E$$@0y6Bo~;fCaog7^2{}Y{-A_-g1xB zH1n 0sd>0y@X=`cmY5FX5pLc2gbYE|Ii>Scnl5 uvB9 )v|ol-6x{JHn@K=#?ETGgtO*FrsN|hg4-u<5|89`A UTRquwg<(ONebgyhW@4=H z*QK;vM4@aV{X{0cizG3<8K_8p*tlD}PBE`L)MAl>QT7PPee%xB57;rVxsS0t`nuM= zfG0+`O){lCjO^?R2L{c ZCIx@QXy225tM5~7S4RlBWHEd zwY0E1a`Kg>vg&7QlA6d&&cJB07x9Bjq5~-CtwyZn;w?lk+!!qYMYJTnJVWcQr7Gyu z!lV||+@?Yc7QOs-u21z5S4S&V00*J;<*8&ZDwh{{)_BirHAB?OBeGW}>!Atqd&SeX z+l#HaD*kojw2CKo8UA2Gw4!9@7FHs&r&chU>O})VttD>kh1BX+&Y-`$qB-NI>Ws8# zjuFFI(moQ7y`1IcE0q4+=FeEyuqLDWCf5|+!J1M`N05AGPY_hqB#rlG q?pLe#sQr`;^GA<47K#s~ e#PL(BW*U4Fuy@5nf0l)~zhvUe01#Ou?J zZ`!o87|+q{s9!af=lWgPslVHg%Okf0#Ki}%#FnAfX*6H3q@+K5T0ihzKLuV_)iB#E z*J4=qo)n}PMMvJ-x)i(8ITB|boqVF~gedT&^Y0%YvR~LCwK&8bVgaqBG8HhS|KtKc zq45Z-bfe1Cw@gsy{091aOX1_pIcz&gN^`ij*WdtmS5kFUhx~^>>bI@V7?(ldmm0@_ zok{o1?P`xs U#SzJAK7%c^}pI(qPoE0Z?nxN zYK3;2647XMI6($?^*4JJ*QLmKUFXCxS7U=3jJ^u0<`ncOY3X@r8OF0^NScs`R>NTL z=@5>tVJs(F?CS!o=g%!Aym2e^eR@O2FWpX33jQ<+lk~({r$Hr^SxSV2)s168FT1#o z*So#KMZ9RA`89r8nLm-eihq%Vc#ogok7^Rn4JjEc(hHzU2UjOfMakZtL=RP0YB_y| zdm=H#!74bJDApYBCA(OG!G1mgo#7m|zSjw^GJfN{gA(<~f0k@6o&273p!((avfC}W zuZA?!%x-bkF#qp{er0l`wGG>uaROAvud}!IA}tZ 6^v{uP0Tc zF%-j}>yxhz0{;GP?WBx{TduF9*Jca*QczEAkIU3xSpgzm%VolD^-#axd*=e_VV_S) zNeLjNZ*9WLR{aUUAIibqP3?>2W{e=1PHqL2ST}tlES>Dmw!5=_j5>4e9}^Sus;a82 zr%?+F;+(2~o{cEx%zM5&90>-IiSBi0hn+0V%}b-BqZ1F5?CK_9`uhD9nV-v#IgEB9 z(&kj-S6er?azP;>LQRIBippDnNDR%*Cn&ZSPUAGrF;__dUJCF31lU7ou+aMyO`kPN zr6r1ugn M)%{E-W|z zOeVjDP6dsNF{`k!u*ih&dKM*I;^Hb-dV59y;2;|tn{0VBKzd`V{(ua71_pz5@@iXz zIFC6A46eQ3b~5)$Mn=Za odQJLUs@pOREGqx zPQm)3Cm!BjJ1m%OODF~KFfK06a#={(^Sf;IWyx3B^M_pqm-Ehj0i~lcKYyyRaLE`V zu3o!#Z4(^#%le7tRnV)c4n~`vk54raS3?3N80s3v?P@Qwr)#w-j>NyT#{kZX%0@Ex z@7#N~Lb2I>y5qoh`vwzekKk+_+CQlBC#F-Mt+U}^Gn*Sg;6?Jn&h$Ekw r@OS3){j^Hkw&niyh@*zn0GjV{ zeAnlBSv^K$@ErVV&_OYQ`mEo(nu+l8DiI+^4a?MJ-$i6V `_uXBD<(iZzxum6QB(^jm7vjT2wx&($7y?c*iwc>!Zs@v zs9RqhlCO1yZ##5M?3Lv!Cr2e{APm&_;l3^<*rvVGTQ_7sYulax{Zh8I2&d0mhLf}c z9&6naRaQ^n8f>1Md-u{+iSTzE&d$M6ipS%(E+;y4r{&$x4pdf&WZs|$>*~g(h?t`R zNT 0X19d6pN%Cb~L=P%*Oo!1QK<9o3seeZ9itwc-XL z_~$&sbF<<9DuwL~;8IKWO?c2`bZg7>aDp~-g%6XWhs0=YZ-07qEtl( PGDOeEf+ 6KE7UTZ6~U WtQzkp=ua7R%?QMi}I8#gy^0wZ9CYl_AmFvr<+=+8?He z%3B)Ru2wHvy2;9F-SoMPB9r$UnO+^{YeUq5aN=<#c9JRY{t$@-A4KbxR8;JoDqJ(+ z4gU4@wONhRM?MOsD0{$%2wB|r%K=8*%vklP^`nj?B7Fwt1eiSbRdwS=%7Qd87=hrq znX_`=mO|JRO4cC<#e6}HIENl>86WgLJKM&@n=-kU>V>=My}7n7Y1kvJs+WRnOJOaE zc_)K?)=gRPI8?CsVafShUT9_Wc-gl^S=d{@4j2W&2W |^N3A=piAebcheoC7K3^*p&2EDp{>igSv)dyttfz_$H90Q2BsmNI-nFLv zs@1NQ7S=&rt>3NSdX^c)CA71%_j^Mi+ gti~u_;a8^!m_^N=L3rY+d-+o zY>z++DH!AbW^LC$MJ=->>9NLM!*F268Ma|3&6DvkN|LCF$`z4{xU@pAlRL{T3Gwi+ zf1olLB|M)#f)XB9_`9cZyjribp~fs3Jn*$9 avU z%Joy})(Trm;f!vm6_KA+&u}~~rp9r-=~-OY^IENSWMPMT3N^Votk{hwJQo>ZS*#SG zI~YbVe>0Y6f29G3u@+2T^F9 u3U*8$nl%{jTeTZid(&c8d6r|Q$@%)_f?{i03HnAQ7XY7g zX*_HO-wOF8Zo&Lyjafn9gIlDCri)fAw86!240mqMp!^EhU`0dW?C0VjpHf!l^jwaC zaw2#C&m-@p40Y}yTej(vn cB zCG!+7FRVL%YhhbDq?rsiRB9=hhM1+w{hoXjQdlu-^gwc&zQ^XFO?q{_R)>Y9nR3@D zhV$)Qv3vr~Kh8DoEthhwL9MK~s|ceG#O(4sm6PkuA3l802V(A2Ftt1}OF>%N6hTXf zIA~d<66N>Hvcvw4C1!Pr$ji(Ba!WAI>D%2%tqGcfphjeFqY7gOLNaA{SUW0Zt@?HX ztgtz5S=95F<37|ab-b?-+Ni5oQYZGp#uqD=(tqnPRz%j_)^vO$<0=@B&AlPhNog34 z=E=hQ^3o4=H!UH1A#3ZkJ+RXyNdKJdEVH>W`NRzigL>=rcPPrjQ_c94%3X2)skeKt z=Wfovnl180qqQDE$d@0S _R@c}!J4a-+^kTAP( zz6v#W=fwNP^+gA` 6GZ+)-CMFZqf7rb-&8D*+-*9yS^LB ze#^H<$FgBZBw4TNyLgzC0K~MlJRY9uo9USI^HTNp@W)bGYC^oWDTE})2152@JcrT+ z1fyE|)1mKm0)#W1s<(UX^S^&@u@n45VUD6C_JC3BWuJIbsXVFV+|0-hnd*Ywm_gr- zPiKAm5-&?NVu!^&`kIU;zT6x~P3z#bBVuDcAy-iC{tmnM5_pDD8-+Rqr5(vhR2$mk zoYMuO;P26iJwMH4*H7-lp`=F)y^(T*4UX1e1&BGx|8q0O2EUwL>i3&cSMxjFK+|Bf zP&z{&n$KWLP`>5qTF08rRi^(*WXlIJhc%-g5ZBAJ;?k0*Tuv?;+5`=Ib+E^u`B|$Q z)9aE_aZ)ycI?6y81%lsmlw7>{7<@wU(E!Gi)~CX@y;L(k;n7T Cf sO2%QD*eB8)hWZ` u<}`sJQ?NVE+90xZQU%I>lVezT?Q-**s*8}r_%%hn6W^i(ShKX#)gJ2jIN5} zs?E=9cyYbAXU`6@PJSPH+(Tzf1kX>6W$e$-Blx14%0i~c^Y*XkG*3M7XqK|q+52F0 zKy-yjhP~wzaM*BxNQ0XP2VGvr7Wt2d;TcmOGG;E=L=YKlVKd9J$00Oa-Vb-UijNqX z#hTL_6BMk*5;R)%Duyo*x%{StUa&PRnB)D(f_g3fmYtl$6A9=@3fx$ODBsxW*A-GF z#!W|)WK`qsI#5G=0PXi3X4b#F8;PRVi^DmFpLLI15gbXFHbJp_6x)XeSTCpFTZtY2 zFothlP6!_Ho>U^q7q9=#cUAzMGt`)p{}Bw2u(!8Y9MmPx;Hg;ZNVGn@+M#FQ`}>QG zrZ5eFZ^Jh~ UWXDGiMqD*$3h zcudJvNM-vy;T*5Djl#K;OAv_5U@57nISaJ2i@970u7Eo7`VHqJ)_RZ&C3MdQpf zpj?GJoR*6ItK%q3g8%k0EIW}LNX=3f0d5KLEj;L9pa3jf%(;Dg=Vc-Yl)IDbJ#^B4 zH|UWhK%X&F2ZX+~Cti1UoPeV7mmBDg6ToGVyG|(+2xRh4{PCmzO&$4-=P3~Ah0+s% zxIf?K{NH{1cfBVvCHX;-%q@GB7G0?~#TM8p#f4S&k=`SmZezB(&q`M(!cP&xs9|ND zDL2JpIoV-n_W23TxMwToriGj>iIrvDVrNvk>dweU-u~I_7etso3j+OP7XDoyu{n}1 zrVB-zqP|;b);r@D*Ocumh$M}czA}CUYf2YGNS5-K1-lv+YIs#}Vlk)+W->F5E>lDp zJ|F3qf95<}#m^3J33&%h{68|QM)4^g$?@1AMLM+__C>5T?QuI$Z#OwU3!tYd5VWVO zk1IUkCaTMDn7k0@3)3$Y6WK9l(&{nxGFD&4j(?F?TaZpL$&wPw)q-ji&N;tz?zG72 zpI5OLmbA~{NJ<^}7AbzcQ$pA63k1`(2$-B}Yr-c +JiUE2J*c1{S-fiMVE8!&6)pQ*z=-RLHVxeP<|VOUtb 5CKvCOyHY @usXlje4jxXp|avz&^LYVleXqrWaliP#jCJeZ(Xn(7y?pv>i< znwrjogpDrm9UT!G$HT&u+c L(B>2l9kAWAp$&Vtaq>U>pQe%ngma zyZFe@_%2SCZ#V6`_u(7=NMr$`3RZS7#L4a^GH?=0dEyA3D~?`REFCqF_A-LK$uZix zKJsQA-f5IkI^8xl>Bf~>$Y0%1YIU}Y!R;KJQOfgxU)Sm*QKo!kYS&=1<^`s3dtQ*F zpWI|1j8QZdXCzF8J*!AGHN~zXk}?Z~Nu(4n-PcENfwLWwGFFT2T$g3e-O&`k?xLca zSLK6Z5kj5DMyq*Exv-ZX`zO-IC6Dyz;5K?#unReyB*w!~BR^ImlEZ@44#1IxPJ< zb)gxZHFCE4nHQ22djF}`K*6)1E@P@YHRjtcq&@HY0*kTCm~rw|5GW9SpOas}gM5u$ z!@xbSL{8}&-NIiVHX&Oq*aa)&bmT$s37EfEH3+xz%3SSYyQZD7hMDsHVcPFpl<^z? zsXHhh#8DNdfe(9qVF<50eCQ=NfiJNh^Qlgn!~U)*QKW;#wNE2(%~eXRokqRv$S<-Y z{Myp>h#HM*3)`GpzTFlOs4vIwxwID44BH@hX>D19>WnUcd)qan^ZQt4Bj#8Y5LlB3 z)n$sUL3c$0bn1g`y$3CLJI@-U+8Y_m4Zr<4l2q=iTzp%m%zo7rXN_;Y*(cY *LZb4Tl%9PTQMzpCDFV>=wzkb;x|rF0UT)tyr*A zl0PWI8ecdcV*31AzRC%Z=WB7DL5YytpYq}g1T&-t>VG+?f?`zm^l{y7hGu}3E!ZKz zsGI&|bA!xIXP_?1aK(n2;raQ5f`No${ZD-Gr%7d)pJ=-s5Ii2T_6GtRm{Dm)KxF^C z6o|YFxJmfC|D#d+zsm^+kp;&yb3-kPM;ac#H`(l(&fC(iuaBA*FLui2wKX;Ef+nkW zikd-4-cLo=o#f !-P>RCpO3Asq)R?DH>i|sSd^8+ zR2g!NXrCq(N~<7j+BJHNEBQpy=N0}4lYh%KliIGapV~bw%jG6rWYeBz%%@P`dfpYA zFmG H1DuYcoyp5Ig0tUITVU5lL~p6>l}RKsc&%IO-{T$8K07P< zB}T7{wBFbAav)Qy?C&NwPi_9#3yq_}{7Qrk;$=VA3wM4#Rao8yu`Z&*da6#90|Pc| zWCekO39R4sD>tE*-|pFd Z2j`C@wYARY6I$`m*SH#P(%Pova6!Sk+w;n8xHpV=t DnhMJtdAx(D)6?*+Tv?i-5qdafqry>GJG zsdw8KyY|R1Q{+BM08_vP9S~M3v6!dw2bEZBc4knsw1g{M>9?w5ybZH&eWh^$-oy^f zWMK`3959l8(Q>9l(fnEwX3}xKnE!d`)fYa2+SYpim0fvw+dIYGQp*Cfw6~RpYDd zZ)WDWn8GKz5|*9l{+b3}R^i&PuIc|Y3O<-FH)^s(rW csJl44Q>vFvco?*^qA+Z zVjVAb;))f=1cikR{oV6$SEb?57LV!MgA%p&m^m>2!q(l-m{P#j7Pg&6Ht%!73^r+* z`6+uQN*_zjMwF7BgUz~1v!hL92Lq0^&pC2U2K-jXRxkmgK0m(3DlO#0XD=j60{5U_ z&O6SP28J~`1cAkQV03p)vqDqLhU97TgH`5-t5Fy} #zo`&I{O$K~Xr$-f6$|Tqyz|lD@KqUVrQ9JXOkF m}3ooWg`6LRiM^%~q+;WO5jaQ*fakvpbrn%{)U8We~OA<&4tTa#HH1 z0tg2OjG|l7+=YcjzsU(e2n5IGcp4t3B=5nb1rNRd8P;ApI~(mo g(*C+pSHABQqnjSXXh=g8v7p!W zfygw~@mP0og`z~eWuDsAKDySd1RS`u`14=lGY^0R;GT=1|D0g_@1o5A6QTP5U*`WF dAjBN8T`!23ID0`e9{>}Ors}h&SmhUQ{s)oPxsd<> literal 0 HcmV?d00001 diff --git a/pictures/spring-boot-session-app1.png b/pictures/spring-boot-session-app1.png new file mode 100644 index 0000000000000000000000000000000000000000..d6284056d8178df408d93e8778af6b174d2e9ef4 GIT binary patch literal 46851 zcmb5W1ymeO_pduZkU($^9tiI4?h@SHodCg|;0_@`2+rW{65QS0AxN;`?x)H7=6}BL zo^|g!w-++>G~Fe8SJnRQrzT86P681g7ajxxAxcS#DuF<+ia{XAN;nwcOzI|sJn-wa zy`-ii2!z!A@(qzdgM eg;d;9 zf3J8tDet5)JRFmAWqrWqp)eq}kAtkkAnTR-?U&E~`V|aM|LAw7s4S^9mfZB#1T?R3 zhMbyoq}Sb2D~A3IPO{X_THnfAKfsT!fA7Gmd|mIyXZ-O)q|g`IxY(o=!&!|V ~(b^_Y$XJc(U3!RaREF__S5483Xkp0hNw$tc j4{(HO*7@#Kk_mIYsRr`C5Vy8h>_}^Qg^^RoyX5BvK$D5HV zd%CDoB#{66{{!!GOfW$vgtOvK{!bFJs00%K^A5$9$xIX;htXTu|GDX|wVH0555Ziy zexJ5oOHlo)2LeOeLsjwN-Q|HsmC5T>j{~}xx`Vm$KISVXR=>O;$P09^q--OW5K5+< zRj07wyJVOR0ww=$p?{xZi24emFNR2c+2`TL0nQ&qE#n 4v~5#_JKBQ)h)6-A)SLBW0e3*q7Cj34EJ}zq4xNxn8Sb;xl|?rJVT($1)D!4i@=8sU1>}3Fr3EE=@TgHR+4UY5 zW#R0!(!js99}XyC054@JgajIe zT{Iw0lyB`7twIb1WpO8A&@|>|X^2v4G3+Wk#Jk}gL(<0ohSkt{o7agmMy4Q~>)-x> z7n@H|J>MDYd$>JUR8;&dFYt)*;v6E#e1Q^#?yn9H4-M7TxaPj>k2`0d5p@*?3`k^G zKTu}l6rY) -=kM;ha zBH}8au@ya(8e&GrepU5-I?o{W2$Htm^&8c|NPr%LU3AUVR!3_t>b;052(&3O@F6V$ z+bB9RrAn7mP9zG>wLl#jQfT8#)r %r|P{h!BLjqRct+_EY=8t3;nES*HZEiRPxS3PP^cZN-)ky@qq+~EB zM8OF@YKdTKyoPMtSzTCf*>uuV?wn qa?d?W_1Bvk zW7r1 q&L9BmmV@ ze71s6;@O9~cWJ63xI&)N%T?ZW9v1#@u`yn3OkGEI<$Fc4fUl2+H$02gSSa?B9=d%# zmGAXi{^ATYwLZCeRsEisj8&|O$}fz2(9KS5&cE}IgSv9Q#hGTyG4{;6g?;^Z!XOW9 z(qj&JW^K3EHy#RPH|AH1vf|gNLCmzw^5V{VeMdrirjALW0cp|P{jb}KqA!eO9VIpT za3(s4hGD@lP5kmU%{01y)S!f;{8Y2WL2k4?_a6_aip_&S`#Y`lXlYD=!v0QHMp6Ga zGaAfS)qiU*8qb(i@^=6P2X>fX{=F|*WD3OkS9$(0SNy-%ikAHEOS}K`(l_MAe+xiq z$oT(ve*Le~e2jJl0nhs+5knZ|3J1Jm6{6FqAYOfkq6qg=QgC3k)83?8h#>G5`f#iF z{RROfYEbC^Zi4@h0_apzi`o$)*> 4mW@-5X?c1NT5ngji|pC! zWgA+04tDHYWV%hnlWZ|Y<0s&aeiRT0^ZbP^^0=$tVOITf#dWPGKf@;+@L ;|;59!<49Xp65wqw^TfOVjcR~q*T`%s|*bm zm0ccl8E|RA;4_XZY22gv>M*5F9@A6UJG>b~dvcFks%?kK=+4Y&Zb_yhCeZP_&&O}z zYpx53)AxxNw2rrS14HO_A~ff4+ Oeu`=DwW?Gx22_paG=;eO~98Bn?cWstSB}0fNms}i)Ewr>%!&1 z9FyrF#`32jx|^HLm`wsCvacJp1qWlnK1-i|)5*uUvSu5zWiyl$F4d00U=}qZo<>S4 z29qN*_7$8vup)h$UE%qhuvGa@CW`$lgqH1zG5H&y1%6K$iqw-H&qSKcnJxu|*Tp z8QI53udvPXxs7&)+0E|gjK;++8+N>_<2B^snQ&5x=twKvG$ruh?PX5{Hib&ij7H=6 zD9`C>AJJxv?*nO>ejDNWUbN^($I4y>*l81*r&{qEHskLZaaM)X9&eL*R+ebE#Vm2N zHV;fk*j)wmau-Hzm7ZItP`mObiHq}b%Wvq09MrlgKg66brmuk_Y9Vg@s~dY>wZz5* z!?YY|jO}UYDL3F=K;+$NR(hHvJCSJxZ9>EOyOPCEx}ab9 k> z279$J-Pm5^WEjk$*gTZXx1ej>2Es3*5k%IWRU(|PLMPwhyf;&qorT%Dzt}b}$!3Fr zGP~H7UiXnG$Q*#Y8%{j~;uh58Vqr5o#5xz~d2{*P14m71vHW7q+v<$!&c4&{qm?#+ zljhA#nCl+72Ze(9G_$4_ACb1ti;M+=wwZ)mj_gP6to44iQcz*Kor_aYD_1K{A=Jd@ zHTLn&@0`b$$zQqiMtbhH*oAK{3Ujs9#9Z*7g$`A|k$MkKFY#!|#X<17Z__P*AjoZa z2jX}|>?={&R~MokF5z4zk~`#JqN*ra4!p>A3TkzE^liIz7qc=O<$!=l@*4VvBES igQq_#z4 z@!Etyp?c<$sJbRLzlqhehkpB&rb!K>({7HazkHR15v`R-*!hlB2vRS}*rU!;Q*q`M zS0n7qFSI=k89s%U#mchS>zby+cDd~1i5V-2IN>O(=}j(mGhyyldG-$qzd_-=XiCyc zwTz)y(>oB2Nao9*dplmWC?G`j@QK-P%hkq5R 1zF(phc)VCmdtSdG7s?ON4EEV zbfzG9T&k?+ pS=fu#VXJGpKs9O^SYrZ=gD@=6sz;;)h~aN=|(6WOXWi6;^OKb9lc7C zbg0|e+KTj`UcWuxariyYgfHNO4@B123r98rF28YTeuRQej&Py&KWQsy?cMHB3Q0=1 zD|1zpf~csdBR>WYARlOgbPp|r7_6$4bA9lA z-|g3@M;&oP0x_v#U~Vh2nE$cSN+XgcSnM8u|2)!yh05moONfVgu+-%%wO?GxA8Z+a z4SbcSR nEwZO-Ee_3sN3C&P0G!?Ydm*B`39;3a&{< zD9Le8OTyx|aJZr&U>A##{o1#$a0)$6EBJh5%O;*AphMG~^$?bW_w-jWlF z95Hk=DOgqs^8i7&B2Hi@`TU_vYRQ3wrB#u{B?d2lHC |(`r2T5^ Xe5$BGvM>!Q`%93LMaVOS9~0+zwvWG>TprC&O*L$}8kfRE={ z|8((9-AUteBtL3AC@V 5A7K1G6E8uX zyoCkz7l-6F!M9rb7aO36;iMvXTyJHqPDW8D%=&stV&n3Pw+FJ5jzh5pTDjlTFsedJ z6ZVDz!~VWi<|?G33Rf%P2&8dVB!nM7OUXF*Q3U2Me&XWyTE%ndsEW)o3~LcT*_6a& z#ZDP