inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

등록화면에서 new Item() 넣는 이유

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

@GetMapping("/add") public String addForm(Model model) { model.addAttribute("item", new Item()); return "validation/v1/addForm"; } 저는 item에 빈값을 만드는 이유는 등록화면 처음 들어갈때 input에 item을 빈값으로 두기위해 (안하면 There was an unexpected error (type=Internal Server Error, status=500 이되니까) 만들었다고 생각이 듭니다. 하지만 강의14:08 에서 등록화면에 model.addAttribute("item", new Item()); 빈값을 넘긴 이유 중 하나가 검증에 실패했을 때 item을 재사용할 수 있게 하기 위해서라고 말씀하셨는데 굳이 따지자면 재사용을 할 수 있는 건 이 때 item에 빈값을 넣어줘서가 아니라 @PostMapping의 @PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes, Model model) { } @ModelAttribute Item item @ModelAttribute에서 item에 값을 넣어줘서 (물론 위에서 생성된 같은 item이기는 하지만) 그 값이 재사용될 수 있는 거 아닌가요?? 정리하면 우리가 검증이 실패해도 재사용 할 수 있는 건 @GetMapping("/add") public String addForm(Model model) { model.addAttribute("item", new Item()); return "validation/v1/addForm"; } 에서 new Item()때문이 아니라 @PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes, Model model) { } @ModelAttribute Item item 때문이 아닌가 라는 생각이 듭니다. 답변해주시면 정말 감사하겠습니다.

  • spring
  • mvc
코딩먹는하마 댓글 1 좋아요 4 조회수 607

@ModelAttribute ItemSaveForm form에 대해 궁금증

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?아니요 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 빈이름을 @ModelAttribute("item")으로 지정하지 않고 @ModelAttribute ItemSaveForm form로 사용했을 경우 모델이 itemSaveForm으로 넘겨지는 것으로 알 고 있습니다. 그래서 모델을 item으로 하지 않고 itemSaveForm으로 넘겼을 때 addForm.html을 수정해보려고 했는데 th:object"itemSaveForm"로 변경하여도 해당 모델이 아래처럼 노란줄으로 불러와지지 않습니다. 모델이름은 itemSaveForm로 넘겨졌을텐데 왜 itemSaveForm로 뷰템플릿이 접근하는지 못하는지에 대해 궁금해 질문남깁니다.

  • spring
  • mvc
HH 댓글 1 좋아요 0 조회수 304

MyView.java 내 render 질문입니다.

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

현재 프로젝트 java SE 1.8 사용중입니다. model.forEach(key, value) -> request.setAttribute(key, value) 이 부분에서 앞부분이 변수여야한다면서 에러가 생기는데요, forEach 자동 생성 시에 forEach(action) 으로 자동완성이 되더라구요. 다른 답글에서 영한님이 자바 8 문법 지원을 하게끔 시도해보라고 답변하신 걸 봤는데, 어떻게 해야하는지 감이 안잡힙니다. 추가적으로 iterator 구문도 안되어서 일단 while문으로 변경해서 사용중입니다.

  • spring
  • mvc
kwanjungkim 댓글 1 좋아요 0 조회수 528

유연한 컨트롤러1 - v5 어댑터 목록조회,핸들러어댑터는 같은 클레스에서 작동하는거죠?

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

안녕하세요 유연한 컨트롤러1 - v5에 궁금한점이 있어서 글남깁니다. 핸들러 어댑터 목록은 ControllerV3HandlerAdapter 클레스의 supports 함수로 판단하고 핸들러 어댑터에서 컨트롤러 호출하는거는 ControllerV3HandlerAdapter 클레스의 handle 함수로 v3에 만든거 사용하고 결과 받아서 다시 프론트로 넘겨주던데 저는 원래 네모 한칸당 한 클레스로 파일 나눠 구별하는 느낌인줄 알았는데 함수로 나눠 같은 클레스에서 작동한거죠?

  • spring
  • mvc
idqwui3321 댓글 1 좋아요 0 조회수 280

템플릿 엔진과 뷰 템플릿에 대한 질문

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

