티스토리 뷰
지금까지는 하나의 URL 요청에 하나의 서블릿이 모든 작업을 처리해서 응답하는 모델만을 생각했습니다. 하지만 다른 서블릿에서 처리해야 하는 일이라면 요청을 완전히 다른 URL로 방향을 바꾸거나 다른 컴포넌트(보통 JSP)에게 처리를 위임할 수도 있습니다.
요청을 다른 URL로 방향을 바꾸는 것을 servlet redirect 라고 합니다. HttpServletResponse 객체에 있는 sendRedirect() method를 호출해 이 작업을 수행할 수 있습니다. servlet redirect의 특징은 브라우저가 작업을 한다는 것입니다. 서블릿은 브라우저에게 URL을 바꿔서 다시 요청을 보내도록 유도합니다. 그렇기 때문에 클라이언트 주소창의 값이 바뀝니다. 이것은 마치 고객에게 다른 상담원에게 전화를 하라고 부탁하는 것과 같습니다.
반면 서버에서 일어나는 일도 있습니다. 바로 request dispatch 입니다. 이 방법은 주로 JSP 에게 처리를 위임할 때 사용합니다.
이것은 마치 전화를 받은 상담원이 일을 다른 직원에게 부탁하는 것과 비슷합니다. 고객 입장에서는 실제로 그 일을 누가 했는지 모릅니다. 마찬가지로 브라우저 주소창의 값이 바뀌지 않으니 어떤 서블릿이 응답을 보냈는지 알 수 없죠.
send redirect는 브라우저에서 다른 URL로 다시 요청을 보내는 것이기 때문에 굳이 같은 container에 있는 서블릿이나 페이지일 필요는 없습니다 하지만 request dispatch 방법은 동일한 컨테이너에 있는 서블릿이나 페이지로만 이동할 수 있습니다. 덕분에 response 객체와 request 객체를 공유할 수 있죠.
'language > Servlet&JSP' 카테고리의 다른 글
ServletContextListener (0) | 2019.02.22 |
---|---|
ServletConfig 서블릿 초기화 파라미터, ServletContext 컨텍스트 초기화 파라미터 (0) | 2019.02.22 |
서블릿(servlet) 생명주기(lifecycle) (0) | 2019.02.22 |
JSP 동작 순서와 MVC 패턴 동작 (0) | 2019.02.15 |
서블릿(Servlet)의 동작구조 (1) | 2019.02.15 |
- Total
- Today
- Yesterday
- 자바스크립트개론
- was
- 마르코프
- 로그
- 코딩의 기술
- 경고
- restful api
- DP
- 동적계획법
- 디자인패턴
- 야근
- REST API
- Warning
- 몰라서망신
- 클린코드
- Count
- 문장 생성기
- 유지보수
- Spring in Action
- 크롬
- markov chain
- html
- 마르코프 연쇄
- Markov
- CONVENTIONS
- RESTful
- java
- 전략패턴
- GROUP BY
- 자바스크립트 개론
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |