2020-02-11 17:39

@和我聊聊天啊 jfinal 内部在关 connection 的时候是自动关闭 ResultSet 的

2020-02-11 16:26

@dragon688 仔细看文档,都在里头

2020-02-11 14:03

@dragon688 通过这种方式,你的项目在部署的时候,不再需要安装配置 JDK 了,从而实现了开发、打包、部署 一体化:
https://jfinal.com/share/1296

2020-02-11 11:18

这里有一个整合 jre 打包、部署的分享:
https://jfinal.com/share/1296

2020-02-11 11:17

此外,如果你希望打包的时候,将 jre 一起打包进来,可以修改 package.xml ,在其中添加 fileSet 配置进行复制

最后,如果使用 jre 而不是 jdk ,业务层 aop 需要配置切换到 cglib:
https://jfinal.com/doc/4-8

2020-02-11 11:15

将里头的 java 命令行带上当前路径即可,大致步骤如下:
1:将 jre 复制到打好的包之中,假定目录为 jre
2:将启动脚本中的 java 命令行添加上路径,例如:
./jre/bin/java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} &

注意关键处是: ./jre/bin/java

2020-02-10 20:27

getSql() 得到的 sql 中没有问号占位符, 但你在 dao.find(sql , ...) 的时候,后面却出现了参数,用法完全错误

你的 Kv.by 应该是用到 dao.getSqlPara(...) 的参数中, 而不能用到 dao.find 中

注意看文档中有关 getSqlPara 的用法,建议用 dao.template(...).find() 这种新用法

2020-02-09 21:01

@lhl_yn_km 异常已经很清楚了:
java.lang.UnsupportedClassVersionError: Preview features are not enabled for com/base/MainConfig (class file version 56.65535). Try running with '--enable-preview' (无法载入的.类 [com.base.MainConfig])

关键一句:ava.lang.UnsupportedClassVersionError

你部署环境境无法运行你编译出来的 .class 文件而已,注意编译时与部署时的 JDK 版本,同时也注意它的提示信息中的建议:
Try running with '--enable-preview'

2020-02-09 18:05

关键信息是这句:
09-Feb-2020 17:31:56.199 严重 [main] org.apache.catalina.core.StandardContext.startInternal One or more Filters failed to start. Full details will be found in the appropriate container log file

注意去 tomcat 自身的 log file 中去找错误,现有异常并不明确。从代码上看没有什么问题

此外,建议使用 jfinal undertow 开发,而不是 JFinal.start(...) 使用的 jetty

说到 jetty ,我估计是你 jetty 的 jar 包没删干净,从而与 tomcat 的 jar 包相关冲突,注意看文档中的有关说明,注意看第二小节的内容:
https://jfinal.com/doc/1-7

2020-02-08 19:22

最好的办法是规范数据,传输过来的数据要严格限定格式

2020-02-08 18:46

自己写个解析程序,可以配合正则表达式

如果你的每对 key value 之间的分隔符没有统一的话,可以先利用 JDK 中的 String.replaceAll(String regex, String replacement) 方法,将分隔符统一,例如统一成 "###":
str = str.repalceAll(regex, "###");
String[] keyValueArray = str.split("###");

上面两步就将所有 key value 全放到数组里头去了,然后你再利用:
kv.splite("=")
就可以将 key value 分离出来了

注意这些事都与 jfinal 无关

2020-02-08 18:40

可能是下载不稳,先将本地 maven 库中的相关目录删掉,让 maven 重新下载

另外,注意使用比较新的 maven 版本,还要注意配置好:
https://jfinal.com/doc/1-1

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 的方式重复了