request.setAttribute 관련하여 질문 드립니다.
2207
작성한 질문수 15
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
안녕하세요. 강의 듣다가 질문 사항이 있어 글 남깁니다.
위 코드는 회원 가입을 하고, 그 결과를 보여주는 servlet 클래스입니다.
@WebServlet(name = "mvcMemberSaveServlet", urlPatterns = "/servlet-mvc/members/save")
public class MvcMemberSaveServlet extends HttpServlet {
private MemberRepository memberRepository = MemberRepository.getInstance();
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
int age = Integer.parseInt(request.getParameter("age"));
Member member = new Member(username, age);
memberRepository.save(member);
// Model에 데이터 보관
request.setAttribute("member", member);
String viewPath = "/WEB-INF/views/save-result.jsp";
RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath);
dispatcher.forward(request, response);
}
}저는
request 객체를 통해 회원 정보(이름, 나이)가 서버에 전달됨.
해당 정보를 통해 비즈니스 로직(회원가입)이 실행됨.
response 객체를 통해 실제 회원 가입된 정보(Member 객체)를 view(jsp)에 전달.
jsp가 전달 받은 정보를 참고하여 jsp 작성을 완료하여 클라이언트에게 화면을 보여줌.
이런 로직으로 진행될 것으로 생각했습니다.
그런데 제 생각과는 다르게, jsp에 데이터를 전달하는 model의 역할을 response 객체가 아닌 request 객체가 하는지 궁금증이 생겼습니다.
제가 추측하기로는 dispatcher를 통해 서버 내부에서 jsp를 호출하는 과정이 추가적으로 진행되기 때문에, 그 호출 과정에서 request 객체가 사용되는 것 같은데,
제 추측이 맞는지, 틀렸다면 request 객체가 model 역할을 하는 것은 어떤 이유 때문인지 질문 드립니다.
감사합니다.
답변 2
6
안녕하세요. 김명기님
객체의 용도에 이유가 있습니다.
request 객체는 요청의 처리부터 끝날때 까지 사용자의 파라미터 + 내부에서 사용하는 파라미터를 저장하는 역할을 합니다.
response 객체는 응답을 만들어서 생성하는데 사용됩니다.
감사합니다.
servlet과 container에 대한 질문입니다
0
25
1
api를 어느 컨트롤러에 작성해야하는지는 어떤 기준으로 해야하나요?
0
64
1
jsp 의존성 수정 요청
0
79
2
요즘 웹 서버가 주로 사용되는 이유는 SPA 구조 때문일까요 ?
0
143
1
save() 메서드 문의
0
67
1
절대 경로로 templates/basic 하위 파일 열면 css 적용 안되는 현상
0
101
1
request-body-json
0
83
2
MVC 패턴의 적용 단위
0
97
1
RequestMapping을 이용한 핸들러, 어댑터
0
119
2
save 후 결과화면
0
89
2
jsp를 이용한 view
0
97
1
application.properties에 debug 추가해도 결과가 똑같습니다.
0
178
1
수업 코드 제공 관련 문의
0
97
2
RequestMappingHandlerAdapter의 Controller 호출 과정
0
100
3
파일 오픈 시
0
70
1
스프링 배치 관련
0
78
1
@RequestParam의 defaultValue가 blank 값도 처리하는 지 여부
0
112
1
postman으로 /request-body-json-v1 호출시 500 error
0
96
1
프론트엔드와 백엔드의 mvc, rest api에 대한 질문
0
79
1
모델의 역할과 계층 분리에 대한 이해 차이 + 추가질문
0
111
1
console log 출력 관련 질문입니다.
0
75
1
애플리케이션이 실행 되지 않습니다 ㅠㅠㅠ
0
139
1
html 변경하는 부분 적용 문제
0
103
1
한글 깨짐
0
76
2





