<forward 방식>
redirect 방식은 내부, 외부 모두 연결을 할 수 있었다.
하지만 forward 방식은 내부자원으로만 접근 할 수 있는 방식이다.
다른이름으로는 dispatch 방식이라고도 함, 더 많이 쓰이는 방식
실행하여보면...

잘보면.... 주소가... /move 임에도 불구하고
화면은 han.jsp 의 내용이 나옴을 알 수 있다.

클라이언트가 /move 라고 요청을 하면 서벼는 web.xml 을 참조하여
MoveServlet을 실행하는데 /han.jsp 로 forward 한다.
서버는 han.jsp 를 클라이언트에게 응답한다.
주소는 바뀌지 않은체로...
request, response는 한번씩만 발생한다.
즉, 처음 방명록을 만들었을때와는 달리 MoveServlet 이 요청을 받아 응답을 직접 하지 않고
han.jsp 로 위임하는 격이다.
request에 담겨있는 주소(/move) 는 그대로 유지하면서 화면은 /han.jsp 가 보여진다.
주소가 /move 이기 때문에 우리가 han.jsp 로 만든것을 뿌려주는지 사용자들은 알 수가 없다.
jsp 로 만들었지만 사용자들은 전혀 알 수 가 없다.
웹어플리케이션 안쪽을 싸그리 숨길 수 있다. --> 보안이 뛰어남
php, asp 같은 경우엔 보안적으로 취약하다. (소스를 어느정도 다 훔칠 수 있음)
앞서 만든 방명록에서는 GBListServlet 이 화면에 뿌려지는 내용까지 다 담고 있었다.
(pw.write("<div style=\"background-color: #cccccc; clear: left; padding-bottom: 5px;\">"); 이런식으로
html 을 한줄한줄 이식했었다.)
이러한 방식은 개발자와 디자이너와 협업이 불편하고, 개발자체도 귀찮으며, 가독성도 떨어지므로
페이지이동의 두가지 방식, foward, redirect 를 이용하여
보여지는 부분을 따로 분리해버리는 것이다.
forwad 시킬 주소를 /gb/list.do 로 바꾼다면....?
1. 클라이언트가 /move 라고 요청을 보낸다.
2. 서버는 web.xml 을 참조 MoveServlet 을 실행
3. MoveServlet은 /gb/list.do 로 foward 시킴
4. 서버는 web.xml 을 참조 GBListServlet을 실행
5. 서버는 해당 결과를 클라이언트에게 응답
"웹 프로그래밍" 카테고리의 다른 글
- 웹 어플리케이션 01 - 간단한 개념 정리 (댓글 0개 / 트랙백 0개) 2009/04/08
- 왠지 골치아픈 한글처리 (get방식) (댓글 2개 / 트랙백 0개) 2009/03/30
- 웹 어플리케이션 10 - 창고를 이용해볼까? (방명록) (댓글 0개 / 트랙백 0개) 2009/05/04
- 웹 어플리케이션 06 - 한글처리 (post 방식) (댓글 0개 / 트랙백 0개) 2009/05/02
- 웹 어플리케이션 03 - 서블릿은 어떻게 돌아가나? (2) (댓글 0개 / 트랙백 0개) 2009/04/15
- 웹 어플리케이션 08 - 페이지이동의 두가지 방식 (1) redirect 방식 (댓글 0개 / 트랙백 0개) 2009/05/03
- 톰캣과 오라클 포트 충돌 (댓글 0개 / 트랙백 0개) 2009/03/10
- 웹 어플리케이션 04 - 서블릿을 이용한 페이지 출력 (1) (방명록) (댓글 0개 / 트랙백 0개) 2009/05/02
- 웹 어플리케이션 12 - jsp 에서 db에 입력을 하여보자!! (댓글 0개 / 트랙백 0개) 2009/06/16
- 웹 어플리케이션 02 - 서블릿은 어떻게 돌아가나? (1) (댓글 0개 / 트랙백 0개) 2009/04/08



댓글을 달아 주세요