(Spring4셋팅 Step2) 스프링 MVC
MVC란 Model-View-Controller의 약자로, 사용자 인터페이스와 비지니스 로직을 분리하여 웹 개발을 하는것을 가장 큰 장점으로 한다.
MVC 패턴도 MVC 모델 1과 MVC 모델 2로 나뉘어져 있는데, 요즘에는 MVC라고 하면 당연히 MVC 모델 2를 의미한다. 따라서 여기서는 MVC 모델 2 (이하 MVC)를 기준으로 진행한다.
Model : 모델은 애플리케이션의 정보, 즉 데이터를 나타낸다.
View : 뷰는 사용자에게 보여주는 인터페이스, 즉 화면을 이야기한다. 자바 웹 애플리케이션에서는 JSP를 의미한다.
Controller : 컨트롤러는 비지니스 로직과 모델의 상호동작의 조정 역할을 한다. MVC2에서는 서블릿이 흐름을 제어하는 컨트롤러 역할을 수행한다.
사진 출처 : http://blog.daum.net/gunsu0j/165
내용 출처 : http://addio3305.tistory.com/41
MVC 패턴을 참고하여 패키지 구성을 해보자.
여기서는 기능별로 패키지 구성 후 계층별로 패키지를 구성하도록 하겠다.
기능별로 패키지를 구성시 이점은 패키지명만으로 대략적인 기능을 이해 할 수 있으며,
업무 할당시 소스 충돌을 최초화 할 수 있다.
위 그림은 기능별 패키지로 index와 member를 분류 후 계층적으로 controller, service, dao, bean 패키지를 구성하였음
또한 해당 패키지내 기능명+계층명으로 클래스 생성하여, 간략한 설명은 아래와 같다.
Bean : 컨트롤러에서 파라미터 처리, DB 처리시 결과 처리, view 결과 출력
Controller : 클라이언트 요청을 받아서 view로 결과를 리턴
Service : ServiceImpl에 대한 interface
ServiceImpl : 기능 처리
Dao : DB 처리
현재 진행으론 Dao 처리가 안되어 있으므로,
화면에서 회원 아이디를 받아 컨트롤러 그리고 서비스단 까지 전달 후 화면으로 출력해보자.
MemberBean 안에 mbId 변수를 생성 및 set, get 을 생성한다.
package com.test.web.member.bean; public class MemberBean { private String mbId; public String getMbId() { |
MemberServiceImpl 에 selectMember 추가
package com.test.web.member.service; import org.springframework.stereotype.Service; import com.test.web.member.bean.MemberBean; @Service |
MemberService 에 selectMember 추가
package com.test.web.member.service; import com.test.web.member.bean.MemberBean; public interface MemberService { |
MemberController 에선 MemberService의 selectMember 호출 후 그 결과를 화면으로 넘길것이다.
package com.test.web.member.controller; import org.springframework.beans.factory.annotation.Autowired; import com.test.web.member.bean.MemberBean; @Controller |
JSP는 WEB-INF/view 폴더 밑에 member 폴더 생성 후 selectMember.jsp 파일을 생성한다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> |
이제 브라우저를 열고 아래 URL을 입력해보자
http://localhost/member/selectMember.do?mbId=1234
아래와 같이 아이디 출력 부분에 mbId로 입력한 값이 출력되면 성공이다.
'프로그래밍 > Java' 카테고리의 다른 글
(Spring4셋팅 Step5) mybatis 추가하기 (0) | 2015.07.15 |
---|---|
(Spring4셋팅 Step4) log4j 셋팅 (0) | 2015.07.15 |
(Spring4셋팅 Step3) Sitemesh 추가하기 (0) | 2015.07.14 |
(Spring4셋팅 Step1) 이클립스 Spring4 Maven WebProject 생성 (0) | 2015.07.06 |
System.currentTimeMillis 중복제거 (0) | 2011.01.07 |