Tag: 规范化

ESAPI规范化畸形url

我们有一个接受用户url的应用程序。 这些数据需要validation,我们正在为此目的使用ESAPI。 但是,我们正在努力处理包含&符号的url。 当ESAPI在validation之前规范化数据时,会出现此问题。 例如,URL中的&pid = 123变为πd= 123。 由于π未列入白名单,因此validation失败。 我已经尝试过对它进行编码,但是ESAPI比这更聪明,并且规范化以避免双重编码和混合编码。 我有点难过,我不知道该怎么办。

用于文本规范化的Java库

我正在寻找允许文本“标准化”的java库。 类似于标准的Normalizer ,但更宽(类似于utf8proc LUMP)。 它应该将所有类型的特殊字符替换为ASCII等效字符(如果可能的话)。 代码为32的所有空间变体,所有变量的缺陷(长,短,薄等)到代码45等等。

如何在Java中规范化WSDL文件?

我需要找到两个WSDL文件的差异。 我开始像这里一样漂亮地打印它们,但是我看到在不同顺序中定义的两个文件(出于任何愚蠢的原因)中有相同的东西(例如complexType s)。 我想进一步规范化文件,以后我可以使用标准diff类的东西来找到差异。 不知道是否有一个定义的WSDL规范forms,我知道有Canonical XML ,但我需要更进一步,排序所有顺序无关紧要的事情。

我使用番石榴的理想缓存

在过去的几周里,我一直在尝试使用guava的MapMaker找到理想的缓存实现。 请在此处和此处查看我之前的两个问题,以了解我的思维过程。 根据我所学到的,我的下一次尝试将放弃软值,转而使用maximumSize和expireAfterAccess: ConcurrentMap cache = new MapMaker() .maximumSize(MAXIMUM_SIZE) .expireAfterAccess(MINUTES_TO_EXPIRY, TimeUnit.MINUTES) .makeComputingMap(loadFunction); 哪里 Function loadFunction = new Function() { @Override public MyObject apply(String uidKey) { return getFromDataBase(uidKey); } }; 然而,我仍然在努力解决的另一个问题是,即使它们的时间很长,这个实现也会驱逐对象,即使它们是强烈可达的。 这可能会导致多个对象在环境中浮动相同的UID,这是我不想要的(我相信我想要实现的目标称为规范化)。 所以,据我所知,唯一的答案是有一个额外的地图作为一个内部人员,我可以检查,看看数据对象是否仍在内存中: ConcurrentMap interner = new MapMaker() .weakValues() .makeMap(); 并且将修改加载函数: Function loadFunction = new Function() { @Override public MyObject apply(String uidKey) { MyObject dataObject = […]

与StringByFoldingWithOptions相同的是什么:locale:在Java中?

我正在寻找标准化标题列表的方法。 标题被规范化以作为排序和查找键存储在数据库中。 “Normalize”表示许多内容,例如转换为小写,删除罗马重音字符或删除前面的“the”,“a”或“an”。 在iOS或Mac中,NSString类具有stringByFoldingWithOptions:locale:方法来获取字符串的折叠版本。 NSString类参考 – stringByFoldingWithOptions:locale: 在Java中,java.uril.Collat​​or类似乎对比较很有用,但似乎无法为此目的进行转换。