Java [on Rails]和PHP中的Java Servlet Filter相当于什么?

时间:2009-01-06 16:17:02

标签: java php python ruby-on-rails servlets

不确定术语是否正确,但是Ruby和PHP中的Java Servlet过滤器是否有大致相同的东西?它们是实际的具体吗?

我假设Python中还有许多常见的Web应用程序库/框架。那里有相同的东西吗?

感谢。

=== ADDENDUM ===

根据Kevin Davis的好建议,我只想快速详细说明Java Servlet过滤器是什么。它基本上是一个HTTP请求拦截器。可以在请求的原始接收和请求的最终目的地之间配置一系列过滤器。请求参数(以及cookie,标题等)被传递到链中的第一个过滤器,每个过滤器对它们做(或不做),然后将它们传递给链(或者不是。例如,高速缓存过滤器可以只需返回结果,绕过链的其余部分和端点)。

其中一个优点是能够在不触及原始端点代码的情况下修改或增强Web应用程序。

干杯。

4 个答案:

答案 0 :(得分:2)

  

我假设还有一些   常见的Web应用程序库/框架   蟒蛇。那里有相同的东西吗?

Django 提供了一个中间件挂钩框架,可用于改变请求/响应处理中的输入/输出。有关详细信息,请参阅Middleware documentation page

答案 1 :(得分:0)

在典型的 Apache / PHP 方案中,答案通常是:不,没有自定义过滤器。但是,Java Servlet过滤器解决了一些问题的解决方案:

您可以创建.htaccess file来为目录及其子目录设置这些属性。

答案 2 :(得分:0)

用于此目的的

Ruby on Rails has filters

新功能是Rack Middleware,类似于Django中间件

答案 3 :(得分:0)

在PHP世界中,Zend Framework为其前端控制器对象提供了一个插件API,允许在预路由和后调度阶段之间挂钩插件对象。虽然我没有机会使用Java servlet,但我认为这与你的附录中的描述符一致。无论如何,这不是内置于PHP中,其框架依赖于RoR或Django。