2019-04-20 00:05

@西门吹牛 tomcat、jetty、undertow 都支持 websocket,配置稍有不同

2019-04-20 00:04

cookie 的交互流程在 Java web 中是这样的:
1:setCookie(...) 并给浏览器响应以后
2:浏览器发送请求到服务端的时候会带上前面 setCookie(...) 过来的值
3:服务端接收到浏览器请求的时候,可以通过 getCookie() 读取

以上流程中可以看到,你无法通过 setCookie(...) 再立即 getCookie(...) 获取到 cookie 值,因为 cookie 值必须是通过浏览器发送过来的

2019-04-20 00:02

controller.getCookie(...) 是去读取浏览器发送过来的 cookie 值,并不是你通过 controller.setCookie(...) 过来的值

这个是 java web 规范决定的,不是 jfinal 的行为

解决这个问题的办法是:既然你都可以 controller.setCookie(...) 了,那么你本身就持有了这个 cookie 值,通过变量传递过来使用即可

2019-04-20 00:00

后台管理部分用的 bootstrap + jquery

前台是手写的 css、html 加上 jquery

2019-04-19 23:57

RedisPlugin 在一开始的定位就是作为一个中心化存放数据的地方,没有想过支持分布式与集群

在 jfinal 中使用 RedisPlugin 的大多数据场景为了支持应用项目的集群与分布式,而不是 reids 的集群与分布式

2019-04-19 23:54

RedisPlugin 仅仅是对 Jedis 做了极薄封装,并未涉及分布式

2019-04-19 23:52

做一个 handler ,将用户的请求通过 OkHttp 这类工具做个中转就可以了

2019-04-19 11:54

根据文档配置一下 undertow.hotSwapClassPrefix=...

2019-04-19 09:20

在这个页面点击一下刷新会发现并不会发生这种事

这个问题只能通过单步调试去看看到底发生了什么

2019-04-18 16:12

本质是因为自从 jfinal 3.6 版本开始,为用户自动调用了下面的代码:
activeRecordPlugin.getEngine().setToClassPathSourceFactory();

所以 sql 管理所使用的模板引擎会默认去 class path 与 jar 包中寻找 sql 文件

感谢分享

2019-04-18 15:48

jetty-server 升级到 2019.3 这个版本

或者将 jetty-server 改用成 jfinal-undertow

jfinal undertow 是目前推荐的方式:
https://www.jfinal.com/doc/1-2

2019-04-18 15:47

异常提示:Illegal base64 character 3a

数据不符合 base64 的规则

2019-04-18 12:14

先将 nginx 停掉:
nginx -s stop

然后用纯 jfinal 项目做好这些事情,目的是先在避免 nginx 干扰的情况下理清认知

搞定以后,再将 nginx 加回来

2019-04-18 12:13

拿到 jfinal 中的 QrCodeRender.java 源码,然后将其中输出的地点从 OutputStream 改成你自己的 FileOutputStream 即可

也即将 QrCodeRender 输出的目标改成输出到你的文件之中