반응형

 작업을 하다 보면 가끔씩 생각이 나지 않는 부분들이 있습니다. 여러가지 프레임워크를 쓰다보니 사용법이 헷갈리는 경우도 있고, 머릿속이 그냥 멍해져서 아무 생각도 나지 않는 경우들도 있습니다. 

 오늘이 그런 날이었네요. 연휴도 끝나고 일을 시작하는데 도무지 일은 잡히지 않는 이런 경우요. 원래 굉장히 간단한 방법인데 오늘따라 생각이 안나서 골치아팠네요. 시작해보죠.


 이 방법은 하나의 jsp에서 다른 jsp를 불러오는데 어떻게 호출을 해야 하는지 모르겠다하시는 오늘의 저같은 분들을 위한 방법입니다.


2가지의 방법이 있습니다.

jsp


1. 포워드(Foward)

 - Request 스코프에 담긴 값들이 유지가 된다.

 - 이동된 URL이 표시가 되지 않는다.

 - 방법

  1) pageContext.forward("이동할페이지");


  2) <jsp:forward page="이동할페이지"/>;


  3) RequestDispatcher rd = request.getRequestDispatcher("이동할페이지");

  rd.forward(request,response);



2. 리다이렉트(redirect)

- Request와  Response가 유지되지 않는다.

- 이동된 URL이 표시된다.

- 방법

  response.sendRedirect("이동할페이지");


3. Example
 자, 여러분들은 지금 A.jsp에서 B.jsp를 불러오고 싶습니다. 그러면 어떻게해야할까요? 
간단하게 어떠한 액션도 없이 그냥 A.jsp가 열리면 B.jsp를 여는 방식으로 구현을 해보도록 하죠.

- A.jsp
<jsp:foward page="B.jsp"/>

끝. 이렇게만 해주면 실제로 사용자가 A.jsp를 열면 B.jsp가 열리게 됩니다. 참 쉽죠?


하나 더 !
여러분이 항상 파일의 실제 경로를 알고 다 적는다는건 프로젝트에서는 말도 안되는 일이죠? 
C:\Program Files\EclipseProject\... 이런식으로 항상 파일 경로를 적는 일은 없잖아요?

자, 그럼 내가 A.jsp를 공통 프레임이라고 하고 A에서 어떠한 [ 파싱 ]을 해서 B,C,D,E, ... 중 맞는 jsp를 불러오고 싶다면? 파싱은 여러분들이 알아서 잘 하시면 되고 저기서 파일의 경로를 불러와야겠죠?

이 때 쓰는게 Application.getRealPath(); 입니다.
ex) 파일의 경로가 Web/jsp/menu/food/cake.jsp 이런식으로 있다면, 실제 주소를 찾아 입력을 해야하는데 이 때 저
[ Application.getRealPath() ]를 사용해주면 알아서 실제 경로를 찾아준다는 사실!


이렇게 하시면 여러분들 쉽게 jsp에서 다른 jsp를 불러오실 수 있습니다!
모두 다 즐거운 코딩하세요!


반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기