0

它与 mod_perl 有关。

我的位置标签中只指定了一个过滤器。

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

在这里,当我在浏览器中点击http://localhost/testproj/AServlet URL 时。它只是挂起。Test3 过滤器一次又一次地调用自己。我只想执行一次 Test3 过滤器并将控制权传递给“AServlet”资源。

我该怎么办?

谢谢。

4

1 回答 1

1

这是因为您没有调用旅中的下一个过滤器。

包测试过滤器;

使用基础 qw(Apache2::Filter);
使用 Apache2::Const qw(OK);
使用 APR::Const qw(SUCCESS);

子处理程序{
  我的 ($f, $bb, $mode, $block, $readbytes) = @_;
  我的 $rv = $f->next->get_brigade($bb, $mode, $block, $readbytes);
  返回 $rv 除非 $rv == APR::Const::SUCCESS;

  #你过滤东西吗

  返回确定;
}

1个;
于 2010-11-27T20:38:04.740 回答