Получение исключения для загрузки весеннего файла - PullRequest
1 голос
/ 04 февраля 2010

Я получаю следующее исключение во время загрузки файла с использованием функции загрузки файла Spring.

пытается загрузить файл jpg размером 291 КБ.

Для файла размером менее 50 КБ он работает правильно. Ниже приведены записи bean

<bean id="fileUploadController" class="com.businesscaliber.controller.FileUploadController">
        <property name="commandClass" value="com.businesscaliber.bean.FileUploadBean"/>
        <property name="formView" value="admin.do"/>
        <property name="successView" value="admin.do"/>
    </bean>

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- one of the properties available; the maximum file size in bytes -->
        <property name="maxUploadSize" value="100000"/>
    </bean> 

Пожалуйста, помогите

Привет, я обновил пружину 2.5 банка

После этого появляется та же ошибка

11:45:29,562 INFO  [STDOUT] 147375 [http-localhost%2F127.0.0.1-9090-3] ERROR org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/businesscaliber].[businesscaliber]  - Servlet.service() for servlet businesscaliber threw exception
javax.servlet.ServletException: Circular view path [exceptionController.do]: would dispatch back to the current handler URL [/businesscaliber/exceptionController.do] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)

Первичное исключение при использовании баночки Spring 2.0

 1782687 [http-localhost%2F127.0.0.1-9090-3] ERROR org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/businesscaliber].[businesscaliber]  - Servlet.service() for servlet businesscaliber threw exception
java.lang.StackOverflowError
    at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215)
    at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544)    2010-02-04 16:43:31,406 INFO  [STDOUT] a:544)

1 Ответ

2 голосов
/ 04 февраля 2010

Это StackOverflowError, показывающее трассировку с рекурсивным вызовом на getSession(), можно распознать в результате неправильной отправки запроса через сервлет или фильтр, который уже был вызван ранее в цепочке запросов, что вызывает его сам вызовснова и снова.

На самом деле, я не понимаю, как это связано с загрузкой файлов, может быть, функция загрузки файлов Spring внутренне передает запрос в какой-то специальный сервлет или фильтр, который по совпадению также покрывается тем жеurl-pattern исходного запроса и, таким образом, уже вызывается заранее.

По крайней мере, теперь вы знаете, где искать решение конкретной проблемы.В отображениях сервлета или фильтра есть неоднозначность и рекурсия.

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