2020-02-12 16:29

这两种用法各有优缺点,主要看你使用的场景

linux 的 crontab 可以节省内存,java 程序中用 Cron4jPlugin 需要运行一个 JVM,如果你本身就是在某个 JVM 中要做这个事,写在 Java 程序中为好

具体要综合考虑,成本、效率、维护等等

2020-02-11 20:47

@teddybear 用 POST 请求,将数放在 http body 中,然后走 https 通道即可

2020-02-11 18:06

这个得看你加密的目的是什么,如果只是为了防止参数被第三方获取的话,走 https 通道就可以,不必这么麻烦

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

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