2020-01-16 19:39

如果你只改了 jar 代码,只需上传 innerVisitor-4.8.jar 覆盖掉服务器上的同名文件即可

如果你只改了模板文件,也只需要覆盖相应的文件即可

如果你希望每次部署不用重新打包,可以借助于 jenkins 这类持续集成工具,让打包部署自动化

2020-01-16 19:36

注意, webapp 路径在开发过程中是不需要指定的,是配置先天保障好的

2020-01-16 19:36

少了一个 webapp 路径,应该是项目配置有问题,也可能是 undertow.resourcePath 配置有问题,检查一下

2020-01-16 19:20

大概率是 undertow.txt 的路径不正确,确保以下几件事:
1:项目要是标准的 maven 项目结构
2:undertow.txt 文件放在 src/main/resources 目录之下

2020-01-16 19:00

将映射时的 "oauth/2.0/token" 改为 "oauth/20/token",也就是去掉小数点

然后用一个 Handler 做一下转换,将 String target 参数转换一下即可:
public class MyHandler extends Handler {
public void handle(String target ...) {
if (taget.startsWith("oauth/2.0/token")) {
target = target.replace("oauth/2.0/token", "oauth/20/token");
}
next.handle(...);
}

原因是 jfinal 会将带有小数点的 url 当成是静态资源,不会处理掉

上面的方案是将带小数点的 url 转成了不带小数点的,而 controller 被映射成了不带小数点的

2020-01-16 18:55

@李通 单步调试一下,我给出的代码是示例,要注意具体实现时的细节

2020-01-16 14:56

Map 参数还没有提供支持,但很容易扩展:
1: 参考 com.jfinal.core.paragetter.IntegerGetter.java 实现一个 MapGetter
里头的核心代码是:
public Map get(Action action, Controller c) {
return c.getKv(getParameterName(), getDefaultValue());
}

2: 注册一下这个扩展:
ParaProcessorBuilder.me().regist(Map.class, MapGetter.class, ....);

2020-01-16 14:51

@xiongshiyan 获取自增数据要使用 getCounter(...) 方法

2020-01-16 14:50

@任小伊roy 如果异出是在 controller 中进行的,在最后一行添加一句:
renderNull();

如果导出是在 handler 中进行的,注意要去掉 :
next.handle(target, request, response, isHandled);

并且要添加下面一行代码:
isHandled[0] = true;

2020-01-14 17:27

@yq95279527 性能上无差别, 用法是一样的,建议升级,这里有极其简单的升级文档:
https://jfinal.com/doc/14-1

2020-01-14 17:26

这个纯粹是 quartz 内部的运作策略了,或许 quartz 有配置可以调整这个值

线程如果不被调度是没有多少性能损失的

2020-01-14 17:24

arp.addSqlTemplate(ISource) 这个是专门用于扩展任意来源的 sql 模板的,赞

2020-01-14 17:22

强调一下,这两个问题与 jfinal 都是无关的,取决于你自己的代码

2020-01-14 17:22

@yq95279527 用 JDK 自带的 VisualVM 来分析,一般是两种情况:
1: 内存泄漏
2: 内存分配太快,以至于内存回收来不及

2020-01-14 17:21

@yao136 去掉数据库配置不影响, 官方 demo 中有一个关于打成 fatjar 的说明,要仔细看