2019-11-13 18:13

@小太阳cm so,直接使用maven库里已有的最新版Jfinal-undertow即可,也不用编译打包波总的最新代码。光把WebBuilder这个类的源码放到你项目里进行小改动就能用了。

2019-11-13 18:08

@杜福忠 只要是字符串,enjoy皆可撸!

2019-11-13 18:04

看来这个需求还挺多的,^_^

2019-11-13 11:27

@杜福忠 如果是properties文件,其实本身就有办法直接set改变值。如果不是properties文件,利用enjoy获取加密版的内容(需要一结构一致的模板),然后覆盖一下原文件就行了,代码不会太多,思路还清晰。

2019-11-13 11:04

@杜福忠 其实加密解密好处理,网上有的是代码。他遇到的难点应该是加密之后怎么让配置文件中的明文密码自动变为密文的。我猜的,因为他写的也不是太清楚。^_^

2019-11-13 09:57

@小太阳cm 其实不需要处理整个jar包,你只把WebBuilder这个类单独放出来就行,包路径保持不变,你也不需要再重新打包,因为这种情况下会以你外面这个类为准。后续波总正式发布新版本后,这个类就可以删掉了。

2019-11-12 21:06

@JFinal 第一天的时候我已经找到了undertow的最后一个跳转动作,在HttpServletResponseImpl类的doErrorDispatch方法中。这个方法本身就能获取request对象,所以其实不用传递(从handler中传递过过来我也试过了,根本获取不到)。但诡异的就是,在这个地方,engine需要重新addSharedMethod,否则就报找不到。再就是model.save会报空指针。所以现在有点抓狂。撇开这个思路,今天晚上的时候我突然有了另外一个点子,就是在Handler中获取请求的uri,有个这个uri,我能干很多事啊,是不是静态资源我能判断,静态资源是否有效我也能判断,无效的时候我就记录下来。这不也可以吗,也不需要开启jsp支持了。囧

2019-11-12 20:50

so easy,你从配置文件获取到用户名和密码之后,你要先判断下是明文状态还是密文状态,如果是密文的,你要先解密再用,如果是明文就直接用。关键就是用完之后了,我感觉你的意思是,这时候如果是明文的,自动变为加密的,对吧。如果你指的是这个意思,那很容易,使用对称加密算法如AES对密码加密,然后你建立一个模板,结构跟你的配置文件一样,使用enjoy将相关的加密参数传进去,获取String,然后将新的内容覆盖到原始的配置文件中。搞定,这样就实现了配置文件的自动加密功能。或许还有更好的思路,但是我这个肯定是可以的。

2019-11-12 10:32

@JFinal 根据第二个建议做了尝试,离成功还有一步之遥,目前遇到一个奇怪问题,就是这种情况下,调用model.save()的时候报空指针,经过跟踪发现DbKit中modelToConfig是{},但是Action触发404的时候就有值。

2019-11-11 10:52

@JFinal 对于第一个建议getDeploymentInfo这个方法我有看到,也尝试进行使用,但是在builder -> {}中耍不起来,修改ErrorPage 类,当时也有考虑,没深入研究,我抽空试一下。对于第二个建议,对于action触发的404中的request获取,我就是这么处理的。

2019-11-08 18:17

@JFinal 我已经搞定了,一会发个分享贴。