2024-12-09 15:39

不要部署在 ROOT 下,要另外创建一个目录,用配置指向它,tomcat 、jetty 都有这个问题,与 jfinal 无关:

https://my.oschina.net/jfinal/blog/353062

2024-12-09 10:44

druidPlugin 是否添加到了 Plugins ?

public void config(Plugins me) {
me.add(druidPlugin);
}

如果添加过,在系统关闭的时候会关闭 druid ,不会出现这个提示

当然,前提是你的系统关闭不是强行关闭,如 kill -9 ...

kill -9 关闭不会等待线程结束

2024-12-07 15:57

@北流家园网

参考这两篇文章:
https://jfinal.com/share/1899
https://jfinal.com/share/1890

2024-12-07 11:11

undertow 默认不支持 jsp , 缺少 javax.el.ELResolver.java

将 jsp 换成 jfinal enjoy 试一下

2024-11-29 17:06

@zzutligang 只要你不将参数拼接到 sql 就没问题,这里的参数指:字段名、表名、参数值等等一切拼接成 String sql 语句的部分

2024-11-24 12:46

@caoyuan1 是否还需要这个:
if (UploadConfig.whitelist.contains(extName)) {
return true;
}

改为 :

if (UploadConfig.whitelist.contains(extName) || UploadConfig.whitelist.isEmpty()) {
return true;
}

这样全部放行了,安全性就降低了,现在绝大部分对 java 系统的攻击集中在文件上传 + sql 注入

2024-11-22 14:09

白名单、黑单名提供了配置,可以自行控制,删除所有白名单就相当于让位于你业务自己控制

2024-11-18 20:20

@北流家园网 在 baseController 覆盖一下 getModel 系列的方法,支持一下这个数组的注入

injectModel 回调了 getModel 方法,很方便扩展

2024-11-18 14:49

先用一下 json 注入,这个注入数组非常方便,或者暂时换种方式,暂时不用数组

form 表单的一个字段传递数组这种方式本来就用得少

2024-11-14 15:24

利用生成器生成 base model、model, json 工具会针对 getter、setter 方法自动处理成驼峰

2024-11-14 11:28

jfinal 自身就有这些转换的代码可以参考,仔细看一下这里:
https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/core/paragetter/BeanGetter.java

2024-11-10 10:41

@杜福忠 同学的方案来了: https://jfinal.com/share/2764

2024-11-10 10:40

这个功能有不少同学需要,相当有价值,点赞 + 收藏, 以后有同学问,直接上链接

2024-11-07 17:09

多数据源事务是 "分布式事务" 的范畴, jfinal 并不支持

"分布式事务" 很麻烦,而且性能不高,如果一定要支持的话,找一找中间件,例如 sharding jdbc , 搜索一下,或者问一下 chat gpt "sharding jdbc 分布式事务"。

专业的人干专业的事,分布式事务交给这些成熟的中间件去解决。 这类组件对开发是透明的,配置好之后,给 jfinal 的仍然是数据源,jfinal 这边代码不变

2024-11-04 14:54

最近几年好些微服务实践的用户和朋友在从微服务转回集群模式

微服务成本极高,如果你在大厂有钱、有人力、有快速动态扩容需求那无可厚非

绝大部分公司用集群是省事的方案,mysql、redis、jfinal 三类节点做好集群就好

jfinal 在微服务大火的头两年确实有过进入这个战场的冲动,甚至还写了上万行的代码,但最后忍住没参与,因为这与 jfinal 定位不符, jfinal 建立的是一个小而美的世界

当然,小而美并不是说只适合小系统,而是说 jfinal 自身是小而美的