2017-12-07 11:23

这个问题没有什么可深究的,不是配置有问题就是服务端不接受连接

与是否为 windows 版本 redis 没有关系,jfinal 对于 RedisPlugin 的开发就是在 windows 版 redis 上进行的

2017-12-07 11:21

添加一个 @Before(POST.class) 或者 @Before(GET.class) 拦截即可

通常不建议这样做,没太多必要

2017-12-07 11:20

根据日志找到是哪个地方报的异常,分分钟就解决问题了。很明显是 ActiveRecordPlugin 在创建时,并没有指定一个名叫 "alarm" 的名字,注意前后不能有空格

2017-12-07 11:18

游戏服务端通常是走 socket,而不是走 http。

http 是无状态协议,并且请求响应模式,无法从 server 端主动发请求给客户端。而游戏服务端需要的是 socket 双向通信的长连接

因此,jfinal 的 WEB 框架部分是不适用于游戏服务端框架的。但是 jfinal 的 ORM 部分是可以用于游戏服务端去操作数据库的

2017-12-06 21:58

@风三中 在首页有 jfinal 文档,没有下载?

2017-12-06 19:34

jfinal 是 WEB + ORM 开发框架,本身并不能部署运行。

如果需要尝试部署运行可以在首页下载 jfinal demo form maven 这个项目,部署、运行项目的方式与传统 java web 项目完全相同

2017-12-06 16:19

在异常中看到这个字眼: cron4j::scheduler, 难道你是在独立的线程中去使用 JSP 渲染? 这个很难找到合理的场景

2017-12-06 16:18

光看异常很难看出什么来,java 代码是怎样的?

此外,如果阻塞发生成 jsp 模板之中,这个 jfinal 是无法干预到的,因为 jfinal 仅仅只是将请求转发给 jsp 模板,并未做任何多余的动作,这个可以看一下 JspRender 源代码,只有一行核心代码:
request.getRequestDispatcher(jspFile).forward(request, response);

2017-12-06 11:19

@flash866 线程是 tomcat jetty 创建并管理的,jfinal 并不需要自行管理。 数据库连接资源的回收 ActiveRecordPlugin 会自行管理

用户断开连接以后线程不会消亡,而是下个请求过来以后重复利用,这也是比 php 性能高的重大原因之一,php 的 web 框架通常是请求过来临时准备环境,获取资源,请求处理完成后释放这些资源,而 java 的 web 框架则可以重复利用这些资源

2017-12-05 18:02

如果是渲染 model,可以这样:
model.remove(attr1, attr2, ..., attrn); 或者
model.keep(attr1, attr2, ..., attrn);
然后再这样:
renderJson(model);

2017-12-05 16:26

下面两行代码即可打完收工
me.setDevMode(false)
arp.setShowSql(false)

注意第一行代码是在 configConstant 中用,第二行是在 configPlugin 中使用

2017-12-05 16:04

在参考 FileRender 时,主要参考 normalRender() 方法里头如何向客户端发送数据就可以了

相对于 FileRender,去掉里头的 response.setHeader("Content-disposition"...),这个是设置文件下载的,你需要只是向客户端发送图片数据,而不是文件下载

最后,再注意设置好正确的 content type,网上搜索一下图片文件的 context type 该设置为什么,用上就好

2017-12-05 16:02

参考 FileRender 做一个 PictureRender,然后这么来用:
render(new PictureRender(图片文件参数));

2017-12-05 16:01

看一下 JFinalFilter 中持有的 Handler 属性,单步调试进去就知道了

2017-12-05 15:58

@刘进洪 jfinal 并未提供操作 poi、excel 的 api,建议找一下相关文档