首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
jfinal club
linuxea
2017-08-22 16:18
詹总好。在jfinal club项目里面,我看到注册登录的方案是自己创建一个id来放在cookie里面做识别的。我想请问一下为什么不用jsessionid那个javaee规范里面的呢?
项目:
JFinal
2
评论区
JFinal
2017-08-22 16:26
jsessionid 用的是 javaee 里面的 session,做集群的时候要考虑到 session 的共享,不能直接部署成集群
而 jfinal club 中的 session 是存放在共享的数据库中的 session 表里面的,你可以直接将 jfinal club 部署成集群,集群中的每个节点共享的是数据库中的 session 表中的数据
每个节点中的 ehcache 也对 session 做了缓存,避免每次都去读数据库,这样既保障了集群,又保障了性能
jfinal 源码直播完成后,会再开启 jfinal club 的源码的直播,session 是重点会讲的地方
回复
linuxea
2017-08-22 16:36
@JFinal
嗯。原来如此。还有个问题想不明白,jsessionid是 javaee 里面 session 的id。那是不是客户端访问的每个站点的cookie中应该都有一个jsessionid呢?可是我查看浏览器的每个站点,除了自己现在正在开发的项目外,其它站点都没看到jsession在cookie中的存在。
回复
JFinal
2017-08-22 16:38
@linuxea
jseesionid 只是一个 cookie 的 name 值而已,不同的项目用的名字不一样,例如 tomcat 用的是 jsessionid,而 php 用的别的,如果你用 jetty 的话可能又是另一个名称
比较大点的站点都会自己取名,例如本站就是 jfinalId,本质就是一个 cookie
回复
linuxea
2017-08-22 16:49
@JFinal
我还以为jsessionid是java ee 规范的一部分。我打开查看jfinal站点的cookie,只有pgv_pvi,和pgv_si,可是为什么并没有看到您说的jfinalId呢?
回复
linuxea
2017-08-22 16:51
我原先的想法:jsessionid名称是javaEE规范的一部分。原来不是。而是跟服务器挂勾的
回复
ThreeX
2017-08-22 18:42
你用内置的jetty跑club,好似没有jsessionid之类的ID的。上次我还奇怪咋没有?以为项目内有搞事,然后换用汤姆猫发现有jsessionid了。
回复
linuxea
2017-08-23 09:57
@ThreeX
我用的是tomcat
回复
linuxea
2017-08-23 09:57
算了。不纠结这个了。原理知道就好。:/
回复
JFinal
2017-08-23 16:56
@linuxea
jfinalId 一定在,只是你需要细心点才能看到
回复
linuxea
2017-08-23 17:02
@JFinal
真的看到了。一个域名是jfinal.com,一个是www.jfinal.com。前面那个没有。怎么有两个东东呢
回复
发送
我要反馈
热门反馈
扫码入社
而 jfinal club 中的 session 是存放在共享的数据库中的 session 表里面的,你可以直接将 jfinal club 部署成集群,集群中的每个节点共享的是数据库中的 session 表中的数据
每个节点中的 ehcache 也对 session 做了缓存,避免每次都去读数据库,这样既保障了集群,又保障了性能
jfinal 源码直播完成后,会再开启 jfinal club 的源码的直播,session 是重点会讲的地方