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) 순으로 작업하는게 편하다)
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는 한 곳에서 수행 가능)
'Spring > MVC 연습' 카테고리의 다른 글
[STS] 스프링(Spring) MVC 프로젝트 왕초보 연습문제 (2) (0) | 2022.06.01 |
---|