Ваше мнение важно для нас.
Поделитесь своими предоложениями и пожеланиями.

Исключение "Form too large" в Jetty


Когда я отсылаю слишком большой файл через POST запрос, то сервер выбрасывает исключение

java.lang.IllegalStateException: Form too large1475312>200000

at org.mortbay.jetty.Request.extractParameters(Request.java:1404)

at org.mortbay.jetty.Request.getParameter(Request.java:749)......


В гугле я нашел только такой вариант решения

webappcontext.setMaxFormContentSize(5000000)


но мне он не помог, я так же пробовал вариант

jettyServer.setAttribute("org.mortbay.jetty.Request.maxFormContentSize", 5000000);


и тоже безрезультатно. Кто-нибудь знает как это можно исправить?

Не знаю важно ли это, но я использую версию сервера Jetty-6.1.0 и пишу на Java.
0

Ответы

0
Ссылка
Попробуйте установить системное свойство в jetty.xml

<Call class="java.lang.System" name="setProperty">
<Arg>org.mortbay.jetty.Request.maxFormContentSize</Arg>
<Arg>500000</Arg>
</Call>


или можно сконфигурировать его из веб-приложения добавив файл WEB-INF/jetty-web.xml и установив в нем параметр:

<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN"
"http://jetty.mortbay.org/configure.dtd">

<Configure id="WebAppContext" class="org.mortbay.jetty.webapp.WebAppContext">
<Set name="maxFormContentSize" type="int">600000</Set>
</Configure>


Ссылка на мануал(на английском)

Версии 7 и выше



Начиная с седьмой версии, классы Jetty переехали в другой пакет. Так что необходимо везде заменить org.mortbay... на org.eclipse...
0
Ссылка
Спасибо за код, но к сожалению есть одна проблема. Дело в том, что мы сами не конфигурируем сервер, а используем уже сконфигурированный. Есть ли какой-то другой способ?
0
Ссылка
Я тоже столкнулся с такой проблеммой(я использую Jetty встроенный в другое приложение, так что я тоже не могу изменять jetty.xml). Я использовал метод setMaxFormContentSize класса ContextHandler. (Пример использования обработчика контекста есть тут).
0
Ссылка
Попробуйте
webappcontext.getServletContext().getContextHandler().setMaxFormContentSize(10000000);
0
Ссылка
Вы выкатываете свое приложение с помощью мавена?
Для того, чтоб отвечать на вопросы или зарегистрируйтесь.
ИТ-цитата
"Мое самомнение размером с небольшую планетку."
Линус Торвальдс