2020-09-11 10:14

用 Aop.get(...) 即可,文档中都有

2020-09-11 10:13

Model 没有提供复制方法,如果你的 Model 中都是一些 Integer、String、Double、Date 等等之类的基本类型是可以直接使用 setter 方法实现复制功能的,因为这些基本类型不允许修改,是共享安全的

如果你的 Model 有还有 Map、List 等之类的有结构的属性,就需要自己写复制方法

2020-09-11 10:09

你的网站点击几次就自动创建了很多 cookie, 而且 cookie 的域名是 baidu.com 以及 hm.baidu.com

异常提示是不能超过 200 个 cookie,随着时间的推移,cookie 数量会不断增加,你为啥要用这么多 cookie ?

如下是我随手复制的你网站产生的 cookie:



DRCVFR[dG2JNJb_ajR] mk3SLVN4HKm .baidu.com / Session 31 Medium HMVT 64ecd82404c51e03dc91cb9e8c025574|1599745820| .hm.baidu.com / Session 48 Medium __yjsv5_shitong 1.0_7_09060afb5ce9ef23d8ae8f48ec71e0079e23_300_1599745819959_175.0.57.242_ecc6cfb9 .baidu.com / 2020-09-12T13:50:19.000Z 97 Medium PSINO 7 .baidu.com / Session 6 Medium BDRCVFR[S4-dAuiWMmn] I67x6TjHwwYf0 .baidu.com / Session 33 Medium BDRCVFR[fb3VbsUruOn] rJZwba6_rOCfAF9pywd .baidu.com / Session 39 Medium ZD_ENTRY baidu .baidu.com / Session 13 Medium H_BDCLCKID_SF JRkOVI0-tIvDqTrP-trf5DCShUFsK-viB2Q-XPoO3KOoenkCK4PaLU0JXhrO--biWbRM2MbgylRp8P3y0bb2DUA1y4vpWjKDQ2TxoUJ23UokORQsqqQtqqkebPRiJPb9Qg-qahQ7tt5W8ncFbT7l5hKpbt-q0x-jLTnhVn0MBCK0MD09e5tKD5PVKgTa54cbb4o2WbCQWxnh8pcN2b5oQTtebU4qbt4D0a732PTybb3vOIJTXpOUWfAkXpJvQnJjt2JxaqRCBDLaSp5jDh3MQhDpyxjrelohHGby0hvctn3cShPCyUjrDRLbXU6BK5vPbNcZ0l8K3l02V-bIe-t2XjQhjHtOqT-Htn3aQ5rtKRTffjrnhPF3WMRbXP6-hnjy3b7y0bkK-JAaEp5dXbrW5P-UyN3MWh3RymJ42-39LPO2hpRjyxv4X65L3PoxJpOJ3NrZaJQ1HxjtKfnvbURvD--g3-AqBM5dtjTO2bc_5KnlfMQ_bf--QfbQ0hOhqP-jBRIE_C0yfI0KhKvPKITD-tFO5eT22-us-57l2hcHMPoosIOvbP4-K4RLLPb3WncObKviaKJjBMbUoqRHXnJi0btQDPvxBf7pBJFD-h5TtUJMsMo_y4jdqq_EqJ7yKMnitIv9-pPKWhQrh459XP68bTkA5bjZKxtq3mkjbPbDfn028DKuDjLKD5b3DaRf-b-XbIOyLb5VHJOoDDv6hxbcy4LdjG5x0nOJHRvHbKJn3RndVtb4DxRvblFS3-AqKjJGaKFq-t3tKCD2VqAl2JQkQfbQ0hOhqP-jW5IL-Dok3R7JOpvshfnxyb8UQRPH-Rv92DQMVU52QqcqEIQHQT3m5-5bbN3ut6T2-DA__C-MtD3P .baidu.com / Session 889 Medium BDORZ B490B5EBF6F3CD402E515D22BCDA1598 .baidu.com / 2020-09-12T02:04:55.880Z 37 Medium delPer 0 .baidu.com / Session 7 Medium BDSFRCVID wnCOJeC62GDpt-7rS0CEhLQtr2KKfYcTH6f3Bof6Vwba10QO1yqJEG0Ptf8g0Ku-V2NEogKKLmOTHpKF_2uxOjjg8UtVJeC6EG0Ptf8g0M5 .baidu.com / Session 116 Medium H_PS_PSSID 7540_32606_1437_7546_31660_7611_7625_32117_26350 .baidu.com / Session 58 Medium MCITY -158%3A .baidu.com / 2050-09-10T02:30:04.154Z 12 Medium BIDUPSID 6AEF3EE8528CF9CCAEFCF7A57A4D150E .baidu.com / 2052-07-08T16:22:28.000Z 40 Medium PSTM 1594916429 .baidu.com / 2088-08-03T19:34:36.936Z 14 Medium BAIDUID E12E761325CB6E7A226E2D12E62B1674:SL=0:NR=10:FG=1 .baidu.com / 2050-07-23T13:29:12.000Z 55 Medium HMACCOUNT_BFESS DBF41E2E1085D592 .hm.baidu.com / 2038-01-18T00:00:00.743Z 31 ✓ None Medium HMACCOUNT DBF41E2E1085D592 .hm.baidu.com / 2038-01-18T00:00:00.743Z 25 Medium
mk3SLVN4HKm

