2020-11-04 10:45
配置 https 的时候, 要么配置 nginx 代理,要么配置 jfinal undertow, 不能两者都配置
方案一,通过 nginx 代理 https:
1: 专心配置好 nginx,你当前的配置应该没问题
2: jfinal 项目专心走 http,不要理会 https 的事。 假定 http 跑在 8080 端口
3: nginx 的 proxy_pass 代理到 http 的 8080 端口上去
方案二,直接使用 jfinal undertow 的 https:
1:按照文档进行配置:https://jfinal.com/doc/1-4
2:生产环境端口号使用 443
3:要注意请求是直达 jfinal undertow 的 443,中间不能再有 nginx 代理存在,无论这个代理是走的 http 还是 https,都不能有
如果你的服务器要同时跑多个项目,建议用 nginx 代理方案,否则可以用方案二
2020-11-03 15:00
@d小布 将源码下载下来才可以,eclipse 下载源码的方式是按住 ctrl 键,然后点击 jfinal 的某个类即可
2020-11-03 11:45
异常信息:java.lang.RuntimeException: dao 只允许调用查询方法
dao = new TestConfig().dao();
上面的 dao 对象只能调用查询方法,不能调用 use(...) 方法,因为这个 dao 是全局共享的,如果允许 use(...) 的话,多线程环境下,会造成混乱
TestConfig.dao.use(sqlite).findAll() 改成:
new TestConfig().use(sqlite).findAll();
也就是说 Model 的 use , 临时 new 出来使用。 因为对于 Model 来说,切换数据源本来就是自动的, 绝大部分情况下无需 use(...) 来切换
use(...) 方法在 Db.use(...) 中用得多,因为 Db + Record 无法自动切换数据源, 需要主动调用 Db.use(...) 来切换