GAE Java的无限重定向问题
Java版的Google app engine存在一个bug,会导致在请求返回404状态时陷入无线的重定向中。这个bug只存在于生产环境,在gae测试环境则不会出现,至今尚未修复。
例如,访问一个不存在的地址,http://www.dongliu.net/not_exits.xxx
经经过无数的重定向,变为http://www.dongliu.net/not_exits.xxx/index.jsp/index.jsp/index
bug的触发的充分、必要条件:web.xml中包含<jsp-config>标签。我项目中的web.xml就是有了这么一段:
<jsp-config>
为避免这个问题,只能移除所有的<jsp-config>标签。这是个奇特而且悲剧的bug,<jsp-config>不是必不可少的功能,但是某些情况下还是挺实用的。
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<trim-directive-whitespaces>true</trim-directive-whitespaces>
</jsp-property-group>
</jsp-config>