JSP 페이지 이동 4가지 방법 및 특성

31433 
Created at 2006-12-26 00:20:09 
593   0   0   0  
<!-- 내용 -->

먼저 다음 페이지 이동 특성들을 미리 알아볼 필요가 있습니다

JSP에서는 페이지 이동시 다음 4가지 정도의 방법이 있습니다

 

JavaScript를 이용

window.open, location.href, location.replace 등을 이용할수 있습니다

 

login_process.jsp

<% if (a == null) { %>

      <script>location.href = "admin.jsp"; </script>

<% } else { %>

      <script>alert('권한이 없어요!'); window.history.back(); </script>

<% } %>

         

특징적인부분은 브라우져의 주소창이 변경되며

(이말은 즉슨 클라이언트가 다시 admin.jsp를 서버에 요청한다는 말입니다)

login_process.jsp 에서 jsp가 다 실행되고 브라우져에 out put된 html 및
javascript들만으로

실행된 코드들이라는 것입니다

 

response.sendRedirect를 이용

login_process.jsp

<% if (a == null) {

          response.sendRedirect("admin.jsp");

     } else {

          response.sendRedirect("login.jsp");

     }

 

     a = "test 입니다";

     System.out.println(a);

%>

 

이 코드에서 a가 출력될까요 안될까요?

출력 됩니다.

sendRedirect가 되더라도 밑에 jsp 코드들은 모두 실행 된다는 말입니다

response.sendRedirect는 기본적으로 모든 로직들을 다 처리한 후 코드
맨 마지막 부분에사용하는 것이 올바른 방법입니다

만약 그렇지 못한 경우는 response.sendRedirect 다음 바로 return;
이라는 코드를 집어 넣어야 합니다

 

response.sendRedirect은 HTTP 헤더정보를 변경하여 redirect시키기
때문에 역시 브라우져의 주소창이 변경되며 sendRedirect가 실행되기전
html이나 javascript로 out put되는 코드들은 모두 실행되지 않습니다.

 

forward 이용

jsp 태그의 <jsp:forward> 나 servlet의 RequestDispatcher.forward 를
이용할수 있습니다

 

login_process.jsp

<% if (a == null) { %>

          <jsp:forward page="admin.jsp"/>

<% } else { %>

          <jsp:forward page="login.jsp"/>

<% }

 

     a = "test 입니다";

     System.out.println(a);

%>

 

그럼 위의 코드의 경우 a가 출력 될까요 안될까요?

정답은 출력 안됩니다. 바로 forward 되어 버립니다.

클라이언트로 응답주지 않고 바로 서버측에서 admin.jsp로 이동하기 때문에

주소창이 바뀌지 않고 그로인해 브라우져에 출력되는 응답속도 또한 사용자가
보기에는응답이 빠른 장점이 있습니다

 

하지만 forward 이후 JSP 코드들이 실행되지 않는것 사실이지만 만약 finally절이
있는경우finally절은 실행 됨으로 확실히 알아둡시다.

 

meta 태그 이용

마지막으로 meta 태그를 이용할 수도 있습니다.

 

<META http-equiv=refresh content="0;url=admin.jsp">

 

즉 요약하자면..

페이지 이동 방법이 여러가지가 있습니다.

그 특성들을 잘 알고 올바르게 사용하여야 합니다.


출처: http://jakartaproject.com/article/jsptip/1114929726078

Tags: forward location meta response sendredirect Share on Facebook Share on X

◀ PREVIOUS
기념일계산,날짜계산해서....^^; 앤에게 사랑받으시길.....
▶ NEXT
MFC의 GDI/GDI+ 리소스 누수 현상
  Comments 0
Login for comment
SIMILAR POSTS

브라우져 캐시(cache) 안먹게 하는 비기 (created at 2006-12-22)


OTHER POSTS IN THE SAME CATEGORY

WinGate 깔았더니 블루스크린이 떠요 (created at 2007-01-25)

mdb 파일의 암호깨기 (created at 2007-01-25)

윈도우 버전 알아내는 함수 (created at 2007-01-25)

USB 장치 연결/연결해제 이벤트 처리하기 (created at 2007-01-25)

버퍼 오버 플로우 공격과 DEP (created at 2007-01-24)

Internet Explorer가 자주 비정상 종료 할때 (created at 2006-12-29)

VC 에서 자동으로 빌드 넘버 증가하기 (created at 2006-12-28)

네이버 검색엔진에 높은순위로 등록되는 방법 (created at 2006-12-27)

GetDC()의 메모리 누수 막기 (created at 2006-12-27)

모달리스 다이얼로그 와 메모리 리크(Leaks) (created at 2006-12-27)

MFC의 TRACE() 출력 빼먹는 현상 (created at 2006-12-27)

