안녕하세요 이번에 김영한강사님의 스프링 강의 중 '입문편' 완강을 앞두고 있습니다. 입문편 이후로 저는 '스프링 완전 정복 로드맵' 코스로 시간이 걸리더라도 차근차근 지식을 쌓아가보려 합니다. 하지만 입문편에서 조차 어려움을 많이 겪었는데, 입문편 뒤로 나오는 강의내용들이 처음 강사님께서 프로그래밍은 일단 만들어보면서 익히는것이 좋다고 하신것처럼 입문편에서 기본적으로 만들어보고 뒤에서 제대로 공부하는 것인지 어떤식으로 배우게 되는지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 다음과 같은 설정으로 프로젝트를 만들었습니다: Java버전, Spring버전을 20과 3.0.5로 바꾸어도 같은 결과가 뜹니다. 어떻게 해결해야 할까요?
예외가 발생하지 않고 정상 동작을 했을경우에 WAS->필터->서블릿->인터셉터->컨트롤러 이후에 컨트롤러에서 값을 반환하면 스프링 디스패처서블릿이 그 값을 반환 타입에 맞게 response body에 넣고 WAS가 response를 클라이언트에게 전달하면 웹 브라우저가 그 리소스를 볼수있게 되는게 맞나요? 이때 WAS가 클라이언트에게 Http를 전달할때 response에 에러가 담겨있으면 등록된 에러 컨트롤러 매핑주소를 호출해서 그 결과의 view 페이지를 WAS가 받고 클라이언트에게 전달하는거로 이해하면될까요?
HTTP message body에 데이터를 직접 담은 요청을 받는 @RequestBody, HttpEntity가 아닌 요청 파라미터 - 쿼리 파라미터, HTML Form 에서는 HTTP메세지 컨버터가 필요없으니까 ArgumentResolver(or ReturnValueHandler)가 직접 파라미터에 맞는 객체를 RequestMappingHandlerAdapter에 반환한다. 다르게 말하면 HTTP message body에 데이터를 직접 담은 요청은 ArgumentResolver(or ReturnValueHandler)가 HTTP메세지 컨버터를 호출하여 객체를 RequestMappingHandlerAdapter에 반환한다. 위와같이 이해했는데 맞을까요?? 답변주시면 정말 감사하겠습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 이 코드로 했을때 hello.html이 안되길래 질문글들을 찾아봤는데 이 코드로 해보라는 말이 있어 해봤더니 돼었습니다 왜 강의에 있던 코드로는 진행이 안되었던건가요? 또 이와관련해서 앞으로의 강의에서도 유의해야할 점이 있나요?
https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-mvc-2&unitId=83332&tab=community&category=questionDetail&q=379787 이분 질문처럼 쿠키네임이 항상 같은데 같은 쿠키네임에 sessionid가 다른것이 여러개라고 이해하면 되나여?? 만약 그렇다면 어떻게 작동하는지 이해가 되지 않습니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요 :) 빈 스코프 - request 스코프 예제 만들기 10:23에서 LogDemoController 클래스를 만드실 때 @Component가 아닌 @Controller를 사용하셨는데 어떤 이유로 인해 컴포넌트 대신 컨트롤러를 사용하셨는지 궁금합니다! 추가로 두 기능들의 사용 용도의 차이점도 궁금합니다! 강의 잘 보고 있습니다 영한님 ㅎㅎ 감사합니다.
안녕하세요, 정적 컨텐츠 서빙 흐름에 관해 질문드립니다. 교재의 위 이미지 및 강의 내용에 따르면, localhost:8080/hello-static.html 로 접속 시, 먼저 hello-static 관련 컨트롤러를 우선 적으로 찾아보고, 없을 경우 static /hello-static.html 을 찾아보는 순서로 설명을 해주셨습니다. 정말 그런가 하여 hello-static에 매핑되는 컨트롤러를 다음과 같이 추가(+resources/templates/hello-static-template.html 추가)해보았는데, 여전히 정적 컨텐츠인 src/main/resources/static/hello-static.html 이 서빙 됩니다. package hello.hellospring; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HelloController { @GetMapping("/hello-static") String helloStatic() { return "hello-static-template"; } } 따라서, 흐름도 이미지에 있는 것처럼 확장자(.html)까지 아예 명시하면, 컨트롤러를 거치지 않는 것이 아닌가 생각되는데, 제가 잘못 구현한 부분이 있거나 이해를 잘못 한 부분이 있을까요? 감사합니다. 관련 강의 및 교재 강의 : '섹션 2. 스프링 웹 개발 기초' - 정적 컨텐츠 교재 : 14p 정적 컨텐츠 서빙 흐름도 이미지
수강 신청은 몇 달 전에 했는데 계속 듣다가 이해가 안가서 좀 쉬다가 또 흐름이 끊기고 기억이 사라져 처음부터 다시 듣기를 반복하다가 드디어 오늘 거진 3개월 만에 완강을 했습니다! 최소한의 이해로 따라온 강의지만 꽤 스프링에 대한 이해도가 깊어진 것 같습니다 ORM인 JPA를 배운 것이 특히 신기하게 집중되고 흥미로웠습니다. 복잡한 sql코드를 없앨 수 있어서 그랬던것 같습니다, ㅎㅎ. 모든 로드맵을 구매하였으니 선생님만 믿고 스프링 강의를 무한 반복하여 많은 것을 얻어 가겠습니다!! 감사합니다.
안녕하세요! 제목처럼 join 메소드는 회원가입시키고 아이디를 리턴해주는데 왜 테스트케이스는 리턴값을 따로 안받아줘도 오류가 나지않나요? memberService.join(member); -> 따로 Long saveId = memberService.join(member); 이렇게 안해줘도 오류가 안나서 궁금합니다!
강사님 안녕하세요 :) 유익한 강의 잘 듣고 있습니다! 학습 중 궁금한 점이 있어서 질문드립니다. 강사님께서 DFS문제 외에도 코드 시작 부분에 이 코드를 작성하실 때가 종종 있는데 혹시 강사님의 사용 기준이 있는지 궁금합니다. ex) [섹션 8] 회장뽑기(플로이드-와샬) 사용 O vs 위상정렬(그래프 정렬) 사용 X
http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.xsd xsd옆에 버전을 쓸 때 mybatis-spring-1.2.xsd 1.2라고 적으신 이유가 궁금합니다. mybatis-spring은 pom.xml에서 1.3.1 버전을 받은 것으로 기억합니다. 그래서 저는 처음에 1.3.1.xsd로 했더니 cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'resources'. 라면서 선언을 안 해줬다고 에러가 나옵니다.(실행도 안 됩니다.) 그런데 1.2.xsd로 하거나 버전을 적지 않으면 정상적으로 실행되네요. 다른 이유가 있을까요...??
java: constructor Item in class hello.itemservice.domain.item.Item cannot be applied to given types; required: java.lang.String,java.lang.Integer,java.lang.Integer found: no arguments reason: actual and formal argument lists differ in length 오류 내용으로 인자값을 찾을수 없다고 나오는데 @PostMapping("/add") public String addItemV1(@RequestParam String itemName, @RequestParam int price, @RequestParam Integer quantity, Model model) { Item item = new Item(itemName, price, quantity); // item.setItemName(itemName); // item.setPrice(price); // item.setQuantity(quantity); itemRepository.save(item); model.addAttribute("item", item); return "basic/item"; 이런 식으로 직접 적어주면 실행은 가능한데 set으로넣어줄땐 오류가 나네요 @PostMapping("/add") public String addItemV1(@RequestParam String itemName, @RequestParam int price, @RequestParam Integer quantity, Model model) { Item item = new Item(); <-여기서 오류가 납니다 item.setItemName(itemName); item.setPrice(price); item.setQuantity(quantity); 객체생성할때 맨 위 에러코드가 나면서 인자값을 찾을수가 없다고 뜨는데 제가 뭘 놓친게있을까요? 현재 addItemV1 set을 이용한 메서드만 오류가 납니다 addItemV2 addItemV3,4 정상 작동됩니다
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의에서 알려주신 내용 대로 코드를 통한 request, response 조회 외에도 크롬에서 관리자 페이지에서 조회 하는 방법도 학습 중에 알게 되었는데 코드를 통해 조회 하면 어떤 장점이 있나요?
checkbox의 th:field에 관하여.. 개인적으로 설명이 부족하다고 느껴서 혼자 요것저것해보고 내린 결론입니다 검증 부탁드립니다~ 기본형태 <input type="checkbox" th:field="${A}" th:value="${B}"> th:field가 기본형 th:value적용 필수(없으면 에러) th:field의 값이 th:value와 일치하면 checked th:field가 리스트형 th:value적용 필수(없으면 에러) 리스트에 th:value가 있으면 checked 예외)th:field가 boolean 타입 th:value 생략 가능 th:field의 값이 true이면 checked 특이사항 : th:value가 뭐든 무시하고 true로 강제로 씀 => 이렇게 하는 이유는 선택 안 하면 어차피 서버로 true값이 안 넘어오기 때문 th:value가 생략 가능한 이유 : 위에 두 유형과 다르게 th:filed와 th:value를 비교하는 것이 아닌 th:filed의 true/false값 만을 보고 checked를 판별하기 때문임 자세한 내용은 밑에 https://www.inflearn.com/questions/255425/%ED%8E%98%EC%9D%B4%EC%A7%80-%EC%86%8C%EC%8A%A4%EB%B3%B4%EA%B8%B0%EC%97%90%EC%84%9C-true-%EA%B0%92-%EC%A7%88%EB%AC%B8 )
java.lang.Error: Unresolved compilation problems: The type javax.servlet.http.HttpServletRequest cannot be resolved. It is indirectly referenced from required .class files The method parseRequest(HttpServletRequest) from the type ServletFileUpload refers to the missing type HttpServletRequest 톰캣 10버전을 쓰고 있는데 자꾸 javax로 인식하고 있는 것 같습니다..... 임포트 부분을 보면 jakarta로 받고 있는데 왜 이런 에러가 생기는지 알 수 있을까요?