Quiz1) 

①test1.jsp에 request가 들어오면 /quiz/test1의 request가 열리게 하고 
②test2.jsp는 /quiz/test3가 열리게 ,
③ test3.jsp는 /test3가 열리게 mvc를 구현해보자

---------------------------------------------------------------
< .jsp파일 기재 내용>
test1.jsp : quiz폴더의 test1.jsp open 
test2.jsp : quiz폴더의 test3.jsp open
test3.jsp : test3.jsp open 으로 기재 


단 , @Controller의 어노테이션을 사용하여 축약한 MVC로 구현할 것!

풀이 

1. jsp파일 3개 생성 (보통 view -> controller -> (model) 순으로 작업하는게 편하다)

view 파일 3개

2. 컨트롤러

컨트롤러는 main에서 패키지 생성 (컨트롤러는 패키지 아무거나 캡쳐했어요) 코드랑 안맞음!

 

<Controller 자바 파일> 

package org.zerock.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/quiz/*")
public class QuizController {

	@GetMapping("/test1") //test1이 요청이오면  /quiz/test1.jsp가 열리게
	public String test01() {
		return "quiz/test1.jsp";
	}
	
	@GetMapping("/test2")	// => /quiz/test3.jsp
	public String test03() {
		return "/quiz/test3.jsp";
	}
	
	@GetMapping("test3")  // => /test3.jsp
	public String test3() {
		return "/test3";
	}

 

Tip

더보기 글 클릭 

더보기

 

/quiz/test1은 quiz폴더의 test1.jsp 파일을 의미하며 (2번 동일)
/test3은 quiz폴더가 아닌 상위폴더가 view에만 위치한 test3.jsp파일을 의미한다.

MVC 프로젝트는 
Controller / Model / View 이렇게 3가지를 구현해야하지만 간략한 코드의 경우 model의 역할을 controller에서도 할 수 있기때문에 Controller와 View 2가지 패키지를 통해서도 구현가능하다.
각각의 패키지와 폴더를 생성한 후 Controller에는 .java 클래스 파일을 (코드구현) / View에는 .jsp파일(결과물) 을 만든다.

test1, test2, test3을 구현하기 위해선 1개의 폴더(quiz)와 3개의 jsp 파일이 생성되어야 한다. (Controller는 한 곳에서 수행 가능) 
복사했습니다!