Using Spring 2.5.6, I have SimpleMappingExceptionResolver configured thusly
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="MismatchException">error/mismatch-error</prop>
<prop key="Exception">error/${module.render.error.logical.page}</prop>
<prop key="IllegalArgumentException">error/module-illegal-arg</prop>
<prop key="MissingServletRequestParameterException">error/module-illegal-arg</prop>
</props>
</property>
</bean>
The idea is that for IllegalArgumentException and MissingServletRequestParameterException, I want a slightly different error screen and also the HTTP Status code of 400 returned.
The IllegalArgumentException works great, the referenced JSP properly sets the status to 400. The MissingServletRequestParameterException does not work, instead I am getting a generic 500 error.