2017-08-26 15:20

异常信息内容没有任何地方与你添加的 jar 有关,很可能是 tomcat 的 webapp 里面有其它的项目,又或者是 tomcat 自身的 jar 包有问题造成的

检验方法很简单:独立运行 tomcat 的 startup.sh 或 startup.bat , 独立启动 tomcat

2017-08-26 12:43

configEngine(Engine engine) 这个方法中的 Engine 对象,默认已经将 baseTemplatePath 设置成了 PathKit.getWebRootPath(),大部分情况下不需要再干预,而且这个值也是 web 项目最佳的配置

少数 maven 类型的 web 项目将模板放在了 src/resources 目录下,最终会被编译到 classes 类路径之下,使用下面的配置是最好的:
engine.setBaseTemplatePath(null);
engine.setSourceFactory(new ClassPathSourceFactory());
这个在手册里面有说明

2017-08-26 10:24

解决办法极其简单,不管用户登录还是没登录,都让其持有一个 session 对象,都在数据库的 session 表中创建一条记录

然后,再为这个 session 添加一个 isLogin 字段,没登录就是 0,登录就是 1。通过 session 对象去获取用户的 account 对象时,先判断一下 isLogin 是否为 1

当然,对于没有注册的用户,accountId 设置为 0 就可以了

2017-08-25 21:34

@pfjia 自定义一个 RedisExt 扩展工具类就好,好多人都是这么做的,用 jfinal 提供的 redis 插件完成绝大部分功能,无法实现的功能通过 RedisExt 完成

RedisExt 内部主要是通过 Redis.use().getJedis() 获取底层连接来实现想要的功能,注意在用完 getJedis() 连接后,要在 finally 块中 close() 掉,回收资源

2017-08-25 21:32

arp.start() 要放在 arp.addMapping(...) 之后,一定要在所有准备工作完成后,再 start()

2017-08-25 16:23

干净利落,超赞

2017-08-25 14:31

@253045431 这个参数与重复加载没有关系,重复加载很可能是这个问题:
https://my.oschina.net/jfinal/blog/353062

2017-08-25 14:30

@yi大师 这个是 java 语言层面的语法错误而已,改下就好

2017-08-25 11:42

代码有错误是什么意思?

2017-08-25 11:29

@pfjia 所有记数的 api,要读数据的话,使用 getCounter(key) 就好

2017-08-25 11:28

使用 maven 将多个不同的业务做到不同的 maven module 中去,maven 本身就有 module 的组织方式,这样做的最大好处是可以将多个模块中共用的功能抽取到一个独立的 module 中

例如,你的这四个模块,可能要共用所有的 model 类,以及共用一些工具类,那么你可以先抽取一个 common 的 maven module 来,让其它四个 module 都依赖于这个 common module

有些模块没有 web 也可以使用 jfinal,例如 jfinal 的 ActiveRecordPlugin 以及 template engine 都可以独立运作,不一定要在 web 中, 具体使用方式见 jfinal 手册

2017-08-25 11:23

@tommy_sir GlassFish 居然有这种问题,以前从来没碰到过

2017-08-25 11:18

@linkzz @jambolleo 第 179 行代码如下:
columnMeta.defaultValue = rs.getString("COLUMN_DEF"); // 默认值

是一个取默认值的方法,而该方法前面还有很多 re.getString(...) 方法已成功被调用,按理说要是不能调用 rs.getString(...) 那么所有都不能调用。所以这个问题很可能是 oracle 的一个 bug

建议的解决办法有如下三个,任选其一:
1:columnMeta.defaultValue = rs.getString("COLUMN_DEF"); 这行代码直接改成:columnMeta.defaultValue = "",也就是不再使用这行代码
2:尝试去掉 201 行的 rs.close(); 看有没有效果
3:多尝试几个驱动程序

2017-08-25 09:36

开发阶段没隔5秒扫描一次被修改的类文件,作为热加载的依据

2017-08-24 22:26

@tommy_sir 服务端用的是什么解析器? 是否在用 jfinal 官方提供的 cos.jar,在首页右侧下载 jfinal-3.2-all.zip 里面有这个 jar 包