wiki:UrlDirect

URI 주소

1.절대값 : 페이지 전체 경로

http://localhost:8080/myShop/member/insertForm.jsp

2.절대값 (생략형) : URL을 제외한 페이지 경로

/myShop/member/insertForm.jsp

3.상대값 : : 열린 페이지를 기준으로 작성

(같은 위치) : Contents.jsp 또는 ./Contents
(다른위치)  : ../common/layout/main.jsp
    : ../../member/insertForm.jsp

페이지 이동 : 앵커 태그 이용 (HTML)

<a href="URI">바디</a> : 앵크태그, get 방식

<a href="notice/List.jsp">공지사항목록</a> <br />
<a href="/myShop/notice/List.jsp?abc=차카다">공지사항목록 </a> <br />

페이지 이동 : submit 방식

<form>태그의 submit/action : 서브밋방식, get/post 방식(둘다 가능)

<form action="URI" method="post"> : method 생략시 get 방식이 default
<input type="text" name="변수명">
 <input type="submit">
</form>

<form action="notice/List.jsp" method="post"> 
<input type="hidden" name="abc" value="차카다" />
 <input type="submit" value="공지사항목록" />
</form>

request 변수 전송 방식

페이지 이동 : javascript (자바스크립트)

location.href="URI";

  • 자동으로 특정페이지로 이동할 때 사용
    <script type="text/javascript">
       location.href="notice/List.jsp";
    </script><br />
    
  • a 태그 이용

<script type="text/javascript">
function goPage() {

location.href="notice/List.jsp";
}

</script>
<a href="javascript:goPage()" >공지사항 목록</a> <br />

  • 이벤트 사용 (get 방식)

<button onclick="goPage()" >공지사항 목록</button> 
<div onmouseover="goPage()" style="background-color: yellow; width: 100px; color: black; " >공지사항 목록</div>

  • 이벤트 사용 (post 방식)

<script type="text/javascript">
function gopagePost() {
//0클라이언트 부분에서의 에러검증 코드 자리
document.myForm.action="/myShop/notice/List.jsp";
document.myForm.method="post";
document.myForm.submit();
}
</script>
<form name="myForm"> 
    <input type="hidden" name="abc" value="차카다" />   
    <input type="button" onclick="gopagePost()" value="공지사항목록" />
</form>
 

location.replace(URL);

  • 지정한 URL로 이동
    <script type="text/javascript">
     
    
    function goReplace(str) {
    location.replace(str);
    }
     
    
    </script>
    <button onclick="goReplace('/myShop/notice/List.jsp')" >공지사항 목록</button>
    

location.reload();

  • 페이지 새로고침

<script type="text/javascript">
function goReload() {
location.reload();
}
</script>

<button onclick="goReload()" >페이지 재호출</button>

history.go(값); :

  • 지정한 페이지로 이동 (값은 숫자임 (예)-1, 2)
    <script type="text/javascript">
    function historyGo(i) {
    history.go(i);
    }
    </script>
    
    <button onclick="historyGo(-3)" >historyGo</button>
    

history.back();

이전 페이지로 이동

<script type="text/javascript">
function historyBack() {
history.back();
}
</script>

<button onclick="historyBack()" >historyBack</button>

history.forword();

  • 다른 페이지로 이동
    <script type="text/javascript">
    function historyForword() {
    history.forword();
    }
    </script>
    
    <button onclick="historyForword()" >historyForword</button>
    
  • 상기 방법의 페이지 이동시 URI 패스는 context path로 부터 절대값 시작

JSP 이동 방법

  • jsp 이동방법이 html, javascript 이동방법 보다 우선한다.
  • URI는 servlet path로 부터 절대값 시작

JSP의 내장객체 request을 이용하는 방법 (자동이동)

  • 데이터를 다음페이지에서 사용가능
    <%
    request.getRequestDispatcher("/notice/List.jsp").forward(request, response);
    %>
    

JSP의 액션태그를 이용하는 방법 (자동이동)

  • 데이터를 다음페이지에서 사용가능
    <jsp:forward page="/notice/List.jsp"></jsp:forward>
    

JSP의 내장객체 response를 이용하는 방법 (자동이동)

  • 데이터가 초기화 되어짐(내부적으로 두번의 주소요청이 일어남)
  • URI는 Context Path로 부터 절대값 시작
    <%
    response.sendRedirect("/myShop/notice/List.jsp");
    %>
    

Meta 태그 이용

<META http-equiv=refresh content="딜레이시간;url=URI">

  • head 태그 사이에 사용
    <head>
      <META http-equiv=refresh content="1;url=notice/List.jsp">
    </head>
    

Attachments