Spring MVC
Spring MVC는 Spring에서 제공하는 웹 모듈로 사용자의 다양한 HTTP Request를 처리하고 단순한 텍스트 형식의 응답부터 REST형식의 응답, View를 표시하는 html을 return 하는 응답까지 다양한 행위를 할 수 있도록 한 프레임워크이다.
▶Spring MVC의 주요 구성 요소
1. @Controller
@Controller 는 기존의 핸들러 클래스 같은 역할을 수행 하고 있다. 따라서 controller annotation(@)을 꼭 써줘야 한다.
2. @RequestMapping("/")
전송 방식을 지정하지 않은 맵핑방법으로 주소가 없다면 return 값으로 실행의 첫번째에 나타날 뷰페이지를 기입한다.
3. @RequestMapping("주소") + 변수 + 메서드
RequestMapping은 전송방식(get, post)을 지정하되어 있지 않고 url "/hello/test2" 로 오기만 하면 public String test2() { } 메소드를 실행 한다. 여기서 public String 의 String은 뷰페이지 경로인 문자열 값을 나타낸다. 또한, return "/hello/test2"; 는 사실 application.properties의 # JSP view 이 값을 가지고 있으다. application.properties의 # JSP view 로 인해 최종 리턴값은 "/views/hello/test2.jsp" 이다.
4. @RequestMapping("주소생략") + 변수 + 메서드 + return 값 생략
3번과 같이 url과 뷰 페이지의 경로가 같다면 생략 가능하다 return 값이 없어졌으니 변수타입은 void로 지정해 준다.
5. @GetMapping("주소" )
GetMapping = get 방식 요청 url 이이며 get 방식으로 페이지를 보냈을때는 하기의 메서드가 실행 될 것이다.
최종 코드
package com.example.demo.hello;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController {
@RequestMapping("/")
public String root() {
return "index";
}
@RequestMapping("/hello/test2")
public String test2() {
return "/hello/test2";
}
@RequestMapping("/hello/test3")
public void test3() {
}
@GetMapping("/hello/test1")
public String test1() {
return "hello/test1";
}
}
'spring 스프링' 카테고리의 다른 글
lombok (롬복) 라이브러리 스프링으로 사용 (0) | 2023.05.15 |
---|---|
[spring] 스프링 session (0) | 2023.05.12 |
[spring] form 파라미터 (0) | 2023.05.09 |
[spring] 스프링 @ annotation 사용 (0) | 2023.05.09 |
[spirng] 스프링이란 (0) | 2023.05.08 |