30%
69,300원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
v3 프로그램 작동원리 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]질문이 총 2가지 인데요.http://localhost:8080/front-controller/v3/members/new-form 이 url을 호출하게 되었을 때 FrontControllerServletV3 클래스가 생성되는 것 까지는 이해 할 수 있는 데 그 이후에 service 매서드가 자동적으로 실행이 되는 건가요?마지막 html 응답을 하는 부분에서 RequestDispatcher dispatcher = request-getRequestDispatcher (viewPath); dispatcher. forward (request, response);이렇게 하는 데 viewPath 경로의 jsp 파일에 request랑 response를 주면 어떤 과정을 통해 화면에 html이 보이게 되는 것인 지 잘 모르겠습니다. 제가 이해한 바로는 forward가 내부적으로 서버에 정보를 전달한다고 이해를 했는데 그렇게 되면 서버에서 클라이언트로 응답은 누가 하는 것인지 이해가 잘 안돼서요.
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
HTTP 메시지 컨버터 동작 순서를 변경 하는 경우
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요. http메시지 컨버터 동작 순서가ByteArrayHttpMessageConverterStringHttpMessageConverterMappingJackson2HttpMessageConverter라고 말씀해주셨는데 제가 해당 부분을 수정해서MappingJackson2HttpMessageConverter가 1번으로 동작하게 변경을 했다고 가정을하면Json데이터를 처리할 때 속도는 미세하게라도 더 빠르다고 생각을 하고 있습니다.아니면 모종의 이유로 속도가 저하 되는지 궁금해서 질문드립니다. ㅎㅎㅎ
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
HandlerMethodArgumentResolver의 resolveArgument()의 호출 위치
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]RequestMappingHandlerAdapter에서 컨트롤러의 파라메터에서 필요로 하는 객체를 반환받아서 ArgumentResolver의 supportsParameter()를 통하여 반환받은 객체가 있는지 검증 후 있으면 ArgumentResolver의 resolveArgument()를 통하여 컨트롤러를 호출해준다고 이해했습니다. 그런데 핸들러 어댑터 로직을 살펴보니 supportsParameter()를 통해 검증해주는 로직은 있지만 resolveArgument()를 호출해주는 로직이 존재하지 않는데 어디서 resolveArgument()를 통하여 컨트롤러를 호출할 수 있는 건지 resolveArgument()의 호출 위치가 궁금합니다 !
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Unsupported java 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강의를 잘 수강하고있는 한 수강생입니다 지금까지 오류가 발생하지 않다가 html 파일을 수정하고나서부터 다음과 같은 오류가 발생합니다 jvm과 sdk버전을 20으로 바꾸면 또 다음과 같이 오류가 발생하는데 해결방법이 있을까요?
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Servlet 클래스, super
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]Servlet 클래스를 구현한 RequestHeaderServlet 에서 super.service(request, response); 생략하지 않으면 whitelabel error 가 나는 이유는 뭔가요?
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
jsp 회원 전체 목록 조회 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]진짜 오타랑 폴더 문제 있는 거를 다 해결했는데도jsp 회원 전체 목록 조회가 500오류가 뜹니다.제 코드 파일 아래에 올려두었습니다.https://drive.google.com/file/d/1nlCQnZW4erNmTiNvcnR9NXAnjxdJmIor/view?usp=drive_link 선생님 코드 파일 실행했을 때는 잘 진행되는 것을 확인하였습니다. 무엇이 문젠지 3시간 동안 고민했는데 모르겠습니다.
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
localhost8080 에서 json 경로만 500 서버 오류가 납니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]영한님 수업 잘 따라오면서 나머지 강의들은 잘 프로그램이 작동했는데 HTTP요청 데이터 -API 메시지 바디 -JSON강의 실습이후 json요청 페이지에서만 오류가 뜨고 localhost8080에서는 백지 화면이 뜹니다 제가 무지해 혹시 오류가 따로 있을거같아 컴파일보드 메모장으로 첨부해봅니다.. 오후 11:15:43: Executing ':ServletApplication.main()'... > Task :compileJava UP-TO-DATE > Task :processResources UP-TO-DATE > Task :classes UP-TO-DATE > Task :ServletApplication.main() . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.2.2) 2024-01-22T23:15:44.017+09:00 INFO 4424 --- [ main] hello.servlet.ServletApplication : Starting ServletApplication using Java 21.0.1 with PID 4424 (C:\Users\�赿��\Desktop\Spring-mvc\servlet\build\classes\java\main started by �赿�� in C:\Users\�赿��\Desktop\Spring-mvc\servlet) 2024-01-22T23:15:44.018+09:00 INFO 4424 --- [ main] hello.servlet.ServletApplication : No active profile set, falling back to 1 default profile: "default" 2024-01-22T23:15:44.667+09:00 INFO 4424 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) 2024-01-22T23:15:44.676+09:00 INFO 4424 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2024-01-22T23:15:44.677+09:00 INFO 4424 --- [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.18] 2024-01-22T23:15:44.711+09:00 INFO 4424 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2024-01-22T23:15:44.712+09:00 INFO 4424 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 652 ms 2024-01-22T23:15:44.787+09:00 INFO 4424 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: ServletContext resource [/index.html] 2024-01-22T23:15:44.968+09:00 INFO 4424 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' 2024-01-22T23:15:44.973+09:00 INFO 4424 --- [ main] hello.servlet.ServletApplication : Started ServletApplication in 1.2 seconds (process running for 1.426) 2024-01-22T23:15:49.563+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [0] 2024-01-22T23:15:49.564+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Received [GET / HTTP/1.1 Host: localhost:8080 Connection: keep-alive Cache-Control: max-age=0 sec-ch-ua: "Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120" sec-ch-ua-mobile: ?0 sec-ch-ua-platform: "Windows" Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Sec-Fetch-Site: none Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Accept-Encoding: gzip, deflate, br Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7 ] [��ü �Ķ���� ��ȸ] - start [��ü �Ķ���� ��ȸ] - end 2024-01-22T23:15:49.582+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [704] 2024-01-22T23:15:49.582+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Received [] 2024-01-22T23:15:49.583+09:00 DEBUG 4424 --- [nio-8080-exec-1] o.apache.coyote.http11.Http11Processor : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@41b5971e:org.apache.tomcat.util.net.NioChannel@8c53d83:java.nio.channels.SocketChannel[connected local=/[0:0:0:0:0:0:0:1]:8080 remote=/[0:0:0:0:0:0:0:1]:51861]], Status in: [OPEN_READ], State out: [OPEN] 2024-01-22T23:15:49.598+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [704] 2024-01-22T23:15:49.599+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.a.coyote.http11.Http11InputBuffer : Received [GET /favicon.ico HTTP/1.1 Host: localhost:8080 Connection: keep-alive sec-ch-ua: "Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120" sec-ch-ua-mobile: ?0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 sec-ch-ua-platform: "Windows" Accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: no-cors Sec-Fetch-Dest: image Referer: http://localhost:8080/ Accept-Encoding: gzip, deflate, br Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7 ] [��ü �Ķ���� ��ȸ] - start [��ü �Ķ���� ��ȸ] - end 2024-01-22T23:15:49.601+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [604] 2024-01-22T23:15:49.601+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.a.coyote.http11.Http11InputBuffer : Received [] 2024-01-22T23:15:49.601+09:00 DEBUG 4424 --- [nio-8080-exec-3] o.apache.coyote.http11.Http11Processor : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@41b5971e:org.apache.tomcat.util.net.NioChannel@8c53d83:java.nio.channels.SocketChannel[connected local=/[0:0:0:0:0:0:0:1]:8080 remote=/[0:0:0:0:0:0:0:1]:51861]], Status in: [OPEN_READ], State out: [OPEN]
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
직접 만든 프레임워크 -> 스프링 MVC 비교 pdf 부분 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]5. 스프링 MVC - 구조 이해.pdf의 2페이지에 나온 내용인데handlerMappingMap -> HandlerMapping이 부분은 이 두 개가 정확히 대응되지는 않는 거죠? 프론트 컨트롤러 V5에 있는 코드입니다.private final Map<String, Object> handlerMappingMap = new HashMap<>(); private final List<MyHandlerAdapter> handlerAdapters = new ArrayList<>();프론트 컨트롤러 V5의 handlerMappingMap와 handlerAdapters는DispatcherServlet 코드를 보니 왠지 handlerMappings와 handlerAdapters가 대응되는 것 같고,DispatcherServlet의 HandlerMapping 인터페이스와 대응되는 건 프론트 컨트롤러 V5에는 없는 상태라고 이해하면 될까요? 간단한 질문이지만 pdf를 제가 잘못 이해했을까 봐 질문드립니다.
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
process()의 매개변수
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]비슷해 보이는 질문들을 보긴 했는데 아직 잘 이해가 안 돼서 질문드립니다. SpringMemberListControllerV1에선 리턴 타입은 ModelAndView이고, 매개변수는 아예 없는데SpringMemberSaveControllerV1에선 리턴 타입은 ModelAndView로 똑같지만 매개변수 request와 response가 있어서 SpringMemberListControllerV1와 다릅니다. 스프링 MVC - 실용적인 방식 강의를 들어 보니 인터페이스로 고정되어 있지 않고 유연하게 설계되어 있기 때문이라는 것은 알겠습니다. 그러면 메서드의 오버로딩처럼 많은 매개변수 케이스들을 일일이 등록해져 있는 것이 아니라,매개변수로 들어올 수 있는 값들이 정해져 있고, 그것들을 개발자가 자유롭게 조합해서 매개변수로 지정하면 스프링이 알아서 판단할 수 있는 건가요? +) 하나 더 궁금한 건, 리턴 타입도 ModelAndView나 String이 아닌 다른 거로 자유롭게 바꿀 수 있을까요? 아니면 이건 정해져 있나요?
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
라이브러리 추가하는 법은 어디서 알 수 있나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. gradle 추가 하실 때 4줄이나 추가 하시더라구요.//JSP 추가 시작 implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' implementation 'jakarta.servlet:jakarta.servlet-api' implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api' implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl' //JSP 추가 끝 이렇게 추가해야 한다는 건 어디서 알 수 있나요? jakarta홈페이지를 봐도 영 알 수 가 없어서...MVNRepository에서 찾아도 한 줄 만 추가하는 거 밖에는 안 보이더라구요.
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
[HTTP 요청 데이터 - API 메시지 바디 - JSON] 강의 진행 중, logging.level.org.apache.coyote.http11=debug 를 입력하면 EOFException 발생 합니다
안녕하세요. 현재 섹션 2 - HTTP 요청 데이터 - API 메시지 바디 - JSON 강의를 듣고있습니다. postman을 실행하여{"username":"hello","age":20} 를 보낼 때,properties의 logging.level.org.apache.coyote.http11=debug의 여부에 따라 EOFException이 뜨거나 안뜨는 현상이 발생합니다! 그 이유와 해결방법이 궁금해서 질문 드립니다 !!! properties 에 logging.level.org.apache.coyote.http11=debug 를 입력하지 않았을 경우에는 아래처럼 정상 실행됩니다. 하지만 logging.level.org.apache.coyote.http11=debug 를 입력한 상태로, postman을 실행하면 오류가 뜹니다. 이유가 뭘까요 ?? ㅠㅠ 해결방법도 궁금합니다!
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
URL 링크 표현식 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]CSS의 경우 th:href="@{/css/bootstrap.min.css}"이고다른 경우에는 th:href="@{/basic/items/add}"처럼 되어있습니다. 궁금한 점은 css는 static상위 폴더에 basic은 templates 상위 폴더에 위치하는데 이를 구분하는 것이 url에 명시가 되어있지 않은데 어떻게 구분이 되는 걸까요??
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
컨트롤러에서 뷰템플릿을 반환해서 응답하는 경우에 메소드의 반환값이 void일떄
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.응답 -정적리소스,뷰템플릿 강의에서 궁금한것있습니다.컨트롤러에서 뷰 템플릿을 응답으로 반환하는경우를 학습중인데요.강의에 설명에서는 Void를 반환하는경우에 @Controller를 사용하고 HttpServletResponse,OutputStream(Writer) 같은 HTTP 메시지 바디를 처리하는 파라미터가 없으면 요청 URL을 참고해서 논리 뷰 이름으로 사용한다. 라고 되어 있는데요. 그러면 메서드 매개변수에 위 2개의 파라미터(HttpServletResponse,OutputStream(Writer))가 들어가있을경우에는 정상적으로 반환되어야 하지 않는것이 맞는것인가요? 두개의 파라매터를 메서드 매개변수에 적용하여 실행해봐도 정상적으로 동작하기에 질문드립니다. 아래는 해당 코드 입니다.//너무 불명확해서 추천하지 않는방식 //컨트롤러를 사용하고 httpServlerResponse 나 ,outputStream 같은 HTTP 메시지 바디를 처리하는 //파라메터가 없으면 요청 URL을 참고해서 논리뷰의 이름으로 사용 @RequestMapping("/response/hello") //반환할 정적 리소스의 경로랑 맵핑이 같을경우 return 값이 없어도 된다. public void responseViewV3(Model model, HttpServletResponse response) throws IOException { response.getWriter().write("ok"); model.addAttribute("data","hello!"); }
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
HTTP API 다양한 시스템 연동 파트에서 접점이 2개라고 하셨는데
UI 클라이언트 접점이 클라이언트 서버 아키텍처처럼 UI와 클라이언트 이렇게해서 접점이 2개라는 건가요??헷갈려서 질문드립니다!
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@Controller와 @RequestMapping에 대한 이해
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]@Controller과 @RequestMapping에 대하여 강의도 몇 번 계속 듣고 혼자서 계속 고민한 결과 이해가 잘 안 되어서 저만의 방식으로 이런 식으로 이해하려는데 이렇게 이해해도 될지 궁금해서 질문드립니다 ! 결국 스프링 MVC는 다형성에 의해서 프레임워크가 구현되어있으므로 다형성 개념을 @Controller과 @RequestMapping에 다음과 같이 도입하고자 합니다. RequestMappingHandlerMapping 클래스가 @Controller가 붙은 클래스 전체를 매핑 정보로 매핑하는데 사용자 요청에 따라 DispatcherServlet의 getHandler()에서 @Controller이 붙은 클래스 객체가 반환되는데 요청 url에 따라 @Controller이 붙은 클래스 객체 내부의 @RequestMapping 메서드 중 하나가 반환되니즉 "@Controller 컨트롤러"를 인터페이스로 인정하고 "@RequestMapping 메서드"를 그 인터페이스를 구현한 구현체로 인정 후 DispatcherServlet에서 getHandler()을 하면 컨트롤러가 반환되어야하지만 다형성에 의해서 컨트롤러에 구현된 메서드가 반환이 되는 것이라고 이해해도 되는지 여쭤보고 싶습니다!
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@Controller에서 호출된 메서드의 매개변수가 다다른데 내부적으로 어떻게 호출하는지.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.스프링 MVC -1편 스프링MVC-컨트롤러 통합 강의를 시청중에 궁금증이 생겨서 질문드립니다. 어노테이션을 이용해서 컨트롤러를 매핑하면 해당 컨트롤러가 스프링빈에 등록되고 Spring mvc의 컨트롤러로 인식되어서 HandlerMapping과 HandlerAdapter를 통해서 처리되는것은 이해하였는데요.이해하기론 컨트롤러에 정의 하는 메소드는 개발자가 정의 하는 부분이고 메소드를 실행하는것은 프레임워크가 처리하는것인데요. 메소드마다 매개변수가 상이한데 프레임워크는 해당 메소드의 매개변수를 어떤식으로 넣어주는것인가요? 예를들어 @RequestMapping("/1")public ModelAndView process1(){//생략} @RequestMapping("/1")public ModelAndView process2(HttpServletRequest request, HttpServletResponse response) {생략 }이런식의 두개의 Mapping 메소드?가 있을경우에 이를 실행하는것은 개발자가 컨트롤하는것이 아닌 프레임워크가 컨트롤하는것인데요. 내부적으로 어떤식으로 판단해서 매개변수가 있는 메소드에 값을 넣어주는지 궁금합니다.
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
FrontControllerServletV5의 mv.getModel()에 대해서 질문 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]1. MemberFormControllerV3을 사용했을 때는 mv.getModel()이 비어있는 상태가 맞나요??2. view.render(mv.getModel(), request, response);에서 mv.getModel()은 빈 상태로 넘어가는 건가요?
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@RequestMapping에 대하여
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]1. 스프링 부트를 구동시켜서 톰캣 서버가 띄워지면 HandlerMapping 인터페이스가 애플리케이션 내에 존재하는 핸들러 매핑을 시도하는데 우선적으로 HandlerMapping 인터페이스의 구현체인 RequestMappingHandlerMapping 클래스가 @RequestMapping 어노테이션이 지정된 핸들러를 매핑해서 사용자가 해당 어노테이션으로 지정된 핸들러 중 하나를 요청할 경우 해당 핸들러가 반환되고해당 핸들러에 대한 어댑터를 연결하고 호출하는데 필요한 구현체가 RequestMappingHandlerAdapter 로 이해했는데 맞을까요? 1번의 내용이 맞다면 @RequestMapping을 컨트롤러에 지정할 경우 해당 컨트롤러가 매핑 정보로 활용이 되는데 한 컨트롤러 내에 여러 메서드에 @RequestMapping을 지정할 경우 그 메서드들이 전부 컨트롤러가 되는 것인가요? 그렇다면 메서드들을 정의하고 있는 클래스도 컨트롤러인데 어떤 차이가 있는 건지 궁금합니다 ! 그리고 추가로 컨트롤러는 클래스로 알고있는데 어떻게 메서드 레벨에 @RequestMapping을 지정할 수 있는지도 궁금합니다..
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
메시지 컨버터 질문
만약 요청이 String 타입이고, 응답도 String 타입을 원한다면, 내부적으로 메시지 컨버터가 할일이 없는건가요?이 경우에도 메시지 컨버터가 작동되는지 궁금합니다.(결과적으로 메시지 컨버터 작동 x, 뷰 리졸버 작동 x)
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@Controller, @RequestMapping 질문
@Controller @RequestMapping("basic/items") @RequiredArgsConstructor public class BasicItemController { private ItemRepository itemRepository; @GetMapping public String items(){ return "basic/items"; } }강의를 다 수강하고 혼자서 처음부터 만들어보고자 개발하고 있는데 오류가 발생해서 질문드립니다.여기서 @RequestMapping 대신에 @Controller("basic/items")를 넣어주니 localhost:8080으로 접속시 기존에 웰컴 페이지인 index.html로 접속하지 않고 바로 items.html을 화면에 보여주는 오류가 발생합니다. 뭐가 문제일까요?