
Narendra nnvd
Wenn ich eine große Datei mit einer Post-Anfrage sende, zeigt das System eine Ausnahme an:
java.lang.IllegalStateException: Form too large1105723>200000
at org.mortbay.jetty.Request.extractParameters(Request.java:1404)
at org.mortbay.jetty.Request.getParameter(Request.java:749)......
Wenn ich in Google nach Hilfe suche, geben sie Hilfe, z.
webappcontext.setMaxFormContentSize(5000000);
Ich verwende diesen Code, aber das Problem ist nicht gelöst
Ich verwende auch den Code
jettyServer.setAttribute("org.mortbay.jetty.Request.maxFormContentSize", 5000000);
Aber kein Ergebnis
Hinweis:-Ich verwende Jetty-6.1.0

jmj
Versuchen Sie, die Systemeigenschaften über . einzustellen jetty.xml
<Call class="java.lang.System" name="setProperty">
<Arg>org.mortbay.jetty.Request.maxFormContentSize</Arg>
<Arg>500000</Arg>
</Call>
Ok, Sie können es von Ihrer Web-App aus konfigurieren
Fügen Sie die Datei WEB-INF/jetty-web.xml in Ihrer Webanwendung hinzu und konfigurieren Sie den Parameter in dieser Datei:
<?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>
Dokumentieren
Version 7 oder höher
Seit Version 7 wurden die Klassen von Jetty in ein anderes Paket verschoben. Sie müssen ersetzen org.mortbay...
mit org.eclipse...
(Danke an David für seinen Kommentar).
import org.mortbay.jetty.Server;
//... other code here...//
int port = 8080;
Server server = new Server(port);
server.setAttribute("org.mortbay.jetty.Request.maxFormContentSize", -1);
Dieser Code funktioniert auf Jetty 6.0.2, das ich verwende.
Die Größe von “-1” bedeutet, dass das Formular keine Begrenzung hat. Ich habe versucht, ein Formular mit einer Größe von 20 000 000 Bytes zu posten, und ich hatte kein Problem.
Für Eclipse-Releases von Jetty (Jetty 7) müssen Sie den folgenden Code verwenden:
import org.eclipse.jetty.server.Server;
//... other code here...//
int port = 8080;
Server server = new Server(port);
server.setAttribute("org.eclipse.jetty.server.Request.maxFormContentSize", -1);
Leider kann ich keine Änderungen an jetty.xml vornehmen, also setze ich stattdessen einfach einige Optionen zum Anpassen der maxFormContentSize wie folgt:
JVM_OPTS="$JVM_OPTS -Dorg.eclipse.jetty.server.Request.maxFormContentSize=5000000"
Dies ist in dem Shell-Skript vorhanden, mit dem wir unsere Instanz von Solr starten.
Ich bin auch auf dieses Problem gestoßen (mit Jetty eingebettet in eine andere Anwendung, daher verwende ich keine jetty.xml).
Ich habe das benutzt setMaxFormContentSize
Methode auf der ContextHandler
-Klasse, die die Ausnahme “Form zu groß” behoben hat. (Sehen http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty#Setting_a_ServletContext für ein Beispiel zum Erstellen/Verwenden eines Kontexthandlers).

Narendra nnvd
webappcontext.getServletContext().getContextHandler() .setMaxFormContentSize(10000000);

Timmy Chiu
<!-- Development Jetty -->
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.8.v20121106</version>
<configuration>
<scanIntervalSeconds>1</scanIntervalSeconds>
<webApp>
<contextPath>/${project.build.finalName}</contextPath>
</webApp>
<systemProperties>
<systemProperty>
<name>org.eclipse.jetty.server.Request.maxFormContentSize</name>
<value>10485760</value>
</systemProperty>
</systemProperties>
</configuration>
</plugin>
Arbeite für Jetty 8 im Maven-Plugin

Christoph
Je nachdem, wie alt Ihre Jetty-Version ist (in meinem Fall Jetty-5.1.14 eingebettet in Eclipse Equinox), kann es auch sein, dass die Eigenschaft sein muss org.mortbay.http.HttpRequest.maxFormContentSize
Von: org.mortbay.http.HttpRequest
/**
* Max size of the form content. Limits the size of the data a client can push at the server.
* Set via the org.mortbay.http.HttpRequest.maxContentSize system property.
*/
public static int __maxFormContentSize = Integer.getInteger(
"org.mortbay.http.HttpRequest.maxFormContentSize", 200000).intValue();
Sie müssen also beim Start in Ihrer Anwendung Folgendes tun, um den Wert festzulegen:
System.setProperty("org.mortbay.http.HttpRequest.maxFormContentSize", "10000000");
.
1991500cookie-checkForm zu große Ausnahmeyes