작성
·
483
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
이 부분을 설명하실 때,
강사님께서
“고객 요청이 오면 service 메소드가 호출이 되고 ,
viewPath라는 경로의 jsp를
dispatcher의 forward 함수가 다시 호출을 하고
서버 내부에서 서버끼리 new-form.jsp로 제어권을 넘겨준다”
라고 말씀하셨습니다.
여기서 이해가 안되는 부분이 2개 있습니다.
1."서버 내부에서 서버끼리"라고 말씀하셨는데 이건 어떤 어떤 서버를 얘기하는 건가요?
서블릿은 "자바를 사용해 웹 페이지를 동적으로 생성하는 서버 내 프로그램"이라고 설명이 나와있습니다.
그러면
서블릿이 하나 하나의 서버이고, MvcMemberFormServlet 서블릿에서 new-form.jsp 서버로 상호작용을 하고있다. 이렇게 이해하면 되는건가요?
이게 아니라면, "서버 내부에서 서버끼리"라는 것은 어떤 서버 내부에서 어떤 서버들을 이야기 하시는 건가요?
2. "new-form.jsp로 제어권을 넘겨준다"에서 MVC 패턴에서 제어권이란 정확히 어떤 개념인가요?
제어권이란 현재 데이터에 접근하는 "서블릿이나 서버 또는 객체"를 의미하는건가요?
설명 부탁드립니다.
답변 2
2
안녕하세요. blackhole124님
"서버 내부에서 서버끼리"라는 표현보다는 "웹 애플리케이션 서버 내부에서 서블릿에서 JSP로 제어권을 전달한다"는 표현이 더 정확한 표현입니다. MVC 패턴에서 '제어권'이란 요청 처리의 흐름을 의미합니다. 예를 들어, 사용자의 요청이 웹 애플리케이션에 도착하면, 서블릿(Controller)이 이 요청을 처리합니다. 요청을 처리한 후, 해당 결과를 사용자에게 보여줘야 할 때 서블릿은 JSP(View)로 제어권을 전달(forward)하게 됩니다.
여기서 서버 내부에서 서버끼리라는 표현을 사용한 것은 상대적으로 이후에 설명할 redirect라는 개념과 비교해서 설명하기 위함입니다. redirect는 서버 내부에서 뭔가를 다 처리하기 보다는 클라이언트로 제어권을 넘기는 방식이기 때문입니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴이에요.
forward 메소드 설명 부분에 대해 궁금하신 것 같아요. 일반적으로 forward 메소드는 웹 애플리케이션에서 클라이언트의 요청을 다른 서블릿이나 JSP로 전달하는 역할을 해요.
“서버 내부에서 서버끼리”라고 말씀하셨는데 이것은 어떤 서버를 얘기하는 건가요?
여기서 ‘서버 내부에서 서버끼리’라는 표현은 개념적인 의미로 사용한 것일 거에요. 보통은 웹 애플리케이션 서버(WAS) 내에서 서블릿 컨테이너가 처리하는 서블릿끼리의 요청과 응답에 대해서 이야기 할 때 사용될 수 있어요. 예를 들어, 사용자의 요청이 왔을 때 서블릿 A가 처리한 후 결과를 서블릿 B에게 전달한다면, 서블릿 A는 forward 메소드를 사용하여 서블릿 B로 제어권을 넘겨줄 수 있어요.
forward 함수가 호출되면서 viewPath라는 경로의 jsp가 어떻게 동작하나요?
forward 함수가 호출되면, 서버는 클라이언트에게 응답이 아직 마무리되지 않았음을 알려주고, 제어권을 다른 서블릿이나 JSP로 넘겨줘요. viewPath라는 경로에 있는 JSP가 호출되어 해당 JSP에서 필요한 작업이 진행되고, 이후 서블릿 컨테이너에게 제어권을 다시 넘겨주면서 클라이언트에게 최종적인 응답이 전송되어 웹 페이지가 보여지게 됩니다.
이해가 되시나요? 더 궁금한 점이 있다면 말씀해주세요.
안녕하세요
자세한 답변 주셔서 감사합니다.
무슨 말씀이신지 이해됐습니다.
강사님 훌륭한 강의도 잘 수강하고 있습니다.
좋은 하루 되세요