khstar

Intellij CE 에서 springboot와 jsp 프로젝트 설정하기 본문

개발

Intellij CE 에서 springboot와 jsp 프로젝트 설정하기

khstar 2020. 7. 8. 22:52
반응형

기본적인 Spring Boot 프로젝트 설정하기는 다음 링크를 확인하세요.

https://khstar.tistory.com/entry/Intellij%EB%A1%9C-Maven-SpringBoot-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0

 

Intellij로 Maven SpringBoot 시작하기

springboot 웹어플리케이션 개발을 위해 여기저기 돌아다니다가 좋은 것을 발견해서 기록을 남기는 차원에서 글을 작성합니다. Springboot를 시작하기 위해서는 maven이나 gradle 프로젝트를 생성해서 ��

khstar.tistory.com

위 링크는 spring boot 프로젝트를 설정합니다.

그러나 Intellij에서는 그 동안 써오던 eclipse와 프로젝트 구조가 다르고 spring boot + jsp 조합을 추천하지 않는다고 합니다. 

또한 springboot자체에서도 기본적으로 jsp를 지원하지 않는다고 합니다.

 

그렇기 때문에 IntelliJ에서 spring boot + jsp를 사용하기 위해서는 별도의 방법이 필요합니다.

그럼 하나씩 적어보도록 하겠습니다.

언제나 그렇지만 제글은 조금 두서가 없습니다. 참고해주세요. ㅜㅜ

 

위의 링크를 따라서 프로젝트를 설정하면 다음과 같은 프로젝트 구조가 생성됩니다.

webapp이 없습니다.

springboot + jsp 구조에서는  다음과 같이 webapp - WEB-INF가 있습니다.

위와 같은 구조를 만들기 위해 일단 main 아래에 webapp폴더를 만들어 줍니다.

main -> New -> Directory를 선택해서 webapp 폴더를 만들어 줍니다.

다시 webapp하위에 WEB-INF 폴더를 만들어서 다음과 같은 구조를 만들어 줍니다.

configuration 패키지를 추가해주고 하위에 spring WebMvcConfigurer를 implements 해줍니다.

저는 WebMvcConfig.java 로 생성했습니다. 

또한 Configuration 어노테이션을 추가해줬습니다. 그러면 다음과 같습니다.

MVC 패턴에 따라 controller 로 추가해 줍니다.

controller 패키지를 만들어 주고 임시로 MainController.java를 만들어줍니다.

package com.khstar.slow.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class MainController {

    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String index() {
        return "index";
    }
}

 

다음으로 resources 하위의 application.properties에 다음을 추가합니다.

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

prefix 설정과 같이 WEB-INF 하위에 jsp 폴더를 만들어 주고 jsp 하위에 index.jsp 파일을 만들어 줍니다.

 

아직 jsp에 아무것도 작성하지 않았습니다.

일단 html 내용을 jsp 파일에 입력하고 .jsp가 호출 되는것 까지만 확인해 보겠습니다.

<html>
<head>
    <title>Spring Boot JSP</title>
</head>
<body>
    <h2> Hello Spring Boot JSP</h2>
</body>
</html>

보이시죠 .jsp 지원을 위해서는 Ultimate 버전을 사용하라고 하네요. ㅜㅜ 

일단 저장을 하고 spring boot를 실행한 후 index.jsp 를 호출해 보겠습니다.

에러 페이지가 호출 되네요. 

pom.xml 에 tomcat-embed-jasper Dependency를 추가해 줍니다.

		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-jasper</artifactId>
		</dependency>

이제 jsp 파일이 호출 되었습니다.

다음에는 jsp와 연동하는 부분을 만들어 보겠습니다.(과연 언제가 될지..ㅜㅜ)

 

그나저나 IntelliJ CE에서는 jsp가 지원되지 않는다니 좀.. 애매하네요.

 

감사합니다.

 

참조 :

https://www.youtube.com/watch?v=hvk4fUHFKNM

https://steps-for-developer.tistory.com/entry/Intellij%EB%A1%9C-SpringBoot-%EA%B2%8C%EC%8B%9C%ED%8C%90-%EB%A7%8C%EB%93%A4%EA%B8%B0-2-%EA%B8%B0%EB%B3%B8-%EC%B6%94%EA%B0%80-%EC%84%A4%EC%A0%95

https://thdghgns.tistory.com/3

 

반응형
Comments