달력

52024  이전 다음

  • 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
  • 31
프로그래밍/JAVA 2016. 9. 23. 10:16



Forward vs Include

 

[참고 출처: core Servlet and Java Server Pages]

 

@ 주의 사항

1. jsp에서 사용하는  "Include Directive"인 <%@ include file="경로"%>과 구분해야한다.

2. 여기서 설명하는 Include는 RequestDispatcher를 사용하는 include로 스크립트로 표현하면

    <jsp:include page="경로"/>이고 Action Tag 에 속한다


@ 참고 사항

Forward를 스크립트로 표현하면 <jsp:forward page="경로"/>  : Action Tag에 속한다.

Include 를 스크립트로 표현하면 <jsp:include page="경로"/>  : Action Tag에 속한다.

                 

Forward와 Include 의 공통점


1. 요청 전달에 사용된다.

2. RequestDispatcher 를 사용한다. (<--- 이게 요청전달이라고 보면 되지만 ㅎㅎㅎ)

   ex> String url = "/path/test1.jsp?id=xxx&pw=xxx";

          RequestDispatcher rd = request.getRequestDispatcher (responseURL);

          rd.메소드명 (request, response);

3. 전달될 page에 객체를 전달할 수 있다. (RequestDispatcher 를 사용하니 당연하지!)



Forward와 Include 의 차이점

참! 말로 설명하기 힘들겠네요. ㅎㅎㅎ


공통점에서 말했듯이 요청 전달방식은 동일합니다 여기서 동일하다는 것은 클라이언트가 처음 요청한 request를 전달해서 유지한다는 점에서 동일하다고 한 겁니다.

하지만 request 제어권에서 차이가 있습니다.


Forward의 경우는 url1에서 forwar해서 url2로 전달하게 되면 제어권을 다시 url1으로 전달받지 못합니다. 따라서 url1에서 처리한 결과 화면이 전혀 보이지 않고 최종 클라이언트 브라우저에는 url2에서 처리한 화면만이 보여지게 됩니다.


Include의 경우는 url1에서 include를 하면 url2로 제어권을 잠시 빌려주고 처리를 다 하면 다시 url1으로 제어권을 반납한다. 따라서 클라이언트화면에서는 url1의 내용속에 url2가 들어가서 보여진다.

그래서 이름이 'Include'다. ^^


출처 : http://siasi.tistory.com/entry/Forward-%EC%99%80-Include-%EA%B3%B5%ED%86%B5%EC%A0%90%EA%B3%BC-%EC%B0%A8%EC%9D%B4%EC%A0%90

'프로그래밍 > JAVA' 카테고리의 다른 글

[Java] 자바 기본 API - Class Class  (0) 2016.09.23
Implementation (impl) 을 만들때 @Override 를 붙여야하는 이유  (0) 2016.09.23
Spring - Ioc & DI  (0) 2016.09.23
StringUtils  (0) 2016.09.23
Java Collection Framework (JCF)  (0) 2016.09.23
Posted by 당구치는 개발자
|