(Spring4셋팅 Step2) 스프링 MVC

프로그래밍/Java | 2015. 7. 8. 15:19
Posted by 애니스

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() {
  return mbId;
 }
 public void setMbId(String mbId) {
  this.mbId = mbId;
 }

 

MemberServiceImpl 에 selectMember 추가

package com.test.web.member.service;

import org.springframework.stereotype.Service;

import com.test.web.member.bean.MemberBean;

@Service
public class MemberServiceImpl implements MemberService {
 
 public MemberBean selectMember(MemberBean memberBean) throws Exception {
  return memberBean;
 }
}

 

MemberService 에 selectMember 추가

package com.test.web.member.service;

import com.test.web.member.bean.MemberBean;

public interface MemberService {
 public MemberBean selectMember(MemberBean memberBean) throws Exception;
}

 

MemberController 에선 MemberService의 selectMember 호출 후 그 결과를 화면으로 넘길것이다.

package com.test.web.member.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.test.web.member.bean.MemberBean;
import com.test.web.member.service.MemberService;

@Controller
public class MemberController {
 
 @Autowired
 MemberService memberService;
 
 @RequestMapping("/member/selectMember.do")
 public String selectMember(MemberBean memberBean, Model model) throws Exception{
  
  memberBean = memberService.selectMember(memberBean);
  
  model.addAttribute("memberBean", memberBean);
  
  return "member/selectMember";
 }
 
}

 

JSP는 WEB-INF/view 폴더 밑에 member 폴더 생성 후 selectMember.jsp 파일을 생성한다.

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
 Hello, world! <br/>
 입력받는 아이디는 ${memberBean.mbId} 입니다.
</body>
</html> 

 

이제 브라우저를 열고 아래 URL을 입력해보자

 

http://localhost/member/selectMember.do?mbId=1234

 

아래와 같이 아이디 출력 부분에 mbId로 입력한 값이 출력되면 성공이다.

 

 

 
블로그 이미지

애니스

카테고리

분류 전체보기 (10)
프로그래밍 (10)
애니스전용 (0)