2017-03-14 12:10

jfinal 的 Handler 在本质上就是为了让 web.xml 中干净清爽,并且覆盖掉 filter 的功能

所以,这个方向是对的。用的时候,先了解一下第三方 filter 之中的过滤规则,然后将这个规则放在 Handler 中体现就好了,Filter 中也仅仅是在处理 request、response,而 Handler 中也是在处理这两个东东

此外,还注意一下调用的传递,在 Filter 中是通过 filterChain.doFilter(...) 将本次请求转交给剩下的 filter 的,而 Handler 中是通过 next.handle(...) 将本次请求转交给剩下的 handler 的

2017-03-13 21:07

UserService.java 在 com.tcjweb.services 这个包下面,jfinal 并不存在这样的包,jfinal 的包是这样: com.jfinal.....

所以,如果包名有冲突,不会与 jfinal 的包名有冲突。与你的项目中对其它依赖的 jar文件内的包名有冲突倒是有可能的

2017-03-13 21:05

jdbcUrl 中注意设置一下字符集,例如:
jdbcUrl = jdbc:mysql://localhost/jfinal_demo?characterEncoding=utf8

2017-03-13 19:34

druid 自身有类似于 shutdown 和 destroy 类的方法关闭线程,如果是用的 jfinal 提供的 DriudPlugin,如果通过 me.add(druidPlugin) 过的,jfinal 会自动关闭线程,无需干预

此外,上面的代码之中 thread.stop() 这样的代码并不可靠,这个在网上有很多相关资料,这个方法的不可靠性或许就是你所碰到的有时候出问题,有时候不出问题的根本原因

2017-03-13 19:31

这个问题与包名冲突无关,多试几次就知道了

2017-03-13 17:43

上传图片看不到,可再编辑一下该贴子,重新上传图片。参数可以是中文,但要注意字符集为 utf-8

2017-03-13 17:27

@天涯刀 异常提示仍然是同一个问题

最简的解决办法是将线程给搞成 deamon 的,方法很简单,在 new Thread 的时候,传入一个 true 参数即可

其它解决方案,可以是使用一个控制变量,使线程可以完全退出。回到具体的两个问题:
1:tomcat 不是在启动的时候判断,而是在 shutdown 的时候判断是否有线程没有退出
2:要看你的监听事件的事处理方式,例如,是不是在同一个线程中处理的,如果是独立的线程之中,那么 tomcat 线程继续它自己的 shutdown 线程,而其它非 deamon 线程的停止动作还未完成,那么这个异常仍然会出现

2017-03-13 17:03

@hotsmile 扩展一下 Log 这个抽象类,然后实现 ILogFactory 接口,假定叫:MyLogFactory,最后通过 me.setLogFactory(new MyLogFactory())

参考已有的 JdkLog 实现非常容易写

2017-03-13 16:50

configEngine 中通常只需要使用 me.addSharedFuntion("xxx.html") 就可以了,该方法只有一个功能,就是将 xxx.html 中所有使用 #define 指令定义的“模板函数”添加为共享的模板函数

所谓共享地的模板函数是指,你在任何模板中都可以直接调用这些模板函数,如果你不使用 me.addSharedFunction(...) 来配置,那么想要调用这些模板函数,必须先使用 #include("xxx.html") 将之引入到当前模板之中,才可以调用

从你的问答中看出你并未理解 template function,不要把问题想复杂了,只需要注意如下几点:
1:将 me.addSharedFunction(xxx.html) 理解为在具体的模板中使用 #include(xxx.html) 添加所有 #define 指令定义的函数
2:使用 #define 定义的模板函数,可以想象成为 java 语言中定义的方法,方法有名称,有参数,方法之间可以互相调用

jfinal 模板引擎最重要的功能就是模板函数的定义与调用。其它的事情建议不要多想,再想很可能就想多了

2017-03-13 16:41

@Ferrari8899 在你的个人空间里面,点击左侧的分享菜单,出来列表以后点击删除按钮

2017-03-13 16:40

@Oliver 感谢支持 jfinal

2017-03-13 15:36

@Oliver springcloud 比 dubbo 要复杂很多,而且 spring cloud 与spring 的很多其它模块都有依赖关系,选择 spring cloud 方案,意味着你同时要学习 spring 的其它一些知识,因此学习成本会高出很多

建议使用 dubbo + jfinal 方案,已经有很多成功案例了

2017-03-13 15:07

不要将问答发布在《分享》频道,“如上图所示”看不到图,删了这个贴子,在反馈频道再发一个

2017-03-13 12:16

DemoConfig.configRoutes 中在添加路由时,不要添加 null 值 controller

2017-03-13 10:44

与 dubbo 整合的用法在几年前就在用了,这里就有很多可参考:https://www.oschina.net/search?q=jfinal+dubbo&scope=blog