jetty报类似java.lang.IllegalStateException: Form too large206383>200000错误的解决办法

原因大概为超出了jetty服务器一次允许提交的最大数据大小,下面是几种解决方法

 

1)在jetty的jar包中找到org.mortbay.jetty.handler.ContextHandler(当前针对6.1.17,6.1.19听有些网友说是 org.mortbay.jetty.handler.HandlerWrapper,具体没有证实)修改其中私有成员

private int _maxFormContentSize = Integer.getInteger( "org.mortbay.jetty.Request.maxFormContentSize", 200000).intValue(); 

 

修改200000为更多值如:900000。把修改后的java文件编译成class替换jar包中原有文件。

 

2)其实从上面的代码我们可以看出来,其实没有必要修改jetty的源码,我们可以修改System的org.mortbay.jetty.Request.maxFormContentSize系统参数就可以了,实现这个有两种方法:

  a) 在程序启动时,调用代码:

      System.setProperty("org.mortbay.jetty.Request.maxFormContentSize", "900000");

  b) 在jvm的启动参数中加上org.mortbay.jetty.Request.maxFormContentSize参数值

      java -Dorg.mortbay.jetty.Request.maxFormContentSize=9000  XXX.java

注:两个方法各有优劣,不做评论

你可能感兴趣的:(jetty报类似java.lang.IllegalStateException: Form too large206383>200000错误的解决办法)