2020-07-23 16:06

在 configPlugin 中要添加 ActiveRecordPlugin , 让其先被启动才可以

2020-07-23 13:54

@Dirge jfinal.com 跑了 8 年从来没碰到过 JVM 挂掉的事, JVM 挂掉一般是项目代码本身有问题,例如 JNI 调用时出现野指针,内存泄露等等

2020-07-23 13:52

@1377205950 这个是为了防止攻击者上传 jsp 文件,然后直接请求 jsp 来攻击你的系统

虽然 jfinal 是阻止上传 JSP 文件的,但攻击者有各种办法来绕过上传,所以高版本才添加了这个安全防护

添加这个防护,必然是可以通过配置打开的,在 configConstant(Constants me) 中配置:
me.setDenyAccessJsp(false);

最后,在升级文档中也有过说明:
https://jfinal.com/doc/14-1

注意看上述文档中的第 13 小节

2020-07-23 11:04

这个是 JVM 挂掉了,不是掉线

JVM 挂掉网上有很多资源,搜一搜

2020-07-23 10:10

@1377205950 可能是抛出了异常才去的 getErrorRender 调试到那个异常之处

2020-07-22 20:17

乱码问题没啥好办法, 只能一步步调试,找到是哪一步乱掉的,然后解决掉它

2020-07-22 20:17

如果 MapClassService 内部本身有死循环就会死循环,例如你的 MapClassService 像下面这样来写就会有死循环:
public class MapClassService {
MapClassService me = new MapClassService();
...
}

上面的例子是极端情况,另一种情况是 A 里头 new B , B 里头 new A , 造成死循环

这种事情肯定是与 jfinal 无关的,jfinal 的 Aop.get(...) 支持循环注入,也就是 A 里头可以注入 B , B 里头可以注入 A, A 里头注入自己也是可以的,例如:

public class MapClassService {
@Inject
MapClassService me;
......
}

注意,这里说的是注入支持循环依赖,而最前面那个例子是 new 出对象,不支持循环依赖,这个是 java 语言决定的,jfinal 不管这事

2020-07-22 16:59

一次请求只能有一次 render, 那么你在 renderFile 后再 render(..) 肯定是不行的

删掉 render("../layout.html") 即可

2020-07-22 15:52

善用断点 + 调试,这个技能是最强大的排错技能

2020-07-22 15:52

可能的原因:
1:当前修改的 controllerKey 并不是真正冲突的
2:自动编译没打开,改动没生效

除了仔细肉眼排查外,更专业更快的解决方法是在 ActionMapping 中设置断点,查看现场,看看出现这个异常的时候其 controller、method 是哪一个,立即就清楚了

2020-07-22 15:50

用 ProGuard 没错的,我上学的时候就用这东东,百年老店,值得信任,谢谢分享,赞

2020-07-22 15:49

设置断点,单步调试定位错误出在什么地方,很快就能解决

404 这种错误基本上都不是个事

2020-07-22 15:47

@眼睛想旅行 映射关系让生成器去生成,不用自己管理这些事,避免出错

2020-07-22 15:47

在 statement_close 回调中输出 sql ,这个思路不错,赞

2020-07-21 22:02

应该是 Model 没有映射,或者是数据源没启动

单步调试进入 findFirst 中看一下