BloletStore重定向被ServletModule有线servlet忽略

时间:2012-01-20 23:36:29

标签: google-app-engine redirect blobstore

blobstore处理文件的上传请求后,会重定向到给定的URL,在本例中为“/ upload”。如果我在web.xml中配置UploadServlet url,如下所示:

<servlet>
   <servlet-name>uploadServlet</servlet-name>
   <servlet-class>com.....servlet.UploadServlet</servlet-class>
</servlet>
<servlet-mapping>
   <servlet-name>uploadServlet</servlet-name>
   <url-pattern>/upload</url-pattern>
</servlet-mapping>

有效。如果我使用Guice连接servlet:

serve("/upload").with(UploadServlet.class);

我收到错误:

Problem accessing /upload. Reason:NOT_FOUND

似乎com.google.inject.servlet.ServletModule不处理重定向。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我今天一直在努力解决同样的问题。这解决了我的问题,可能是相关的:

https://groups.google.com/forum/#!topic/google-appengine-java/oqfvEmZGrdw

  

在开发模式下,blobstore服务使用   RequestDispatcher.forward()而不是HTTP请求:

    <filter-mapping> 
            <filter-name>guiceFilter</filter-name> 
            <url-pattern>/*</url-pattern> 
            <dispatcher>REQUEST</dispatcher> 
    </filter-mapping> 

    <filter-mapping> 
            <filter-name>guiceFilter</filter-name> 
            <url-pattern>/*</url-pattern> 
            <dispatcher>FORWARD</dispatcher> 
    </filter-mapping> 

当然,对你来说可能为时已晚,但对其他人而言可能有所帮助: - )