2. 도서 등록을 위해 BookController 클래스의 submitAddNewBook() 메서드를 다음과 같이 수정합니다.

    코드 17-18 BookController.java

    package com.springmvc.controller;
    ...
    @Controller
    @RequestMapping("/books")
    public class BookController {
        ...
        @GetMapping("/add")
        public String requestAddBookForm(@ModelAttribute("NewBook), Book newBook) {
            return "addBook";
        }
    
        @PostMapping("/add")

        public String submitAddNewBook(@Valid @ModelAttribute("NewBook") Book book, BindingResult result) {
    
        if (result.hasErrors()) {
            return "addBook";
        }
    
        MultipartFile bookImage = book.getBookImage();
        String saveName = bookImage.getOriginalFilename();
        File saveFile = new File("C:\\upload", saveName);
        if (bookImage != null && !bookImage.isEmpty()) {
            try {
                bookImage.transferTo(saveFile); 
                book.setFileName(saveName);
            } catch (Exception e) {
                throw new RuntimeException("도서 이미지 업로드가 실패하였습니다.", e);
            }
        }
        bookService.setNewBook(book);
        return "redirect:/books";
       }
    ...
    }

    submitAddNewBook() 메서드는 폼에서 입력된 신규 도서를 데이터베이스에 등록합니다. 또한 신규 도서를 등록할 때 이미지는 C://upload/ 폴더에 업로드되도록 수정했습니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.