In the gwtupload UploadServlet.java class there's this method you can override which gets called before the request is passed on to org.apache.commons.fileupload.servlet.ServletFileUpload:
public void checkRequest(HttpServletRequest request) {
logger.debug("UPLOAD-SERVLET (" + request.getSession().getId() + ") procesing a request with size: " + getContentLength(request) + " bytes.");
if (getContentLength(request) > maxSize) {
throw new UploadSizeLimitException(maxSize, getContentLength(request));
}
}
If you need to modify the max allowed size client side via SingleUploader you could do this by passing the maxsize in a hidden form field and checking it in an overridden checkRequest method. The size configured in the web.xml would then be checked a second time but the apache library and be the absolute max size. i.e. you could restrict to a number /lower/ than that but not higher.
I eventually gave up on gwtupload because of things like this and rolled my own, it was fairly easy using the apache fileupload library and much more flexible.