URL重写是如何工作的?

时间:2011-11-26 09:20:02

标签: java url-rewriting prettyfaces

我已经阅读了很多关于重写的帖子和博客,我知道内部服务器重写和重定向之间存在差异。我有兴趣知道内部重写是如何工作的,以及如何在Java中完成。我正在使用PrettyFaces进行Java Web应用程序,知道如何(在非常简单的条件下)你能够在服务请求之前查看请求会很棒。它是一种首先被调用的过滤器吗?

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

谢谢。

1 个答案:

答案 0 :(得分:2)

  

我正在使用PrettyFaces进行Java Web应用程序,它会有   我很高兴你能够知道(以非常简单的方式)   在请求提供之前查看请求。它是一种过滤器吗?   首先被调用?

是的,已经注册了一个Servlet过滤器,可以在任何ServletRequest中首先触发。此过滤器拦截请求并重定向,转发或链(不执行任何操作。)

  

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

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

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

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