2020-02-08 14:47

meal 里的食物 ID ,存的是 "1, 2, 3" 一定要拆分改成一对多或者多对多关系,否则后患无穷

2020-02-07 11:14

@yxhjeremy 如果你用的是 jfinal-undertow, 那么是不需要自行引入 servlet-api.jar 的,因为 jfinal-undertow 已经帮你引入了最新版本

在 webapp/WEB-INF/lib 放的 jar 包,可以通过配置 pom.xml 中的 dependency 来解决:
https://www.jianshu.com/p/f50841f0963d

具体办法是配置其 scope 为 system,然后再添加一个 systemPath

如果有外部 jar 包不要放 webapp/WEB-INF/lib 下面,因为 eclipse 会默认再一次让这个目录下的 jar 包生效,这与前面的配置 pom.xml 的方式重复了

2020-02-06 21:24

检查打包后的 lib 目录下面的 jar 包, 可能出现了多个 servlet-api 有关的 jar 包,也可能是 servlet-api 的 jar 包的版本不对

2020-02-06 18:36

@永字诀 早就解决了,注意配置 undertow.hotSwapClassPrefix,文档中有:
https://jfinal.com/doc/1-5

2020-02-05 12:47

jfinal club 整体上就是本站 jfinal.com 的功能,代码简洁,很多功能直接可以用于二次开发,例如权限管理、内容管理、账户管理、登录、注册、账号激活等功能

2020-02-03 20:29

很可能是你有线程是 "非守护线程",JVM 无法退出

检查你项目中启动的线程是不是设置了 setDaemon(true)

2020-02-03 18:46

@琴海森林 我自己测试是没有问题的,可能有些同学的环境不同,后续版本我计划将 RedirectRender.java 中的注释再放开

2020-02-03 18:45

没真正重启成功

注意一下官方启动脚本里头有一个注释说明,讲到了 kill 指令的 -9 这个参数,如果出于什么原因无法停止项目,可以加上这个参数

2020-02-02 12:34

建议加入俱乐部,获取 jfinal 官网代码,一整套解决方案,十分便利:
https://jfinal.com/club

2020-02-02 12:33

jfinal.com 官网中就是用了这样的机制,很便利,例如:
public class BaseController extends Controller {
@NotAction
public Account getLoginAccount() {
....
}

@NotAction
public boolean isLogin() {
return getLoginAccount() != null;
}

@NotAction
public boolean notLogin() {
return !isLogin();
}
}

2020-02-02 12:30

getSession() 依赖于 Controller 内部持有的 HttpServletRequest request 对象,而你的 UtilController 继承 Controller 时,这个对象是不存在的

你可以引入一个 public class BaseController extends Controller ,然后在这里面添加 getIdentity() 方法。最后,你所有的 controller 改为继承 BaseController 即可

2020-02-02 12:16

代码缺失,注意修改本贴,点击工具栏中的 代码语言 下拉框,选择 java,然后再贴代码进去

2020-01-31 14:40

@崔佳鹏 打开控制台,输入下面命令:
javac

看看 java 编译器能不能被调用,就能验证了

2020-01-30 18:51

maven 的动作是在控制台执行的,所以,还需要修改环境变量

然后使用 java -version 查看命令行显示的是 JRE 还是 JDK

这个是基础中的基础

2020-01-30 17:59

@好好学习1111 方法如下:
public void onStart() {
new Thread(() -> {
这里放的代码会在新线程中执行
}).start();
}