gpt4 book ai didi

java - UrlRewriteFilter run 元素生成 404,但 to 元素在 GAE/Java 上运行良好

转载 作者:太空宇宙 更新时间:2023-11-04 08:32:24 25 4
gpt4 key购买 nike

我使用 UrlRewriteFilter 库以避免编写自己的 url 过滤器。

我很确定我的设置正确,因为当我在 url 中重写 xml 时:

    <rule>
<from>^/urlIWantToMap</from>
<to type="redirect">/WhereIWouldLikeItToGo</to>
</rule>

它似乎工作正常(例如,点击 http://localhost:8080/urlIWantToMap 将我发送到预期位置)。请注意,我必须将 servlet 映射添加到我的 web.xml 中。

如果我尝试这个...

    <rule>
<from>^/urlIWantToMap</from>
<run class="mypackage.MyServletClass" method="doGet"/>
</rule>

我收到 http 404。我认为这与此处描述的问题相同(尽管我对作者提出的解决方案/解决方案持怀疑态度):

http://greatwebguy.com/programming/java/urlrewritefilter-servlet-filter-problem-in-websphere-6105-and-greater/

如果 Web 过滤器行为发生某种变化,阻止 UrlRewriteFilter 调用 servlet,我就会看到这种情况发生。要么那个;或者我犯了一个我没有看到的明显错误。

最佳答案

当应用程序服务器启动时,您是否看到类似的内容?

INFO: org.tuckey.web.filters.urlrewrite.Run ERROR: could not find method with the name doGet on mypackage.MyServletClass

即使不存在,是否存在不带任何参数的 public 方法 doGet?就我而言,它受到保护,而 http://localhost:8080/MyProject/rewrite-status告诉我一切都很好,我仍然得到 404。

我必须创建一个包装方法来公开 doGet 并配置 urlrewrite.xml,如下所示:

<run class="my.wrappers.WrapperServlet" method="doGet(HttpServletRequest, HttpServletResponse)" />

关于java - UrlRewriteFilter run 元素生成 404,但 to 元素在 GAE/Java 上运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7218909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com