如何在 J2EE 中进行动态 URL 重写

san*_*oid 5 java url url-rewriting jakarta-ee

回到我的 ASP.NET 时代,我使用URLRewriter.NET进行动态 URL 重写。基本上,它是一个 HTTPModule,它根据您定义的规则拦截页面请求并重写 URL,与 MOD_REWRITE 非常相似。但是,它还允许您定义“自定义转换”,这是一个具有单个方法的类,可以即时为您进行 URL 转换。你可以让这个方法访问数据库,访问 Application[] 集合,几乎可以做任何你想做的事情。

在 J2EE 世界中是否有任何等价物?我希望能够动态地重写 URL 并将这种重写委托给一些 Java 代码。我不想只设置静态重写列表。同样,它需要进行实际的 URL 屏蔽,而不是 3XX 重定向。

如果没有任何东西可以做到这一点,我将如何自己构建此功能?

Jé *_*eue 4

您研究过Servlet 过滤器吗?我没有尝试直接修改 URL,并且我相信参数将被预先解析到请求对象中,但我们广泛使用过滤器来解析 URL 并将路径信息放入数据库中以供其他 Servlet 和 JSP 使用。

当请求对象链接到目标 Servlet 时,您可以非常轻松地包装请求对象。