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 我已经搞定了,一会发个分享贴。

2019-11-08 17:16

@JFinal 我一个特别的需求,就是要记录所有404的请求记录。很多网站渗透和攻击一般都会暴力遍历你的资源文件,比如XX.zip、XX.sql等敏感文件。这类操作肯定会触发404,我是想通过这些记录来自动屏蔽一些ip,间接保证系统安全。我之前用tomcat和jetty的时候就是这么干的,收获颇丰。这两个容器比较简单,从web.xml里配置一下就行。

2019-11-08 15:04

你贴的错误太少,个人感觉跟事务没关系,还是你的sql没有处理好。