2019-06-11 09:43

方案二确保一下你自己的代码在写文件时没有并发问题

例如,你的某处代码需要写某个文件,那么就要考虑并发写的问题。如果全是读文件就没有问题

采用方案二的时候要注意 jfinal.sh stop 关闭项目的问题,该命令是通过判断你项目的目录来关闭的,所以方案二在用这个脚本关闭项目的时候会将两个启动的项目一起关掉

方案一之下,你所说的文件上传问题,jfinal 多年前就做好了相关功能。你只需要配置一下:
me.setBaseUploadPath(...)

将这个 baseUploadPath 配置成一个绝对路径就可以指向项目根之外的地方,例如:
me.setBaseUploadPath("/var/www/upload");

此时,如果希望 jfinal undertow 可以将上传的文件当成 web 资源在浏览器中访问到的话,可以添加这个配置:
undertow.resourcePath=src/main/webapp, /var/www/upload

以上配置中可以用逗号分隔开多个目录,同时支持开发环境与生产环境的文件上传目录

当然,如果你前端用 nginx 接管了静态资源的访问,上面的配置可以不需要,而是在 nginx 中配置资源路径

建议使用方案二,因为更省事,升级也更方案,只需要升级一个项目即可。 方案二需要处理好 jfinsh.sh 中的 stop 函数,当然,如果你不介意一次性关闭当前项目的所有进程,也不用修改

2019-06-11 09:30

已经修改了文档 url 中的页号,谢谢反馈

2019-06-10 23:11

@124653847atqq.com 这个必然可以,做一个 Handler , 然后将 handle(request, response, isHandler) 中的 request 对象弄个包装类,覆盖掉其中的几个 getSession() 方法,返回一个你自己包装过的 session

让这个包装过的 session 存取数据使用 redis 即可

可以看一下 jfinal 中的这个类,里头就扩展过 session :
https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/ext/interceptor/SessionInViewInterceptor.java

2019-06-10 23:06

@天朝子民 你有权限,直接贴就可以,注意,贴的时候 src 要指向一个已经存在的图片

2019-06-10 23:05

@j1066783215 redirect 参数一定要正确

然后,看一下 jfinal undertow 版本是多少

2019-06-10 23:02

根据当前信息量,并不知道这个过程是怎样的,具体出了什么问题也不知道

2019-06-10 23:01

UrlManagerTest 这个 model 没有映射, 当前映射的是 UrlManager 而不是 UrlManagerTest,注意看代码:
arp.addMapping("url_manager", UrlManager.class);

映射这种事情交给生成器去做,不要手动,下载首页的 jfinal demo for maven ,里头有生成器使用的示例代码,直接用上即可

2019-06-10 22:59

@akak 你用到的这个 CounterGroupWriteEventListener 应该是不需要被代理的,所以在这个类上用一下 @Clear 注解清除掉全局拦截器即可

@happyboy 这个问题很少人碰到,而且异常提示没有意义,因为异常提示的是找不到 com.jfinal.aop 这个包,而你用 jfinal 开发,这个包是一定存在的

@happyboy @akak 麻烦你们二位能做一个可以重现这个问题的 demo 给我,下载首页的 jfinal demo for maven ,然后将这个 demo 改造为可以重现这个问题,发给我, 我在本地找找原因

2019-06-10 22:46

补充些文字说明会更好,光是一个抽象类看不出来怎么使用

2019-06-10 22:45

inv.getController().getRawData() 即可

2019-06-10 22:45

@zzufish 看上去是 me.setMaxPostSize(...) 配置没生效,看是不是 eclipse 的自动编译没打开,按理说是可以的

单步调试一下看看

2019-06-10 17:20

@疑思静想 搞复杂点被猜中的概率几乎为 0 ,就跟猜密码一样

2019-06-10 16:48

@pizi2019 引入 asm 不仅仅是多个依赖的问题,字节码操作的代码可读性很差

jfinal proxy 的方案 628 行代码,人人都看得懂,可读性很重要

2019-06-10 16:44

@hb963724769 扩展 render 可以灵活响应,扩展 RenderFactory 中的 getErrorRender 方法也可以

2019-06-10 16:09

@pizi2019 无第三方依赖一直是 jfinal 的目标,字节码方案也是一直在避免使用的