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:09
@时光飞逝TL 这个是由 http 协议决定的,协议中规定对于 multipart request 请求,其中的数据格式是特定规则的,所以需要调用 getFile() 去解析这个规则下的数据
2020-03-23 11:08
@时光飞逝TL 关键看请求类型,如果是 multipart request 类型,就需要先 getFile() 这个是 http 协议决定的
2020-03-23 11:06
@Code_Cat 上面的 dataType 是指返回值类型,不是你提交的类理,提交的仍然是 key value 形式的表单域
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);