jetty的Form too large异常解决方案

 

在用jetty做图片上传时发现jetty的request.getParameter方法对数据长度有限制,默认是200000Byte。

超过200000Byte就出现异常:

 

Java代码  收藏代码
  1. java.lang.IllegalStateException: Form too large395336>200000  
  2.     at org.eclipse.jetty.server.Request.extractParameters(Request.java:249)  
  3.     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:

 

Xml代码  
  1. <Call class="java.lang.System" name="setProperty">  
  2.   <Arg>org.eclipse.jetty.server.Request.maxFormContentSize</Arg>  
  3.   <Arg>-1</Arg>  
  4. </Call>  
 

Jetty6:

 

Xml代码  
  1. <Call class="java.lang.System" name="setProperty">  
  2.   <Arg>org.mortbay.jetty.Request.maxFormContentSize</Arg>  
  3.   <Arg>-1</Arg>  
  4. </Call>  
 

ps:若使用的是jetty插件进行启动,则只需在jetty的run configration中配置如下VM参数即可:

你可能感兴趣的:(jetty)