I have recently noticed that Mojarra's <h:selectManyCheckbox> control sends "multivalued" form fields - i.e. all the checkboxes instantiated from the same control has the same name and differs only in their values.
This works well for a typical form, but when we send this via "multipart/form-data" JbossWeb sees only the last values. I mean, if two parts has the same name, only the last one is remembered by JbossWeb. I looked into org.apache.catalina.connector.Request class and I saw that there is a map: protected Map<String, Part> parts which is index by a part's name. When processing, a new part with the same name as an earlier one, the new one is put at the place where the old one has stayed. This way, the old one is pushed out. That is why only the last one is remembered.
Should we consider this a bug of JbossWeb? I did not observed such "a loss" on GlassFish 3.0.1 and 3.1 servers.