사용자 삽입 이미지

 

클라이언트가 서버에 gb/list.do 라는 주소로 요청을 보낸다.

서버는 gb/list.do 라는 주소를 web.xml 를 참조하여 해당하는 서블릿인

GBListServlet 을 찿아서 실행한다.

GBListServlet 안쪽에서 jdbc 로 데이터를 받아온다.

ResultSet 으로 받아와서 응답을 할때 while 문을 돌린다. (rs.next())

웹 어플리케이션 04,07 서블릿을 이용한 페이지 출력 에서 만든것…

servlet 으로만 구현을 한것이다.

이는 개발자와 디자이너의 협업이 힘들고 (분업화가 힘듬) 가독성도 떨어지는등 단점이 많다.

이런 단점을 해결하고자 jsp 를 고안해냈다.

화면에 뿌려주는 것은 jsp가 담당...

 

지금부터 jsp 를 사용할 텐데… 먼저 페이지 이동의 두가지 방법을 알아보겠다.

forwarding 과 redirect 방식이 있다.

 

<redirect 방식>

먼저 새로운 서블릿을 만든다.

 

	
		move
		move.MoveServlet
	
	
		move
		/move/*
	

 

web.xml 에 추가해주고

 

package move;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class MoveServlet extends HttpServlet {
	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.sendRedirect("http://www.naver.com");
	}
}

 

라고 MoveServlet 을 작성하여준다.

실행하여보면....

 

사용자 삽입 이미지


사용자 삽입 이미지

 

네이버로 이동이 됨을 알 수 있다.

/move 라고 요청을 하였고, naver.com 으로 이동이 되었다.

이른바 '방향을 재지정' 하는 것이다.

 

사용자 삽입 이미지

 

일단... 클라이언트가 서버에 요청을 보내면...

서버는 응답을 한다....

redirect 방식에서는

response.sendRedirect("http://www.naver.com”);

sendRedirect 메소드를 이용 새로운 주소로 가라고 지정을 하여준다.

정리하면...

 

1. 클라이언트가 서버로 /move/ 라는 요청을 보낸다.

2. 서버는 response.sendRedirect("http://www.naver.com"); 에 의해서 naver 로 가세요 라고 한다.

3. 클라이언트는 naver 서버로 요청을 보낸다.

4. naver서버는 응답을 하여 naver.com 화면이 클라이언트에게 보여진다.

 

두번의 request, 두번의 response

원래 요청한 주소는 무시하고 지정한 주소로 가버리는 것이 redirect 방식이다.

주소가 바뀌고

(request , response 가 짝을이룬다. (synchronous))

request, response 가 두번씩 이루어진다.

이것은 같은 웹어플리케이션 내에서도 이루어질 수 있다.

 

package move;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class MoveServlet extends HttpServlet {
	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String cp = request.getContextPath();
		
		response.sendRedirect(cp+"/gb/list.do");
	}
}

 

(String cp = request.getContextPath(); 이것은 localhost:8080/wps 까지를 말한다. )

실행하여보면....

 

사용자 삽입 이미지


사용자 삽입 이미지

 

/move/algj;alskjg;alsdjf 라고 주소를 호출하였으나

/gb/list.do 로 이동이 되는 것을 알수 있다.

물론 주소도 바뀌었다.

이러한것이 redirect 방식

05 3, 2009 04:10 05 3, 2009 04:10
iamback 이 작성.

Trackback URL : http://pippen80.cafe24.com/trackback/163

Trackback RSS : http://pippen80.cafe24.com/rss/trackback/163

Trackback ATOM : http://pippen80.cafe24.com/atom/trackback/163


« Prev : 1 : ... 113 : 114 : 115 : 116 : 117 : 118 : 119 : 120 : 121 : ... 251 : Next »