30%
69,300원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
모델과 타임리프에 대한 궁금증 ..
home.html 파일에 th:fragment 가 있어요 home.html 컨트롤러에서 모델에 등록합니다. 플래그먼트.html 파일에서 타임리프 ${}로 모델가져와요 인텔리제이에선 Cannot resolve '변수명' 인식하지만 실행해보면 가져오는게 성공해요 왜일까요?
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
궁금한게 있습니다
섹션2강의를 들으면서 ㅇㅇ을 주로 사용한다고 자주 말씀하시는데 서블릿 자체로 사용하는경우가 아직도 있나요? 아니면 ㅇㅇ을 주로사용하신다는게 서블릿을 만약 사용할 경우 ㅇㅇ을 주로 사용하신다고 봐야할까요?
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
변수가 초기화 되지 않았을수 있습니다 경고.....
윈도우11 노트북에서 윈도우 10으로 소스를 옮기고 실행해 봤습니다. 실행에는 문제 없습니다.그런데 변수 선언 명령어 밑에 빨간줄이 나타나서 마우스를 가져다 대니까변수 logDemoService이(가) 초기화 되지 않았을수 있습니다 (myLogerProvider도 마찬가지 입니다)라는 메세지가 뜹니다.윈도우11 노트북에서는 안떴는데, 윈도우10노트북에서는 뜨네요??? @Controller @RequiredArgsConstructor public class LogDemoController { private final LogDemoService logDemoService; private final ObjectProvider<MyLoger> myLogerProvider;
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@ResponseBody가 없는 경우
안녕하세요. 강의를 듣던 중 의문이 생겨 질문드립니다.만약 Controller의 특정 메소드에 @ResponseBody라는 애노테이션이 없다면 ReturnValueHandler가 http컨버터를 사용하지 않고 ModelAndView 객체를 만들어 dispacherServlet에 전달하고 view를 렌더하는 방식으로 진행한다고 이해해도 될까요?
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
안되다가 한참뒤에 갑자기 되는 경우?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]http://localhost:8080/basic/items/items.html'목록으로' 버튼을 누르면 저기로 이동하길래자료 코드 그대로 복붙해도 안되고, 인텔리제이 껐다 켜도 안되고 30분을 삽질하다가 게시판에 글쓰는 도중에 갑자기 잘 되네요저번에도 한번 그런적이 있어서요 1시간을 시간 낭비하다 코드가 바뀌지 않았음에도 갑자기 되더라구요 이런 경우도 가끔있나요?? 캐시가 문제인건지ㅜ 또 이럴까봐 걱정이에요
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
ItemRepository
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]1. Spring을 활용하여 ItemRepository를 짜려면 어떻게 해야 하나요? 제 기억상 기본편에서, private static final store에 new로 할당않해줘도 됬던것 같습니다...그렇게 하면, ItemRepositoryTest에서도 ItemRepository itemRepository = new ItemRepository(); 하지 못했던 것 같은데... 이건 어떻게 해야 Spring을 잘 활용한 건가요?
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
MVC 패턴-적용 new-form 조회 시 404 에러 발생
[질문 내용]MvcMemberFormServlet에서 new-form을 실행 시, (로컬호스트 8080에서 서블릿 mvc 회원가입 선택 시) Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Wed Mar 27 13:50:18 GMT+09:00 2024There was an unexpected error (type=Not Found, status=404). 에러가 발생합니다. (1) build.gradle에 jsp 관련 디펜던시도 잘 들어간 상태이고(2) 오타도 없어보이는데 무슨 문제일까요? 답변에 압축파일 올려드리겠습니다.
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
회원목록 확인 시 jasper exception
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]V2에서 가입, 저장은 잘 되는데 회원목록 확인할 때 500 에러가 나고 인텔리제이에서는 org.apache.jasper.JasperException: The absolute uri: [http://java.sun.com/jsp/jstl/core] cannot be resolved in either web.xml or the jar files deployed with this application재스퍼익셉션이 뜨는데 구글에 찾아보니까 jsp에서 taglib이 적용이 안돼서 그런 것 같은데 build.gradle에서 dependency 문제인지 해결하지 못해서 질문 남깁니다.
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
DispacherServlet 의 WebApplicationContext 관련 질문입니다!
DispatcherServlet 에 대해 개인적으로 공부를 하다 아래와 같은 사진이 많이 보여서 처음에는 DispatcherServlet 에서 의존성 주입을 받을 때 Servlet WebApplicationContext Container 에서 주입받고 없으면 Root WebApplicationContext 까지 검색하여 주입하는 것으로 이해를 했습니다. 그리고 Root WebApplicationContext 에는 웹과 관련 없는 객체들이 등록하여 사용한다고 하여 그런줄 알았는데 실제로 디버깅을 해보니 SpringApplication.run 메서드 내에서 createApplicationContext 메서드가 호출되어 AnnotationConfigServletWebServerApplicationContext 객체가 생성된 후, localhost:8080/xxx 로 HTTP Request 를 보내니 FrameworkServlet 의 initServletBean 메서드에서 initWebApplicationContext 메서드를 호출해서 Root WebApplicationContext 를 가져와서 FrameworkServlet 의 webApplicationContext 에 참조를 저장하는데 이렇게 되면 사진에서의 Root ApplicationContext 와 Servlet WebApplicationContext 가 동일한 객체인걸로 생각이 되는데 실제로 두 객체가 같은 것인지, 아니면 뭔가 다른 무언가를 제가 하지 않아서 같은 참조를 가지는 건지 궁금하여 질문남깁니다!
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
save시 500에러가 뜹니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 4분28초 부분까지 내용 따라하는데 코드 다른것도 없는데 상품 등록을 누르면 500에러가 발생합니다. @PostMapping("/add") public String save(@RequestParam String itemName, @RequestParam int price, @RequestParam Integer quantity, Model model) { Item item = new Item(); item.setItemName(itemName); item.setPrice(price); item.setQuantity(quantity); itemRepository.save(item); model.addAttribute("item", item); return "basic/item"; }2024-03-24T23:35:00.277+09:00 ERROR 924 --- [item-service] [nio-8080-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalArgumentException: Name for argument of type [java.lang.String] not specified, and parameter name information not available via reflection. Ensure that the compiler uses the '-parameters' flag.] with root cause java.lang.IllegalArgumentException찾아보려 해도 이유를 모르겠습니다.
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Action경로가 같을때 생략 안할시 500오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]addForm뷰의 action의 경로가 같고 메서드만 다르니 경로 같으면 생략이 가능하다고 해주셨는데 생략을 하지않고 실행을 하니 500 에러가 발행하는 이;유가 있나요?
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
여러가지 질문과 제가 이해한것이 맞는지 확인하고 싶어요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]질문 1.<link th:href="@{/css/bootstrap.min.css}" href="../css/bootstrap.min.css" rel="stylesheet">Items.html에서 위 코드를 보았을 때th가 경로를 치환하는 역할이면 굳이 치환하지 않고 href="@{/css/bootstrap.min.css}바로 사용해주어도 상관이 없을것 같은데 굳이 치환을 하는 이유가 있나요?질문 2.모델이라는것이 아직 이해를 못했었는데 나름대로 이해를 해보았습니다.@RequestMapping(“경로“) 처럼 매핑경로로 결정된 클래스가 실행이 되고 동작하면서 반환되는, 예를들면 BasicItemController클래스의 리턴인 “basic/items” 뷰에 데이터가 담긴 모델을 넘겨주고(아직 addAttribute(“items”, items)의 첫번째파라미터 두번째 파라미터는 무엇인지 잘 모르겠어요) 뷰는 전달받은 모델에서 데이터를 꺼내와 동적인 기능을 수핸하는 것인지 예를들어보면 모델을 물건이 담긴 박스, 데이터가 박스에 담긴 물건, 뷰를 물건을 꺼내어 사용하는 사람이라고 할때 박스(모델)에 담긴 물건(데이터)을 꺼내어 보여주는(뷰 템플릿) 것으로 예시를 들 수 있나요?질문 3.프론트앤드 개발자 분이 html마크업을 끝낸 파일을 주어도 결국 백엔드 개발자가 타임리프에 맞는 형식으로 타임리프 임포트를 하고 th문법을 사용해야 하는건가요? 그리고 th가 thymeleaf의 th인가요?
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
view resolver에 대해서
안녕하세요 view Resolver관련해서 질문드립니다. 간단한 컨트롤러를 만들고 template에 간단한 main.html파일을 만들어 클라이언트에게 html파일을 return하려고 했습니다. 이 때 컨트롤러에서 return "main"을 해주면 정상적으로 클라이언트에게 반환이 됐는데어느 순간 이 return문이 no static resource main이라며 400번대 에러가 뜨게 됐는데요.혹시나 하는 마음에 "main.html"을 return하니 정상적으로 작동됐습니다. 저는 어떤 것도 만진 것이 없는데 갑자기 왜 이렇게 된건가요? 또 다시 "main" 으로 return하려면 제가 고쳐야 할 곳은 어디인가요?
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
코드 작성 관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]코드 작성하실 때 항상 첫줄 비우고 작성하시는 이유가 궁금합니다보기 더 편해서 그런 건가요?
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
getHandler() 에서의 로직과 그 이후
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]안녕하세요. doDispatcher에서의 getHandler() 코드를 보다가 제가 나름대로 정리해본 것이 맞는 지 질문드립니다.한 url 에서 요청이 오면, 핸들러 맵핑 조회에서 1순위가 RequestMappingHandlerMapping 이므로, 먼저 getHandler()의 while 문 내부 HandlerMapping mapping 에 RequestMappingHandlerMapping이 대입된다.// 스프링 getHandler() 코드 일부 발췌 if (this.handlerMappings != null) { Iterator var2 = this.handlerMappings.iterator(); while(var2.hasNext()) { HandlerMapping mapping = (HandlerMapping)var2.next(); HandlerExecutionChain handler = mapping.getHandler(request); if (handler != null) { return handler; } } } 다음 줄의 mapping.getHandler(request)를 통해 @Controller가 붙은 클래스 중, 요청 url와 맞는 @RequestMapping(”url”)이 붙여진 메소드를 보유한 클래스를 핸들러로 가져온다.디스패처서블릿이 이 핸들러와 맞는 어댑터(RequestMappingHandlerAdapter)를 찾아오고,어댑터.handle() 을 통해 @RequestMapping(”url”)이 붙여진 메소드가 실행된다. 제가 생각한것이 맞는 지 궁금하여 질문드립니다.감사합니다.
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
username=kim&username=hello의 경우 잘못 설계한거 아닌가요?
처음에는 username=kim&username=hello와 같이 쿼리 파라미터를 사용한다면 잘못 설계한것이 아닌가 생각을 했는데오히려 스프링 자체에서 getParameterValues로 중복된 쿼리 파라미터의 키를 허용한다면 의도적으로 사용할 수도 있는건지, 그렇다면 왜 저렇게 사용하는지 궁금합니다.
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
정적인 화면과 정적 리소스
6:57에 나오는 서버사이드 렌더링에 대해서 질문드립니다HTML 최종 결과를 서버에서 만들어서 웹 브라우저에 전달주로 정적인 화면에 사용이렇게 나와있는데요서버에서 만들어서 제공하는거면 동적 리소스인데 왜 정적인 화면에 사용한다는 건가요?동적 리소스 == 동적 화면정적 리소스 == 정적 화면아닌가요?
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
스프링이랑 관련없는 번외질문입니다!
스프링MVC1편 수강생이 약 2만3천명이라고 뜨는데 이게 2024년도 기준 수강생인가요? 아니면 스프링MVC1편 출시날부터 오늘까지 누적수강생이 2만3천명이라는걸까요?
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
모델이라는것이 잘 이해가 가지 않습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]컨트롤러 설계시간에서 부터 이해에 어려움이 있었는데 모델이라는 것이 어떤것을 의미 하는지 모르겠습니다.서블릿을 이용할때 request.setAttribute(“member”, member); 코드에서 모델에 데이터를 담는다 라고 하셨었는데그때는 모델이 폼에서 회원가입을 누르면 나오는 뷰를 말하는줄 알았는데 지금까지 수업을 들어보니 뷰를 의미하는것이 아닌것 같습니다. 컨트롤러 버전을 강화하면서 프론트컨트롤러 v3에서 Map<String, String> ParamMap = new HashMap<>();이라는 코드가 왜 있는지 각각의 키와 벨류는 어떤것인지도 무엇인지 모르겠습니다. paramMap.get(“username”)으로 값을 꺼내왔는데 어떻게 이 기능이 가능한지도 잘 모르겠습니다. 모델이 무엇인지 Map<String, String> ParamMap = new HashMap<>();의 코드가 어떤 기능을 하고 각 키, 벨류가 무엇을 의미 하는지이해하고 싶습니다. 모르는것이 있으면 빠르게 정리하여 질문했어야 하는데 늦게 질문해서 죄송합니다 ㅠㅠ
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@RequestMapping은 안드로이드 어플 개발에서 사용이 가능한가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]해당 어노테이션은 url이 들어와야 매핑이 되는거로 인지 하였는데 안드로이드 어플에서는 url로 호출을 하지 않을거 같은데 웹이 아닌 앱 개발에서는 다른 기능을 사용하여야 하나요>?