是否可以在Java外部使用UrlRewriter并在Java中进行过滤?

时间:2010-07-06 10:44:45

标签: java email servlets url-rewriting tuckey-urlrewrite-filter

我已经设置了许多规则的UrlRewriterFilter(Tuckey),它对我的​​servlet非常有用。但我想使用相同的配置来重写servlet之外的URL - 在使用url生成电子邮件的代码中。

所以,我需要以某种方式启动UrlRewriter(或某种包装器)来处理传出的url,即用我在config(urlrewrite.xml)中定义的出站规则重写它们。

我想像这样使用它:

String prettyUrl = urlRewriter.rewriteOutgoingUrl(uglyUrl);

这有可能吗?如何实现这一目标?

2 个答案:

答案 0 :(得分:0)

您可能只需要初始化UrlRewriteFilter。由于您必须在web.xml文件中添加此项,因此UrlRewriteFilter配置文件可能会加载一次。我会尝试在你定义的一些包装类中的静态初始化器中加载它。要定义静态初始化程序,您需要做的就是在类中具有以下内容:

static {
   //Your initialization code goes here
}

此代码仅在运行时初始化一次。欲了解更多信息,请看这里: http://java.sun.com/docs/books/tutorial/java/javaOO/initial.html

答案 1 :(得分:0)

它是开源的。您可以查看它的源代码(http://code.google.com/p/urlrewritefilter/source/browse/trunk/src/java/org/tuckey/web/filters/urlrewrite/UrlRewriteFilter.java)并查看逻辑是否在独立类中可用,这些类不依赖于servlet请求/响应对象。如果是,只需使用它。否则,您可以基于原始源自己构建它,尽可能多地重用库。