过滤器未按预期工作

发布于 2024-10-06 06:30:05 字数 447 浏览 9 评论 0原文

这是关于 mod_perl2 过滤器的。

理想情况下,过滤器的工作是对输入数据和数据执行某些操作。将数据传递到下一个过滤器或实际请求的资源。

就我而言,我为 URL 模式定义了一个 PerlInputFilterHandler。请参阅下面的位置标签:

<Location /testproj/AServlet>
SetHandler modperl
PerlInputFilterHandler MyApache2::Test10
</Location>

此过滤器(Test10)应该更改请求数据和请求数据。将控制权传递给 AServlet(部署在 WebLogic Server 上的 servlet)。

然而,这个过滤器被调用,但它没有将控制传递给 AServlet - 无论我在过滤器中写什么。为什么会这样呢?

谢谢。

It's about mod_perl2 filter.

Ideally a job of filter is to do something with input data & pass on the data to next filter or actual requested resource.

In my case, I've a PerlInputFilterHandler defined for a URL pattern. See below location tag:

<Location /testproj/AServlet>
SetHandler modperl
PerlInputFilterHandler MyApache2::Test10
</Location>

This filter (Test10) is supposed to change request data & pass on control to AServlet (a servlet deployed on WebLogic Server).

However, this filter is getting invoked but it's not passing control to AServlet - no matter what I write in filter. Why so?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

霓裳挽歌倾城醉 2024-10-13 06:30:05

尝试删除 SetHandler 行。它告诉 Apache 请求的内容阶段应该由 mod_perl 处理,但听起来您希望在其他地方处理内容阶段。
即使主要内容处理程序不是 modperl,PerlInputFilterHandler 指令仍应生效。
如果内容处理程序由 mod_perl 完成,您还应该设置一个 PerlResponseHandler

Try removing the SetHandler line. It tells Apache that the content phase of the request should be handled by mod_perl, but it sounds like you want the content phase handled elsewhere.
The PerlInputFilterHandler directive should still take effect even if the main content handler is not modperl.
If the content handler is being done by mod_perl you should also set a PerlResponseHandler

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文