Прежде всего, как все уже сказали, вы используете контроллер на основе аннотаций
во-вторых, для создания формы вы можете использовать весеннюю форму taglib
в-третьих, вы можете создать такой метод
public String updateHouse(House house, @RequestParam("file") MultipartFile file, Model model) {
это из моего примера приложения. Объект дома автоматически генерируется из формы. В моей форме у меня есть поля моего объекта House, и он отправляется методу как объект. @RequestParam позволяет мне получить файл, который был загружен через форму (POST), модель - это моя модель представления.
Как видите, это легко:)