【问题标题】:How do I go about allowing dynamically generated urls?如何允许动态生成的 url?
【发布时间】:2011-10-21 06:36:55
【问题描述】:
我在 struts/spring/hibernate 堆栈上使用 urlrewrite 3.2 版 java j2ee (org.tukey.urlrewrite) 框架,我希望允许我的用户为他们的个人资料设置一个友好的 url。 (/url 应该重定向到他们的配置文件) - 但是我们在根目录下静态定义了其他 url。如何编写过滤器,以便如果 url 不在我的数据库中,应用程序应该在 urlrewrite 过滤器中查找 url?
【问题讨论】:
标签:
java
struts
url-rewriting
【解决方案1】:
这有点倒退;该应用程序不会在 urlrewrite 配置中查找任何内容——该应用程序根本不应该知道 urlrewrite 存在。我看到了一些选项。
只要您不允许用户创建与应由 S2 处理的内容相同的 URL,您就可以使用 urlrewrite 将其映射到执行查找的 S2 URL,如果未找到,点击错误/未找到/默认页面。
您还可以创建一个位于 urlrewrite 和 S2 之间的过滤器,它与 urlrewrite 执行相同的操作,但在中间进行数据库查找。
您可以在映射的最后使用 wildcard mapping 来捕获其他所有内容并将 URL 用作查找操作的参数;这可能是最简单的。
您可以编写一个 S2 拦截器,但我认为我不会这样做。