SPRING - 스프링MVC

먼저 스프링에서 MVC패턴을 사용하여 프로젝트를

만드려면 MVC프로젝트를 만들어야한다

생성방법은 아래와 같다



--




먼저 프로젝트의 구조는 아래와 같다



다음 컨트롤러 클래스를 생성해야한다.

최초 클라이언트로부터 요청이 들어왔을 때 컨트롤러로

진입하게 된다. 그리고 컨트롤러는 요청에 대한

작업을 한후 뷰쪽으로 데이터를 전달한다.


다음 @RequestMapping을 이요해 요청경로를 지정하고

요청처리 메소드를 구현후 뷰이름으로 리턴한다.


먼저 테스트를 해보자

HomeController에 @RequestMapping을

추가해 경로를 만든다


간단하게 3개만 만들어준다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package com.spring.ex;
 
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
 
@Controller
public class HomeController {
    
    private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
    
    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String home(Locale locale, Model model) {
        logger.info("Welcome home! The client locale is {}.", locale);
        
        Date date = new Date();
        DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
        
        String formattedDate = dateFormat.format(date);
        
        model.addAttribute("serverTime", formattedDate );
        
        return "home";
    }
    
    @RequestMapping("/board/view")
    public String view() {
        
        
        return "board/view";
    }
    
    @RequestMapping("/board/content")
    public String content(Model model) {
        
        model.addAttribute("id"30);
        return "board/content";
        
    }
    
    @RequestMapping("/board/reply")
    public ModelAndView reply() {
        
        ModelAndView mv = new ModelAndView();
        mv.addObject("id"30);
        mv.setViewName("board/reply");
        
        return mv;
    }
    
}
 
cs


42line의 Model model 은 Model이라는 객체를

파라미터로 받은것이다

컨트롤러에서 jsp(뷰)로 값을

뿌려줄때 사용한다.(데이터를 갖고있는객체 = model)

52line은 모델객체를 파라미터로 받지않고

ModelAndView 객체를 생성 한것이다.


다음 views 폴더안에 board폴더를 만든후

content, reply, view jsp 파일을 만들어준다.



1
2
3
4
5
6
7
8
9
10
11
12
13
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!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=EUC-KR">
<title>Insert title here</title>
</head>
<body>
    content.jsp 입니다. <br />
    id : ${id}
</body>
</html>
cs


다음 F11을 눌러 실행을 하는데

이클립스 내에서 웹브라우저를 실행시키려면



window탭에서 위와같이 설정하면 된다.


다음 주소를 바꿔줘야한다 그냥 실행시킨다면

정상적으로 화면이 나오지 않는다


위 이미지처럼 주소를 써줘야 정상적으로 출력이된다.

컨트롤러에서 리턴을할때 잡혀있는 기본

경로는WEB-INF/view 인데 servlet-context.xml에서 확인할수있다



--





'SPRING' 카테고리의 다른 글

SPRING - @RequestParam 어노테이션  (0) 2018.02.06
SPRING - HttpServletRequest 클래스  (0) 2018.02.06
SPRING - AOP란?  (0) 2018.02.06
SPRING - 자바를 이용한 DI 설정  (0) 2018.02.06
SPRING - DI의 장점  (0) 2018.02.05

댓글

Designed by JB FACTORY