在用jetty做图片上传时发现jetty的request.getParameter方法对数据长度有限制,默认是200000Byte。
超过200000Byte就出现异常:
- java.lang.IllegalStateException: Form too large395336>200000
- at org.eclipse.jetty.server.Request.extractParameters(Request.java:249)
- at org.eclipse.jetty.server.Request.getParameter(Request.java:648)
可以通过设置JVM参数来修改这个限制:
Jetty7:org.eclipse.jetty.server.Request.maxFormContentSize=-1
Jetty6:org.mortbay.jetty.Request.maxFormContentSize=-1
-1代表不限制。
也可以在jetty.xml中添加以下代码:
Jetty7:
- <Call class="java.lang.System" name="setProperty">
- <Arg>org.eclipse.jetty.server.Request.maxFormContentSize</Arg>
- <Arg>-1</Arg>
- </Call>
Jetty6:
- <Call class="java.lang.System" name="setProperty">
- <Arg>org.mortbay.jetty.Request.maxFormContentSize</Arg>
- <Arg>-1</Arg>
- </Call>
ps:若使用的是jetty插件进行启动,则只需在jetty的run configration中配置如下VM参数即可: