jetty&tomcat对待表单过长问题
结论两句话:
?
tomcat知道自己处理不了了,什么也不干过去了
jett知道自己处理不了了,抛个IllegalStateException出来通知一下
jetty默认允许的content-length=200×1000启动方式
?
?tomcat默认允许的content-length=2×1024×1024protected void parseParameters() {...... if (!("application/x-www-form-urlencoded".equals(contentType))) return; int len = getContentLength(); if (len > 0) { int maxPostSize = connector.getMaxPostSize(); // tomcat默认大小2*1024*1024 if ((maxPostSize > 0) && (len > maxPostSize)) { if (context.getLogger().isDebugEnabled()) { context.getLogger().debug( sm.getString("coyoteRequest.postTooLarge")); } return; // 内容超长则直接返回,jetty会抛出IllegalStateException //Parameters 对象没有内容 }.....}public Map<String, String[]> getParameterMap() { if (parameterMap.isLocked()) return parameterMap; Enumeration<String> enumeration = getParameterNames(); while (enumeration.hasMoreElements()) { String name = enumeration.nextElement(); String[] values = getParameterValues(name); parameterMap.put(name, values); } parameterMap.setLocked(true); return parameterMap;}public Enumeration<String> getParameterNames() { if (!parametersParsed) parseParameters(); return coyoteRequest.getParameters().getParameterNames();}