2012-09-06 19 views
0

我有一个简单的网络应用程序,使用基本的jsp和servlets。 我有一个映射到/ *的servlet过滤器。 我有一个欢迎文件配置为谷歌应用程序引擎无尽重定向与过滤器映射到/ *

的index.jsp
<filter-mapping> 
    <filter-name>ObjectifyFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

...

<welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
</welcome-file-list> 

我遇到的问题是,当对资源的要求,即不存在,应返回404部署在应用程序引擎上时发生的错误会在尝试重复附加斜杠+欢迎文件时无休止地返回302。

EG: 一种http://myyapp.appspot.com/foo请求(其中有什么配置的FOO)yeilds如下:

http://myyapp.appspot.com/foo/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/index.jsp/

在开发服务器这个返回预期的404。如果我删除过滤器映射它也会在应用引擎上返回404。

这似乎相当基本,所以我猜我已经错过了某个地方。有任何想法吗?

+0

你知道谁在做重定向吗?欢迎列表文件本身不。 – Thilo

+0

你是否仅仅使用这个过滤器来注册具有对象化的类? –

+0

必须有一些额外的信息丢失。 ObjectifyFilter不会发出任何类型的重定向(继续查看代码),也不会发出没有特别刺激的GAE。 – stickfigure

回答

0

它看起来像这个问题的一个基本要素是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的配置标签解决了这个问题对我来说,即它是一个解决办法。在我的情况下,它并没有太大的伤害,因为我可以分别在每个页面上指定页面编码。不过,我仍然对真正的解决方案感兴趣。

+0

有趣的抓...... 我有以下的JSP配置: ' *的.jsp <脚本-无效>真正 ' 而*解决方法*我用的是不引用任何.jsp文件的应用程序..这意味着我有很多东西像 ' 关于 /about.jsp ' – laduke

相关问题