안녕하세요. 멋진 강의 잘 수강하고 있습니다! 강의를 듣다보니 용어에 대한 궁금함이 생겨 질문합니다. 템플릿 엔진은 HTML 문서에 동적으로 생성하는 JSP나 타임리프와 같은 소프트웨어를 지칭하는 것으로 이해했습니다. 궁금한 점은 뷰 템플릿은 무엇을 의미하는 것인가요? 템플릿 엔진으로 생성된 결과물을 의미하는 것인지, 템플릿 엔진과 동일한 의미인지, 템플릿 엔진의 HTML 문서에 동적으로 생성하는 기능을 의미하는 것인지 명확하게 이해가 되지 않아 질문을 남깁니다 🥲

  • spring
  • mvc
조약돌 댓글 1 좋아요 1 조회수 474

: 의 의미

해결됨

[개념반] 배워서 바로 쓰는 Pandas

section1. where 강의자료 문제 16번 풀이에서 첫번째 파라미터에 ':'을 입력해주셨는데 어떤 의미인가요?

  • python
  • pandas
까망 댓글 1 좋아요 0 조회수 457

실무에서 어떻게 사용하는지 질문입니다.

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

package hello.itemservice.web.validation; import hello.itemservice.domain.item.Item; import hello.itemservice.domain.item.ItemRepository; import hello.itemservice.domain.item.SaveCheck; import hello.itemservice.domain.item.UpdateCheck; import java.util.List; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.mvc.support.RedirectAttributes; @Slf4j @Controller @RequestMapping("/validation/v3/items") @RequiredArgsConstructor public class ValidationItemControllerV3 { private final ItemRepository itemRepository; @GetMapping("/{itemId}") public String item(@PathVariable long itemId, Model model) { Item item = itemRepository.findById(itemId); model.addAttribute("item", item); return "validation/v3/item"; } @GetMapping("/add") public String addForm(Model model) { model.addAttribute("item", new Item()); return "validation/v3/addForm"; } 클래스단의 리퀘스트 맵 마지막에 / 를 붙이는 것과 안 붙이는 것중 뭐가 정석인가요? 클래스단에서 @RequestMapping("/validation/v3/items/") 이렇게 한다면 메소드에는 전부 /를 빼고 add ,get 만 사용하면 될텐데 뭐가 암묵적인 룰(?) 인 것일까요 ?

  • spring
  • mvc
댓글 1 좋아요 0 조회수 516

urlPatterns 값이 같을 경우에 어떻게 처리가 되나요?

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

FrontControllerServletV2의 urlPatterns를 FrontControllerServletV1과 같이 /front-controller/v1/* 로 바꾸고, http://localhost:8080에 접속하여 FrontController - v1에 있는 회원가입이나 회원목록을 들어가면 FrontControllerServletV1로 실행이되는데 왜그런지 궁금합니다. 간단히 이야기하자면 urlPatterns 값이 같을 경우에 어떻게 처리가 되는지 궁금합니다.

  • spring
  • mvc
lwisekiml 댓글 1 좋아요 0 조회수 369

@NotNull과 @NotBlank 사용 차이

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

@NotBlank는 null + 공백을 허용하지 않고 @NotNull은 null만 허용하지 않으니 빈칸은 입력을 허용인 것이 맞나요? 그렇다면 Integer 타입에는 @NoutNull을 붙이셨는데, 여기에는 어차피 빈칸이 들어가면 안되기 때문에 @NotBlank를 사용 하는게 낫지 않나요?? 어떤 의도로 @NotNull은 사용하셨는지 궁금합니다.

  • spring
  • mvc
댓글 1 좋아요 0 조회수 1783

강의를 보다 헷갈려서 질문입니다.

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

공부하다가 갑자기 @ModelAttribute의 작동 원리가 헷갈려서 웹에서 itemName, price, quantity만 파라미터로 넘기고 찍어봤는데 이렇게 나오는데요 그렇다면 1. @ModelAttribute가 붙은 객체 생성 2. 웹에서 넘어온 파라미터 중 @ModelAttribute가 붙은 객체에 주입할 수 있는 데이터 찾아서 주입 ( 없다면 null로 냅둠) 3. @ModelAttribute가 붙은 객체만 Model에 추가 이렇게 되는 건가요 ? 그럼 결국 Model에 자동적으로 추가 되는 건 @RequestParam이나 @ModelAttribute , @RequestBody 가 붙은 객체 or 변수들만이고, 웹에서 넘어오는 값들 중 저 애노테이션으로 붙지 않은 값들은 전부 폐기 되는 건가요?

  • spring
  • mvc
댓글 1 좋아요 0 조회수 483

상품삭제

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

안녕하세요! 공부하면서 상품삭제를 구현해봤습니다. 저는 상품상세페이지에 상품삭제버튼을 추가해서 진행해봤는데 @PostMapping으로 시도했을때 메소드가 지원이되지 않는다는 오류를 보았습니다. 그래서 @GetMapping으로 시도해봤더니 상품삭제가 잘됬습니다. 다른분들 질문을 참고해보니 form안에서 두개의 메서드가 안되는 부분, a 태그의 부분때문에 안되시던데 제가 한 코드의 경우는 form안도 아니고 a태그도 아닌데 왜 @postmapping이 안되나요??

  • spring
  • mvc
박해빈 댓글 1 좋아요 0 조회수 275

spring boot와 java버전 설정관련에 질문이있습니다.

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

강의대로 java jdk 11을 설치한상태입니다. 강의에선 2.3.x 버전을 설치하라고 나와있는데 spring boot창에 없어 질문드립니다. 교안을 읽어보니 3.x으로 설치하면 java17이상을 사용하고 javax패키지이름을 jakarta로 변경하는등의 복잡한 과정이 필요해서 2.7.10으로 설정하려고 하는데 java 11에 spring boot 2.7.10으로 설정하는게 적절할까요? java 11과 17중 뭐가 더 나은지도 알려주시면감사하겠습니다.

  • java
  • spring
  • mvc
  • spring-boot
dreamdong326 댓글 2 좋아요 1 조회수 959

필드 오류와 오브젝트 오류 관련

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

BindingResult.reject -> 오브젝트 오류 BingdingResult.rejectValue -> 필드 오류 이렇게 맞나요 ?? 그리고 파라미터로 넘겨줄 때 field가 @ModelAttribute로 받는 객체의 지역변수명을 뜻 하는 건가요 ? 오브젝트 오류는 종합적인 로직을 검증할 때 사용하고, 필드 오류는 사용자가 입력해서 넘어오는 파라미터(?) 에 문제가 있을 때 사용하는 거 같은데 자세하게 설명해주실 수 있을까요?

  • spring
  • mvc
댓글 1 좋아요 0 조회수 639

HTTP API 질문

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

HTTP API를 설명해 주실 때 웹 클라이언트가 WAS에 요청을 하면 WAS에서 데이터를 내려 주고, 그럼 웹 브라우저에서 자바스크립트로 html 파일을 동적으로 만든다고 하셨습니다. 그럼 이 형태가 CSR 인건가요? 둘의 흐름이 비슷해 보여서요... 아니라면 어떤 점이 다른지 알려주세요! 답변 주시면 감사하겠습니다.

  • spring
  • mvc
공태성 댓글 1 좋아요 0 조회수 476

Colab를 통한 실습 관련 질문드립니다.

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

안녕하세요, 강의 내용을 Colab를 통해서 실습을 하고 있습니다. 다른 코드를 실행 할때는 별 문제가 없었지만, 산탄데르 은행 데이터셋과 사기검출 데이터셋을 실행할때 read_csv를 통해 csv파일을 읽어오면 실행 할때마다(런타임이 바뀔때 마다) read된 결과가 다른데 왜 그런지 알 수 있을까요? 사기검출 데이터의 경우 25838 rows × 31 columns 로 읽히는 경우도 있고, 39702 rows × 31 columns로 읽어지는 경우도 있습니다. 두 데이터셋다 공통적으로 Nan 값도 생기기도 하네요. 런타임을 몇번 초기화 하다보면 운좋게(?) 정상적으로 읽어지는 경우도 있습니다. 왜 실행할때마다 결과가 다르게 나오는지 궁금합니다!

  • python
  • 머신러닝
  • 통계
댓글 1 좋아요 0 조회수 413

gradle build 오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 내용] gradle이 build 되지 않습니다 project와 gradle setting 환경변수 설정 했습니다 .idea 폴더를 삭제하고 다시 프로젝트도 열어봤지만 그대로입니다 어떻게 해결해야 할까요?

  • java
  • spring
  • mvc
  • spring-boot
ᄋᄌᄋ 댓글 4 좋아요 2 조회수 2087

MessageSource 질문입니다.

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

자료에서 "MessageSource 를 스프링 빈으로 등록하지 않고, 스프링 부트와 관련된 별도의 설정을 하지 않으면 messages 라는 이름으로 기본 등록된다. 따라서 messages_en.properties , messages_ko.properties , messages.properties 파일만 등록하면 자동으로 인식된다" 라는 말은 messages_en.properties , messages_ko.properties , messages.properties 파일등록과 상관없이 application.properties에 spring.messages.basename=messages 가 기본으로 등록되있고 MessageSource 도 스프링 부트를 사용하면 자동으로 스프링 빈으로 등록되있기 때문에 파일만 등록해서 사용하면 된다. 라고 이해하면 될까요??

  • spring
  • mvc
코딩먹는하마 댓글 1 좋아요 0 조회수 416

인텔리제이환경 강의 배포일에 대해 문의 드립니다

미해결

[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]

안녕하세요 박메일님 JavaTPC강의로 강사님께 입문하고 열심히 배우는 학생입니다.다름이 아니라 다른분 문의글에 인텔리제이 버전으로도 찍어서 3월말에 배포해주신다는 답변을 보아서 구매를 결심하게되었는데 혹시 언제쯤 배포하실계획이실까요?더 늦어지실까요?

  • jsp
  • mysql
  • mvc
  • ajax
  • pojo
그레놀라 댓글 1 좋아요 0 조회수 483

/hello 페이지 Whitelabel Error

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요? 4강 진행하면서 HelloController 생성 및 hello 메소드까지 작성하여 static/index.html에 연결하였습니다. 이후 재기동까지 수행했지만, /hello 페이지 진입 시, 500 오류와 함께 Whitelabel Error가 발생합니다. 서버 Console에서 발생하는 오류 메시지는 아래와 같습니다. 2023-04-05 15:52:05.474 ERROR 24049 --- [nio-8080-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateInputException: Error resolving template [hello], template might not exist or might not be accessible by any of the configured Template Resolvers] with root cause org.thymeleaf.exceptions.TemplateInputException: Error resolving template [hello], template might not exist or might not be accessible by any of the configured Template Resolvers build.gradle의 thymeleaf 라이브러리 의존성도 제대로 선언되어 있고, 라이브러리도 정상적으로 참조되고 있는 것 같은데, 원인을 찾기가 쉽지 않네요 ㅠ 아래의 구글 드라이브 링크에 해당 프로젝트를 압축하여 첨부하였습니다. 확인 부탁드립니다. https://drive.google.com/file/d/1tdu2p3HdwYLbzWLmVOUBGUsPW3qljb1F/view?usp=share_link

  • java
  • spring
  • mvc
  • spring-boot
young.woo.kim 댓글 1 좋아요 0 조회수 399

invalid source 에러 <빌드하고 실행하기>

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. > Task :compileJava FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileJava'. > invalid source release: 11 * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Get more help at https://help.gradle.org 이렇게 에러가 뜨는데 같은 에러 뜬 분들 블로그와 글들 확인하고 버전도 다 맞췄는데 자꾸 에러 뜹니다... 도와주세요 ㅠ

  • java
  • spring
  • mvc
  • spring-boot
bl00mfl0wer 댓글 2 좋아요 0 조회수 947

인기 태그

인프런 TOP Writers

주간 인기글