[스프링부트 with JPA 블로그 17강] yml 설정하기

최희정·2022년 9월 9일
0
post-custom-banner

1. yml 설정하기

스프링부트는 application.yml 파일에 설정하면 된다.

@RestController는 String을 리턴했을 때 문자 그 자체를 return 하는 반면,
@Controller는 해당 경로 이하에 있는 파일을 리턴하므로 슬러시(/)를 앞에 붙여야 한다.

예를 들면,
@RestController 의 경우

> @RestController 
public class HttpControllerTest{
	private static final String TAG = "HttpControllerTest"; 
    //localhost:8000/blog/http/lombok
    @GetMapping("/http/lombok")
    public String lombokTest(){
    	Member m = new 		Member.builder().username("cxxerry").password("chlgmlwjd01!").email("cxxerry@gmail.com").build();
        System.out.println(TAG+"getter: "+m.getUsername());
        m.setUsername("cos");
        System.out.println(TAG+"setter: "+m.getUsername());
    **    return "lombok test 완료"; **
    }
   }

@Controller 의 경우

> @Controller 
public class TempControllerTest{
	//http://localhost:8000/blog/temp/home
    @GetMapping("temp/home")
    public String tempHome(){
    	System.out.println("tempHome()");
        //파일리턴 기본 경로: src/main/resources/static
        //리턴명 : /home.html
        //풀경로 : src/main/resources/static/home.html
    **    return "/home.html";**
    }
   }

2. JSP

스프링부트는 기본적으로 JSP를 지원하지 않는다. SP파일을 리턴해줘도 정상적으로 작동하지 않는다. 따라서 스프링부트에서 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 디렉토리를 직접 만들어야 한다.
이때 뒤에 확장자명이 이미 설정파일에 추가되어 있으므로 파일이름만을 return 한다. ex) return "temp";

JSP파일은 정적 파일이 아니므로 웹서버인 아파치가 처리하지 못 한다.
톰캣이 대신 컴파일해서 웹브라우저에게 전달한다.

profile
차근차근 일상을 기록하는 컴공생 👩🏻‍💻
post-custom-banner

0개의 댓글