SpringMVC final [refactored]