2018-12-13 21:56

@陈本布衣 3.1 到 3.5 有变动的地方基本就是改改类名改改方法名,5 分钟内完成升级,值得拥有

2018-12-13 21:52

删掉 servlet 的那个依赖,与 jfinal undertow 自带的 servlet 依赖有冲突,不是让你删 servlet 代码

2018-12-13 21:51

同学 @邶风 的方案最好,用全局拦截器,在 inv.invoke() 这行代码的前后安插时间点,记录其差值即可

如果希望记录静态请求的时长,用 handler 就好,方法与拦截器类似

2018-12-13 21:50

程序有问题,单步调试定位一下

此外,redirect("/mms/mmsSendResult.html") 肯定是错误的, redirect 重定向到一个 action

2018-12-13 21:48

method: 'GET' 这个必然是错误的,必须要是 POST,然后注意后台先 getFile() ,然后再 getPara, 在文档中有过说明

2018-12-13 21:47

@码通科技 记得搞定后回来在分享频道分享一下: jfinal.com/share

2018-12-13 21:46

@shenyao 必然可以:
UndertowServer.create(...)
.setContextPath("abc")
.start()

2018-12-13 21:42

org.apache.catalina.session.StandardSessionFacade 这个类不能被序列化,所以保存到 reids 时抛出这个异常

将这个对象从你要保存的数据中去除即可

注意:上面这个不能保存的类,并非你直接保存才报错,通常是间接保存出问题的多

什么叫间接保存,假定你有一个对象叫 Aaa, 还有一个对象叫 Bbb, 你 Aaa 持有了 Bbb 这相对象,这里你保存 Aaa 的时候, Bbb 会被间接保存

2018-12-13 21:38

配置成全局拦截器:
me.add(new MyInterceptor());

2018-12-13 21:38

在 CommonConroller 中直接添加你想要的 _initialize(),然后给配置一个全局拦截器,调用一下即可:
public void intercept(Invocation inv) {
CommonContorller c = (CommonController)inv.getController();
c._initialize();
inv.invoke();
}

2018-12-13 15:50

我自己也收藏一份,下次有同学问这个问题,直接扔链接

2018-12-13 15:43

这个分享十分有用,已经有两个同学有这个需求了,如果再多来几个同学,官方文档会添加这个内容

2018-12-13 13:34

Filter 的优先级高于 servlet , 所以 serverl 的 mapping 与 filter 有冲突时要配置 UrlSkipHandler

上传文件必须要好使,否则 jfinal undertow 1.3 不可能发布

2018-12-13 13:32

通过下面的办法解决:
1:多个项目跑在不同的端口上,分配不同的域名,都各自开启 https
2:安装一个 nginx
3:配置 nginx 监听 443 端口,通过不同域名将请求转发到不同的 https 项目

让 jfinal undertow 自己管理 https 以后,你的 nginx 配置会变得极其简单

2018-12-11 21:20

建议升级到 jfinal 3.5,最新版本将 setBaseViewPath 挪到了 routes 中