Dolphins의 HelloWorld
forward 본문
forward
출처 http://java.scwcd.jobs4times.com/Web-Container-Model.html
forward란?
- 웹 브라우저에서 Servlet 1에게 요청을 보냄
- Servlet 1은 요청을 처리한 후, 그 결과를 HttpServletRequest에 저장
- Servlet 1은 결과가 저장된 HttpServletRequest와 응답을 위한 HttpServletResponse를
같은 웹 어플리케이션 안에 있는 Servlet2에게 전송(forward)
- Servlet2는 Servlet1로부터 받은 HttpServletRequest와 HttpServletResponse를 이용하여
요청을 처리한 후 웹 브라우저에게 결과를 전송
redirect와 forward의 차이?
redirect는 클라이언트가 서버에게 요청을 보내면 어떤한 일들을 처리한 후
클라이언트에게 새로운 요청할 곳을 알려주면서 요청하라고 알려주는 것이다.
forward는 클라이언트에서 요청을 보냈을 때 그 요청에 대해서 혼자 처리하는 것이 아니라
다른 누군가. back에게 처리를 맡기는 것이다.
이 때 클라이언트는 원래 요청한 servlet1이 혼자서 다 처리를 했는지 이런거에 대해 알 필요가 없으며
고로 URL에는 변화가 없다.
이것이 중요한 이유는 여러번 요청과 응답이 왔다갔다 하는 redirect와는 달리
forward같은 경우 서버가 내부적으로 옮겨졌을 뿐이지 새로운 요청이 들어온 것이 아니기 때문에
응답을 할 때까지 한번 생성된 request와 response객체가 계속 유지된다는 점이다.
여기서 주목해볼 만한 부분은 URL이 바뀌지 않은 상태에서
출력이 잘 됐다는 점이다.
'웹 프로그래밍 > DB연결 웹 어플리케이션' 카테고리의 다른 글
scope (0) | 2018.08.28 |
---|---|
Servlet과 JSP연동 (0) | 2018.08.25 |
리다이렉트 (redirect) (0) | 2018.08.24 |
JSP 내장 객체 (0) | 2018.08.24 |
JSP 라이프싸이클 (0) | 2018.08.23 |