我正在使用urlrewrite版本3.2框架用于java j2ee(org.tuckey.urlrewrite)onstuts的struts / spring / hibernate堆栈,我想让我的用户为他们的个人资料设置一个友好的URL。 (/ url应重定向到他们的个人资料) - 但是我们已经在root下静态定义了其他网址。我如何编写一个过滤器,如果url不在我的数据库中,那么app应该在urlrewrite过滤器中查找url?
答案 0 :(得分:0)
这有点倒退;应用程序不会在urlrewrite配置中查找任何内容 - 应用程序不应该知道urlrewrite是否存在。我看到了一些选择。
只要您不允许用户创建与S2应该处理的URL相同的URL,您就可以使用urlrewrite将其映射到执行查找的S2 URL,如果找不到,点击错误/未找到/默认页面。
您还可以创建一个位于urlrewrite和S2之间的过滤器,它与urlrewrite完全相同,但中间有一个DB查找。
您可以在映射的最后使用wildcard mapping来捕获其他所有内容,并使用URL作为查找操作的参数;这可能是最简单的。
你可以编写一个S2拦截器,但我认为我不会这样做。