UrlRewriteFilter运行元素生成404,但to元素在GAE/Java上运行良好
我使用UrlRewriteFilter库是为了避免编写自己的url过滤器 我很确定我已经正确地设置好了,因为当我的url中有这个时,重写xml: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 /我想去哪里 它似乎
<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)" />
从此,我就没有了这个;但有机会的时候我会回去试一试的。从那以后我就没有这个机会了;但有机会我会回去试一试。