2017-08-22 17:34
@淡定007 下载本站首页右侧的 demo,里面有 dao 建议的用法,以前 demo 中的将 dao 放在 model 中的用法经常有人不注意只能调用查询方法,已不被推荐
2017-08-22 17:33
dao 是 Data Access Object 的缩写,不建议在 model 中创建 dao 对象,容易误用
建议在业务层创建 dao 对象,如下所示:
public class BlogService {
private Blog dao = new Blog().dao();
}
dao 只能用于查询,不能用于承载数据,为的是保障线程安全
上面的用法只有 find 属于查询类方法是允许的,而其它则不允许
简单来说就是 blog 中要承载字段/属性值,而这个 dao 又是 static 修饰的,会被全局所有线程所共享,不同的线程过来访问都来读/写其属性值,必然就乱掉了
2017-08-22 17:29
@Arjen-Ribery redirect 是告知浏览器再次发起一个全新的请求, setAttr(...) 过来的数据必须要丢掉,这个是浏览器的行为,更深点说这是 http 协议规范
因此,这个是很正确的结果,不必纠结
2017-08-22 16:38
@linuxea jseesionid 只是一个 cookie 的 name 值而已,不同的项目用的名字不一样,例如 tomcat 用的是 jsessionid,而 php 用的别的,如果你用 jetty 的话可能又是另一个名称
比较大点的站点都会自己取名,例如本站就是 jfinalId,本质就是一个 cookie
2017-08-22 16:26
jsessionid 用的是 javaee 里面的 session,做集群的时候要考虑到 session 的共享,不能直接部署成集群
而 jfinal club 中的 session 是存放在共享的数据库中的 session 表里面的,你可以直接将 jfinal club 部署成集群,集群中的每个节点共享的是数据库中的 session 表中的数据
每个节点中的 ehcache 也对 session 做了缓存,避免每次都去读数据库,这样既保障了集群,又保障了性能
jfinal 源码直播完成后,会再开启 jfinal club 的源码的直播,session 是重点会讲的地方
2017-08-22 12:00
@Angel、心脏 你的验证不是要显示在浏览器的页面中吗? 用一个 img 标签让其 src 指向你的验证码图片生成的 action 即可,看一下本站的登录验证码图片的 src 立即明白:http://www.jfinal.com/login