반응형

# MVC03_01 ~ 03 MVC03(Model2 방식)개요, 포워드(forward) 기법, 요청의뢰와 객체 바인딩

# MVC03_01 MVC03(Model2 방식)개요

## 학습 예정

  • RequestDispatcher (요청의뢰 객체)
  • 포워드(=포워딩, forward)
  • 객체 바인딩

## MVC03 프로젝트 생성

  • File > New > Dynamic Web Project 클릭 > Project name : MVC03 > Next > Next > Generate web.xml deploymen descriptor 체크 후 Finish.
  • MVC01 자료를 바탕으로 작업 예정

## 톰캣 서버 등록

  • Server > 톰캣서버 우클릭 > Add and Remove 클릭
  • Available에 있는 MVC03 클릭 후 Add 클릭

## 패키지 생성

  • kr.bit.controller
  • kr.bit.db
  • kr.bit.model

## 데이터베이스 연결을 위한 드라이버 추가.

  • MVC03 > WebContent > WEB-INF > lib 에 mysql-connector-java-5.1.31.jar 추가

## 회원가입 페이지 생성

  • MVC03 > WebContent 에 member 폴더 추가, 
  • member 폴더에 memberRegister.html 추가

 

# MVC03_02 forward(포워드=포워딩) 기법

  • 서버에서 Controller와 JSP 간에 페이지를 전달요청하고 요청받은 JSP가 Controller가 가지고 있는 데이터를 가져와서 View를 한다음, View의 결과를 다시 Controller에게 넘겨주면 Controller는 이 데이터를 받아서 그대로 응답을 학는것을 포워드(포워딩) 이라고 한다.
  • Controller와 view가 서로 forward 될 때, 데이터를 보내고 받으려면 특정 메모리 공간에 넣어주고, forward 할 때 다시 데이터를 빼내야 하는데 이걸 객체를 특정 메모리에 연결시켰다 하여 객체 바인딩 이라고 한다.

 

# MVC03_03 RequestDispatcher(요청의뢰) 와 객체 바인딩

1. 클라이언트가 Controller에게 요청을 하게 되면 Controller에는 HttpServletRequest 객체와 HttpServletResponse 객체 (요청과 응답 객체)가 생성된다. 

2. Controller에 있는 reqeust 객체와 response 객체가 각 객체(HttpServletRequest 객체와 HttpServletResponse 객체)를 가르키게 된다.

3. Controller는 Model(Java) 와 연동 DAO를 통해 DB에서 데이터를 가져온다.

4. 요청을 의뢰할 페이지를 얻어온다.

  • RequestDispatcher rd = request.getRequestDispatcher(); 를 이용하여 JSP 가져온다.

5. 객체 바인딩

  • 메모리 공간(request)에 특정 객체를 집어 넣는것. request.setAttribute(); 를 이용.

6. 포워딩 진행

  • rd.forward(request, response); 를 이용 클라이언트에게 응답을 하게 된다. 여기서 request, response는 2번에서의 request, response와 동일. 이때 메모리 공간에 들어있는 특정 객체를 가져와서 응답. request.getAttribute(); 를 이용

반응형

+ Recent posts