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似乎不处理重定向。有办法绕过这个吗?
我今天也遇到过同样的问题。这解决了我的问题,可能与有关
https://groups.google.com/forum/#!主题/谷歌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>
当然,对你来说可能为时已晚,但对其他人来说可能会有所帮助:-)