2020-03-23 14:39

用一个拦截器就可以了,参考文档频道的拦截器的使用

2020-03-23 14:39

不同数据库行为可能不同,需要你自己试用一下

2020-03-23 11:42

以上是 jfinal.com 官网的 nginx ssl/https 配置片段:
server {
listen 80;
listen 443 ssl http2;
keepalive_timeout 70;

server_name jfinal.com www.jfinal.com;
root /app/web/jfinal-com/webapp;

ssl_certificate cert/20200618_www.jfinal.com.pem;
ssl_certificate_key cert/20200618_www.jfinal.com.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;

以下是 location 配置......
}

其中 /app/web/jfinal-com 就是本站的 jfinal undertow 项目下的 web 项目

以上配置基本上是可以照抄的,几乎是最简洁的 nginx ssl/https 配置,既支持 https,还支持 http2 , 极大提升访问速度

注意 listen 443 ssl http2; 是最简洁的 ssl/https 配置

第一行的 listen 80; 是在支持 https 的基础上再支持 http,最简洁的配置

2020-03-23 11:35

只需配置其中一个

如果配置 nginx 上的 ssl/https, 那么就不需要配置 undertow

如果配置了 undertow 就不需要配置 nginx,并且不能让 nginx 来代理。因为如果让 nginx 来代理,意味着用户的请求先到达 nginx,那么就需要 nginx 支持 ssl/https

所以,最终的结果是,如果安装了 nginx 并用了它的代理,就必须在 nginx 上配置 ssl/https。 当 nginx 不存在时,单独配置 jfinal undertow 的 ssl/https 即可

2020-03-23 11:30

@zhangtianxiao 挺爽,收藏一下

2020-03-23 11:11

这种用法在较低版本中能否使用?

2020-03-23 11:09

@时光飞逝TL 这个是由 http 协议决定的,协议中规定对于 multipart request 请求,其中的数据格式是特定规则的,所以需要调用 getFile() 去解析这个规则下的数据

2020-03-23 11:08

@时光飞逝TL 关键看请求类型,如果是 multipart request 类型,就需要先 getFile() 这个是 http 协议决定的

2020-03-23 11:07

@小白菜111 2.5 已经发布到 maven 中心库有一段时间了,可以使用

2020-03-23 11:06

@Code_Cat 上面的 dataType 是指返回值类型,不是你提交的类理,提交的仍然是 key value 形式的表单域

2020-03-22 23:32

在 spring 场景下使用 jfinal 的 ActiveRecordPlugin 是很爽的事情,比 hibernate、 mybatis 简洁方便得多

2020-03-22 23:31

通过你的回复可以得知你对代码的调试还不熟练, 调试代码是开发的最基本技能,这个技能甚至与你掌握 java 语法同等重要

2020-03-22 23:29

@yunqi query 方法确实没有进入 builder

但是扩展 query 方法更简单,大致步骤如下:
1: 创建一个 MyDbPro.java 继承 DbPro,并覆盖其中的 query 方法,改掉里面的获取方式,学习一下前面我回复中的 Builder 中的 if 判断

public class MyDbPro extends DbPro {
public MyDbPro(String configName) {
super(configName);
}

protected List query(Config config, Connection conn, String sql, Object... paras) throws SQLException {
改写这个方法内部的实现
}
}

2:在 configPlubin 中通过如下配置,用下自己的这个 MyDbPro
ActiveRecordPlugin arp = new ActiveRecordPlugin(...);
arp.setDbProFactory(configName -> new MyDbPro(configName));
me.add(arp);

2020-03-22 23:19

前端搞出乱码的问题必然与 jfinal 无关,因为 jfinal 是后端框架,无法干预你在前端搞出来的事情

2020-03-22 23:19

data 中的数据应该是 json ,而不是拼成一长串的字符串,并且你的数据类型也没有指定为 json :
$.ajax(url, {
type: "POST"
, dataType: "json"
, data: {
processInstanceIds: ...,
deleteReason: ...
}
});