간단히 WIN32에서 MFC의 메모리 누수 체크하는 방법 (created at 2006-12-27)

VC++ 6.0 에서 GDI+ 사용하기.. (created at 2006-12-27)

GDI+를 이용한 회전 3가지.... (created at 2006-12-27)

MFC의 GDI/GDI+ 리소스 누수 현상 (created at 2006-12-27)

기념일계산,날짜계산해서....^^; 앤에게 사랑받으시길..... (created at 2006-12-22)

자바스크립트로 만든 빙고 게임 (created at 2006-12-22)

현재달의 첫째날 , 마지막날 (날짜,일자) 구하기 (created at 2006-12-22)

JPG 저장된 DB 이미지 JSP로 보여주기 (created at 2006-12-22)

스크립트 디버거 (created at 2006-12-22)

수많은 체크박스 중 몇개 체크했는지 확인 (created at 2006-12-22)

가상디스크 만들기 (created at 2006-12-22)

RSS 수집당하는 법 (created at 2006-12-22)

프린팅 하기(IE 전용) (created at 2006-12-22)

textbox의 입력문자 제어하기(영문/한글) (created at 2006-12-22)

폼메일 예제 (created at 2006-12-22)

include 집중해부 (created at 2006-12-22)

한글 처리 (created at 2006-12-22)

브라우져 캐시(cache) 안먹게 하는 비기 (created at 2006-12-22)

csv 파일을 이용한 메일링 리스트 구현 (created at 2006-12-22)

UPDATES

글루코사민 vs. 콘드로이친: 무엇이 더 나은 관절 건강 보조제일까? (created at 2024-04-22)

광주 5·18 민주화운동 알린 테리 앤더슨 前 AP 기자 (created at 2024-04-22)

햄과 소세지가 우리 몸에 일으키는 부작용 (updated at 2024-04-22)

콘드로이친의 염증 감소효과 (updated at 2024-04-22)

코사민 DS - 글루코사민+콘드로이친 복합물이 함유된 퇴행성 관절 건강보조제 (updated at 2024-04-22)

삼겹살 먹을때 환상조합 (created at 2024-04-22)

일본 여중생의 특이한 취향 (created at 2024-04-22)

우리가 먹는 약물이 바꿔버린 생태계 (created at 2024-04-21)

일본에서 그린 상상속의 사무직과 현실속의 사무직 (updated at 2024-04-21)

북한 미대생들이 그린 북한 최고존엄 김정은 (created at 2024-04-21)

입사 후 1년도 되지 않은 회사에서 구조조정에 의한 퇴직 불응에 따른 해고 처리시 대응 가능한 방법 (updated at 2024-04-20)

한고은님의 옛날 사진 (updated at 2024-04-20)

소녀대 - Bye Bye Girl (updated at 2024-04-13)

대한민국 날씨 근황 (created at 2024-04-13)

성일종 인재육성 강조하며 이토 히로부미 언급 - 인재 키운 선례? (updated at 2024-04-13)

일제강점기가 더 살기 좋았을지도 모른다는 조수연 국민의힘 후보 - 친일파? (updated at 2024-04-13)

Marshall Ha님의 샤오미 SU7 시승기 - 테슬라의 일론 머스크님이 긴장할만한 느낌 (updated at 2024-04-09)

윙크하는 귀염둥이 반려견들 (created at 2024-04-08)

달콤 살벌한 고백 (created at 2024-04-08)

북한 최정예 공수부대 훈련 모습 (updated at 2024-04-02)

맛있었던 친구 어머니의 주먹밥이 먹고 싶어요 (created at 2024-04-02)

자리 마음에 안든다고 6급 공무원 패는 농협 조합장 (created at 2024-03-26)

85세 딸 짜장면 사주는 102세 어머니 (created at 2024-03-26)

1990년대 감각파 도둑 (created at 2024-03-26)

치매에 걸린 69살의 브루스 윌리스가 전부인 데미무어를 보고 한 말 (updated at 2024-03-22)

경제는 대통령이 살리는 것이 아닙니다 라던 윤석열대통령 - 상황 안좋아지자 여러 전략을 펼쳤지만, 부작용 속출했던 2024년의 봄 (updated at 2024-03-13)

극빈의 생활을 하고 배운것이 없는 사람은 자유가 뭔지도 모를 뿐 아니라 왜 개인에게 필요한지에 대한 필요성을 못느낀다는 윤석열 대통령 (updated at 2024-03-08)

조선일보를 안본다는 사람들이 말하는 그 이유 - 천황폐하, 전두환 각하, 김일성 장군 만세? (created at 2024-03-07)

광폭타이어를 장착하면 성능이 좋아질거라는 착각 (updated at 2024-03-03)

면허시험장에서 면허갱신하면 하루만에 끝나나? (updated at 2024-03-03)