Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UrlRewriteFilter运行元素生成404,但to元素在GAE/Java上运行良好_Java_Google App Engine_Url Rewriting_Servlet Filters - Fatal编程技术网

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

UrlRewriteFilter运行元素生成404,但to元素在GAE/Java上运行良好,java,google-app-engine,url-rewriting,servlet-filters,Java,Google App Engine,Url Rewriting,Servlet Filters,我使用UrlRewriteFilter库是为了避免编写自己的url过滤器 我很确定我已经正确地设置好了,因为当我的url中有这个时,重写xml: <rule> <from>^/urlIWantToMap</from> <to type="redirect">/WhereIWouldLikeItToGo</to> </rule> ^/urlIWantToMap /我想去哪里 它似乎

我使用UrlRewriteFilter库是为了避免编写自己的url过滤器

我很确定我已经正确地设置好了,因为当我的url中有这个时,重写xml:

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

^/urlIWantToMap
/我想去哪里
它似乎工作得很好(例如,敲击将我送到指定的位置)。注意,我必须将servlet映射添加到web.xml中

如果我试试这个

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

^/urlIWantToMap
我得到一个HTTP404。我认为这与这里描述的问题是一样的(尽管我对作者提出的解决方案/解决方案持怀疑态度):


如果web筛选器的行为发生了某种改变,将禁止UrlRewriteFilter调用servlet,我可以看到这种情况。要么如此;或者我犯了一个我看不到的明显错误。

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

INFO: org.tuckey.web.filters.urlrewrite.Run ERROR: could not find method with the name doGet on mypackage.MyServletClass
即使不存在,public方法doGet是否不存在任何参数?在我的情况下,它是受保护的,虽然我告诉我一切都很好,但我还是得到了404

我必须创建一个包装器方法来公开doGet,并像这样配置urlrewrite.xml:

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

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

INFO: org.tuckey.web.filters.urlrewrite.Run ERROR: could not find method with the name doGet on mypackage.MyServletClass
即使不存在,public方法doGet是否不存在任何参数?在我的情况下,它是受保护的,虽然我告诉我一切都很好,但我还是得到了404

我必须创建一个包装器方法来公开doGet,并像这样配置urlrewrite.xml:

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


从此,我就没有了这个;但有机会的时候我会回去试一试的。从那以后我就没有这个机会了;但有机会我会回去试一试。