BlobStore Перенаправляет игнорируемые проводные сервлеты ServletModule. - PullRequest
2 голосов
/ 21 января 2012

После того, как хранилище BLOB-объектов обрабатывает запрос на загрузку файла, который он перенаправляет на указанный ему URL, в данном случае «/ upload». Если я настрою URL UploadServlet в web.xml следующим образом:

<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 для подключения сервлета:

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

Я получаю ошибку:

Problem accessing /upload. Reason:NOT_FOUND

Кажется, что com.google.inject.servlet.ServletModule не обрабатывает перенаправления. Есть ли способ обойти это?

1 Ответ

0 голосов
/ 05 августа 2015

Я боролся с той же самой проблемой сегодня. Это решило мою проблему и может быть связано:

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> 

Конечно, может быть слишком поздно для вас, но для других это может помочь: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...