공부를 함시다/JAVA와웹

STS4 스프링 부트 JSP로 Hello World 출력하기

갈룩시노테7 2023. 6. 7. 22:03
반응형

아래 내용은 STS4, Maven 타입, JDK 17 버전에 대한 설명입니다. Gradle 버전이 아닙니다.

 

 

일단 File -> Spring Starter Project를 생성해줍니다.

 

 

이름과 타입, 패키징, 사용하번 자바 버전을 입력해준 뒤, 임의로 패키지 값을 설정해줍니다.

 

 

만약 DB를 사용한다면 추가로 넣을게 더 있겠지만 지금으로써는 단순히 Hello World를 띄우는게 목적이기에 위의 2개만 찾아서 추가한 뒤 Finish를 눌러줍니다.

 

위와 같이 생성하자마자 가장 밑에 있는 pom.xml에 들어가

	    <!-- JSTL -->
	    <dependency>
	        <groupId>jakarta.servlet.jsp.jstl</groupId>
	        <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
	    </dependency>
	    <!-- Tomcat Embed Jasper -->
	    <dependency>
	        <groupId>org.apache.tomcat.embed</groupId>
	        <artifactId>tomcat-embed-jasper</artifactId>
	        <scope>provided</scope>
	    </dependency>

해당 값을  </dependencies> 사이에 추가 시켜줍니다. 해당 값은 JSTL을 스프링 부트에서 사용 가능하게 만들어주는 값과, 스프링 부트의 내장 톰캣이 JSP를 지원하도록 만들어주는 역할을 합니다. 여기서 javax는 jakarta로 대체되었습니다.

 

이제 Java Resources 파일에서 src/main/resources 파일에 들어가 application.properties 에 해당 내용을 입력합니다.

해당 내용은 spring mvc에서 view resolver가 사용할 파일의 경로와 확장자명을 선언한다고 생각하면 됩니다.

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

중요한건 다 적고 나서 절대 위 사진처럼 공백을 남기면 안됩니다! 오류가 발생합니다!

 

그 다음엔 src/main/java에 들어가서 기존에 있던 패키지에 클래스 하나를 생성해 줍니다.

 

- 여기서 패키지를 따로 만들어서 작동해도 된다고 하는데,

저는 그럴 경우 오류가 생겨서 ####Application.java의 파일과 같이 위치시켜 주었습니다.

 

 

위와 같이 MainController라는 이름의 클래스를 작성해줍니다.

 

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

@Controller
public class MainController {
	
	@RequestMapping("/")
	public String main() {
		return "index";
	}
}

 

이후 패키지만 선언되어있는 부분에 해당 값을 입력해줍니다. 전부 입력해주어도 되고, 아니면 빨간부분만 입력한 뒤 Ctrl+Shift+O를 누르면 자동으로 import가 갱신되어 오류가 사라집니다.

 

다음으로는 아래에 보이는 src 폴더에 들어가 src-main-webapp 에서 시작해 WEB-INF, view 폴더를 생성한 뒤, index 이름의 JSP파일을 생성합니다.. 이후 위와 같이 내용을 입력해줍니다.

- UTF-8은 직접 설정 부탁드립니다.

 

만약 New - other에서 JSP을 검색했는데 JSP가 나오지 않는다면, 마켓플레이스에서 해당 툴을 다운받으면 사용할 수 있습니다.

 

이후 처음 만들었던 프로젝트를 우클릭하여 Run AS에서 Spring Boot App을 실행하면 됩니다.

오른쪽 옆에 정상적으로 Spring 아스키 로고가 뜨고 왼쪽 하단의 Boot DashBoard에 해당 그림이 뜬다면 자동으로 크롬이 켜집니다. 그렇지 않은 경우 해당 사진처럼 Stop 버튼 옆의 지구본 모양을 클릭해줍니다.

축하합니다! 첫 스프링 부트 출력을 완료했습니다!

반응형