1. pom.xml에 JSP 템플릿 엔진 dependency 추가 <!-- JSP 템플릿 엔진 --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> 2. application.yml에 다음 코드를 추가한다. spring: mvc: view: prefix: /WEB-INF/views/ suffix: .jsp src/main/webapp/WEB-INF/views 디렉토리를 직접 만들어야 한다
- Controller의 역할을 수행 한다고 명시(해당 클래스를 Controller로 사용한다고 Spring FrameWork에 알린다.)
필요한 비즈니스 로직을 호출하여 전달할 모델(Model)과 이동할 뷰(View) 정보를 DispatherServlet에 반환 한다.
- Bean으로 등록
- @Component
의 구체화 된 어노테이션
ex)
src/main/resources/static (기본저장경로) 있는 /home.html 파일을 반환해라
Controller는 해당 경로 이하에 있는 파일을 반환해줌
* 스프링은 jsp 지원 안하기떄문에 따로 pom.xml에 jsp의존성 코드 넣어야됨 그리고 static 폴더에는 jsp 안됨 정적파일만 가능 ex) html ,png
2) @RequestMapping
- 요청에 대해 어떤 Controller, 어떤 메소드가 처리할지 맵핑하기 위한 어노테이션
- 클래스나 메서드 선언부에 @RequestMapping
과 함께 URL을 명시하여 사용한다.
3.@RestController란?
@Controller에 @ResponseBody가 결합된 어노테이션입니다
문자 그 자체를 반환함
. @Controller와 @RestController 차이점
*@Restcontroller는
Spring MVC Controller에 @ResponseBody가 추가된 것입니다. 따라서 @Controller와 달리 @RestController는 컨트롤러 클래스의 각 메서드마다 @ResponseBody를 추가할 필요가 없어졌습니다.
4.
@GetMapping 어노테이션은 HTTP GET 요청을 처리하는 메서드를 맵핑(@RequestMapping) 하는 어노테이션이다. 메서드(url)에 따라 어떤 페이지를 보여줄지 결정하는 역할을 한다
5.
jsp 파일은 그래서 src/main/wqbapp/WEB_INF/view 폴더에 둔다
*이떄 "/test.jsp"는 pom.xml에 설정한 jsp 경로에서
prefix 는 앞에주소고
sufix는 뒤에 주소므로
합치면 위에 풀네임처럼 중간에 슬러쉬가 2개들어가고 jsp도 2번 붙으므로 못찾음
return 값에 "/test.jsp"를 > "test" 로 바꿔준다
Bean (0) | 2022.10.13 |
---|---|
springboot 테이블만들기 (0) | 2022.10.12 |
http 실습 (0) | 2022.10.11 |
객체지향에선? (0) | 2022.10.11 |
springboot mine이란? (0) | 2022.10.11 |