2020-09-11 09:51

SpringServletContainerInitializer 是否需要一个注册机制? 例如像 Servlet 一样在 web.xml 中的注册

2020-09-10 17:12

获取方式是 : getFile() 或者 getFiles()

你用的是哪个版本 jfinal ?

2020-09-10 11:47

@李通 "解决办法是开发基于 JVM 的动态语言",这个并不是在解决 JVM 的热加载,是另一种动态语言

2020-09-10 10:56

最后的最后,由于 jfinal 的热加载是通过重启项目(不是重启 JVM) 实现的,所以比起通过修改字节码方案的热加载要可靠简洁很多

与其它大厂的热加载不同,jfinal 热加载理论上可以用于生产环境,热加载过程会有短暂地停服,好在 jfinal 热加载是秒级的

2020-09-10 10:53

这个是 jfinal 提供的,核心代码在这里:
https://gitee.com/jfinal/jfinal-undertow/tree/master/src/main/java/com/jfinal/server/undertow/hotswap

注意,必须要对 java 的 ClassLoader 有深入理解,并且要实际做东西才能理解

为啥强调要实际做东西,这就好比卡中国芯片产业脖子的 "光刻机",全世界知道光刻机的原理,但只有荷兰 ASML 能做出最高端的

最后,由于 java 并不是动态语言,所以它的热加载仅用于开发,不要用于生产环境,历史上有几个大厂做过这方面努力,都失败了

2020-09-09 12:02

@hzh740053757 建议改成 #like(true, user_name, false) 这个设计

2020-09-09 12:01

@JJfinal 你的这个设计符合直觉:#like(true, user_name, false)

2020-09-08 15:57

@hzh740053757 指令执行以后,要么会向 Writer 中输出数据,要么不输出,输出完以后的数据只会展现为字符串形式,是不可能再参与运算的

所以,指令扩展不是这么用的,你可以用表达式来做:
#xxx( Ag - Cu )

多看看文档中的多种扩展方式,都很方便

2020-09-08 15:52

这种整合方式,不必修改 jfinal-undertow 项目,非常好

以前一些同学是改掉 jfinal-undertow 项目中的 JFinalFilter 换成 spring 的东东,显然不如这个方案好

2020-09-08 14:06

这个问题关键在于你的需求,不知道你要实现啥功能,所以也就无从回答

2020-09-07 19:36

必然可以

jfinal 是 web + orm + aop + template engine 框架,在其中可以直接使用任何第三方,不一定需要一个整合动作

正确的做法是,分别学会使用 jfinal 与 hystrix,然后用上即可

2020-09-07 19:34

这个需要自己添加代码来实现, undertow 在生产环境下不支持动态加载 class 文件

当然,你可以去除生产环境这个判断,让其也支持

只不过,要实现你的需求,我建议采用别的方案,例如通过扩展类加载器实现动态功能

还有一个比较简单的方案是通过 enjoy 模板引擎来调用,因为 enjoy 支持动态热加载模板内容

enjoy 模板中可以很方便与 java 互动调用各种功能,文档中有说明