상세 컨텐츠

본문 제목

yml 설정법

java(자바복습)

by moo0357 2022. 10. 12. 02:21

본문

스프링부트는 application.yml 파일에 설정하면 된다. @RestController는 문자 그 자체를 return 하는 반면, @Controller는 해당 경로 이하에 있는 파일을 리턴하므로 슬러시(/)를 붙여야 한다. 스프링부트는 기본적으로 jsp 지원을 하지 않는다. jsp파일을 리턴해줘도 정상적으로 동작하지 않는다.

 

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 디렉토리를 직접 만들어야 한다

1)  @Controller

 - Controller의 역할을 수행 한다고 명시(해당 클래스를 Controller로 사용한다고 Spring FrameWork에 알린다.)

   필요한 비즈니스 로직을 호출하여 전달할 모델(Model)과 이동할 뷰(View) 정보를 DispatherServlet에 반환 한다.

 - Bean으로 등록

 - @Component의 구체화 된 어노테이션

@Controller 어노테이션이 붙으면 그 메서드는 파일을 반환함

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" 로 바꿔준다

'java(자바복습)' 카테고리의 다른 글

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

관련글 더보기