먼저 spring boot project를 생성한다. 
나의 경우엔 jar, maven 으로 해주었음. gradle프로젝트도 동일함. 
프로젝트를 생성하면 기본적으로 어플리케이션이 생성된다. 



다음 컨트롤러를 만들어준다. 
컨트롤러는 그냥 클래스를 생성한 후 어노테이션으로 컨트롤러만 지정해주면 되고 추가적으로 접속테스트를 위한 리퀘스트 맵핑을 지정해준다. 




다음으로 src > main 이 기본으로 생성되는 폴더인데, 하위에 webapp을 생성, 하위로 view폴더를 생성 하여 testView.jsp를 만들어 준다. 




jsp파일엔 맵핑이 제대로 된 경우 확인 할 수 있을 정도의 문구를 넣어준다. 다음으로 프로젝트를 구동시킨다. 




인터넷 브라우저에서 입력한 주소에 접속하면 역시나 에러가 발생한다. 뷰리졸버를 dependency에 추가해 주지 않아서 발생하는 에러이다. 





보통 검색을 해보면 spring boot 에서 view mapping을 해주기 위해선 embeded-tomcat jasper를 dependency에 추가하고 resource > application.property파일에 다음과 같이 등록해주면 해결된다는 말이 많다.




하지만 나 같은경우엔 등록해 주어도 여전히 맵핑이 되지 않아서 고생을 좀 했다. 이건 maven에서도 gradle에서도 마찬가지 였다.



404에러다... 그러다가 다음과 같은 방법으로 bean을 등록해주면 가능하다는 것을 알게되었다. application.java 클래스를 다음과 같이 수정해 주면 에러는 해결된다. 



수정전 application.java
package com.example;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication
public class DemoApplication {


	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
}
수정 후 application.java

package com.example;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.view.InternalResourceViewResolver;


@ComponentScan
@Configuration
@EnableAutoConfiguration
public class DemoApplication {


    public static void main(String[] args) {
	SpringApplication.run(DemoApplication.class, args);
    }

	

    @Bean
    public InternalResourceViewResolver setupViewResolver() {

        InternalResourceViewResolver resolver = new InternalResourceV        iewResolver();

        resolver.setPrefix("/WEB-INF/view/");
        resolver.setSuffix(".jsp");
        return resolver;
    }
}


다시 spring boot application을 run 시키고 브라우저에 접속해 보면 다음과 같이 뷰가 맵핑된 것을 확인 할 수 있다. 

spring boot 다양한 sample 모음 :

 posted by Culinary developer



AND