【问题标题】:How does URL-rewriting work?URL 重写如何工作?
【发布时间】:2012-01-06 19:49:48
【问题描述】:

我已经阅读了很多关于重写的文章和博客,并且我知道内部服务器重写和重定向之间存在区别。我有兴趣了解内部重写是如何工作的,以及这是如何在 Java 中完成的。我正在为我的 Java web 应用程序使用 PrettyFaces,如果知道(当然用非常简单的术语)您能够在请求被提供之前如何查看请求,那就太好了。是不是先调用的一种过滤器?

最后,服务器上的 url 重写是“程序”,它将重写规则中的 URL 转换为服务器上的真实资源,对吗?这一切都发生在内部,因此用户认为该地址是“真实”资源?

谢谢。

【问题讨论】:

    标签: java url-rewriting prettyfaces


    【解决方案1】:

    我正在为我的 Java web 应用程序使用 PrettyFaces,它会 很高兴知道(当然用非常简单的术语)你能够 在提供服务之前查看请求。是不是一种过滤器 先调用?

    是的,有一个 Servlet 过滤器注册为在任何 ServletRequest 中首先触发。此过滤器拦截请求并重定向、转发或链接(什么都不做。)

    最后,服务器上的 URL 重写是“程序”,它将 URL 转换为 将规则重写为服务器上的真实资源对吗?这一切 发生在内部,因此用户认为该地址是“真实的” 资源?

    这取决于。如果您使用重定向,那么用户会知道他们已被移动到不同的资源。但是,使用 PrettyFaces 的默认映射功能时,将使用 servlet Forward。这对外部用户完全隐藏。

    PrettyFaces 和OCPsoft Rewrite 等工具所做的另一件事是出站 URL 重写,这只能通过“内部服务器”重写工具实现。这意味着他们还可以修改应用程序 HTML 响应中的 URL(这可以防止生成错误的链接并将其作为文本发送给用户。)

    我希望这是一个有用的总结。

    【讨论】:

    • 嗨,Lincoln,您能否澄清一下今天必须使用 Prettyfaces 或 Rewrite 中的哪一个?我知道 prettyfaces 不再处于积极开发中,您编写了 Rewrite 库。 Prettyfaces 入门部分中的大部分内容仅使用重写库中的包......!?
    • PrettyFaces 和 Rewrite 都在积极开发中,可以根据您的需要使用其中任何一个。最新版本的 PrettyFaces 实际上是基于 Rewrite 的。
    • 非常感谢您的澄清!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多