Java 谷歌应用引擎无限重定向,过滤器映射到/*
我有一个使用基本jsp和servlet的简单web应用程序。 我有一个映射到/*的servlet过滤器。 我有一个配置为index.jsp的欢迎文件Java 谷歌应用引擎无限重定向,过滤器映射到/*,java,google-app-engine,objectify,Java,Google App Engine,Objectify,我有一个使用基本jsp和servlet的简单web应用程序。 我有一个映射到/*的servlet过滤器。 我有一个配置为index.jsp的欢迎文件 <filter-mapping> <filter-name>ObjectifyFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 目标过滤器 /* index.jsp
<filter-mapping>
<filter-name>ObjectifyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
目标过滤器
/*
index.jsp
我遇到的问题是,对不存在的资源的请求在应用程序引擎上部署时应返回404错误,但在尝试重复向欢迎文件追加斜杠+时,会无休止地返回302错误
例如:
请求(没有为foo配置任何内容)会导致以下情况:
在开发服务器上,这将返回预期的404。如果我删除过滤器映射,它也会在应用程序引擎上返回404
这似乎是相当基本的,所以我猜我错过了一些东西。有什么想法吗?web.xml中的jsp config标记似乎是解决这个问题的一个重要因素。虽然我认为内容无关紧要,但我的看起来是这样的:
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<page-encoding>UTF-8</page-encoding>
</jsp-property-group>
</jsp-config>
*.jsp
UTF-8
删除jsp配置标记为我解决了这个问题,也就是说,这是一个解决方法。在我的例子中,这没有多大影响,因为我可以在每个页面上分别指定页面编码。但是,我仍然对真正的解决方案感兴趣。您知道谁在进行重定向吗?仅欢迎列表文件不能。您使用此筛选器只是为了向objectify注册类吗?肯定缺少一些额外的信息。ObjectifyFilter不会发出任何类型的重定向(请继续查看代码),也不会在没有特殊提示的情况下使用GAE。我不知道重定向是做什么的。我假设它是一个appenginewebserver/appserver。正如我提到的,它在开发服务器上的本地工作与预期的一样。我也用一个简单的过滤器进行了尝试,它除了
chain.doFilter(请求、响应)之外什么都不做
并得到相同的结果。正如stickfigure所提到的,ObjectifyFilter实际上也没什么作用,只是简单地传递一些东西。。。我有以下jsp配置:*.jsp true
,我使用的解决方法是不引用应用程序中的任何.jsp文件。。意思是我有很多东西,比如about/about.jsp
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<page-encoding>UTF-8</page-encoding>
</jsp-property-group>
</jsp-config>