2013년 8월 25일 일요일

JSP/Servlet을 기반으로한 MVC모델의 요청처리 - 1 (개요 및 구현방법)

수업을 들으면서 듣고 까먹는 내용들이 많아 블로그에 남기기로 했다.
개인적으로 기억하고 정리 하기 위한 것이므로 틀린 부분이 있을 수도 있으므로
알려주시면 수정하도록 하겠습니다.

개발환경
운영체제 : Linux Mint 13 Maya
개발툴 : Eclipse EE Kepler
JDK버전 : jdk 1.7.0_25
서버 : apache tomcat 7.0
 
구현 내용
서버로 /ExWebProject/test.MyServlet 요청이 들어오면 서블릿에서 test.MyServlet요청을 처리할 객체를 가져오고 작업을 수행하고 view를 리턴하면 view에서 작업한 내용을 출력
Servlet은 Controller의 역할을 하고 JSP는 View의 역할을 한다.

구현 순서

1. Dynamic webproject생성
ExWebProject라는 이름으로 생성

2. 서블릿 클래스 생성
HttpServlet 상속
init() 메소드와 doPost() doGet() 메소드 구현
init() 메소드에는 초기화 작업할 내용을 구현한다. (서블릿 설정 내용을 읽어서 적용한다던가..여기서는 HashMap에 요청을 처리할 클래스(MyService 구현) 객체를 생성하여 넣는 작업을 할 것이다.)
doGet()은 Get방식의 요청이 들어왔을 경우 처리 할 내용
doPost()는 Post방식의 요청이 들어왔을 경우 처리 할 내용

여기서는 Get방식 Post방식을 구분하지않고  doJob()메소드를 생성하여 각 방식에서 doJob()메소드 호출을 해주는 식으로 구현하겠다. doJob()에서는 들어온 요청을 구분하고 HashMap에서 요청과 일치하는 객체를 가져온다. 그 후 요청을 수행하고 View(jsp)를 리턴하면 Servlet에서 RequestDispatcher를 이용하여 forward한다.

3. Service구현
실제로 요청을 처리할 Service구현
여기서는 임의의 MyService 인터페이스를 만들고 이 인터페이스를 구현할 것이다.
처리내용은 HttpServletRequest객체에 값을 심고 View를 리턴

4. web.xml, server.xml설정
생성한 서블릿 클래스와 리퀘스트를 매핑
server.xml에 프로젝트 등록
수동으로 설정하기 위해서는 <Host></Host>사이에 <Context>앨리먼트를 사용하여 프로젝트 등록
프로젝트 오른쪽 클릭 -> Run As -> Run on Server를 클릭하면 프로젝트가 자동으로 server.xml에 등록된다.

5. View로 사용할 jsp 파일 작성
request에 있는 값을 출력

댓글 없음:

댓글 쓰기