spring에서 jsp사용하기

2022. 11. 19. 09:41web

pom.xml 또는 build.gradle 파일에 의존성 추가

필요한 의존성 패키지를 추가합니다.

 

Maven을 사용한다면 pom.xml에 추가하고, Gradle을 사용한다면 build.gradle에 추가합니다.

 

pom.xml

<dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
    </dependency>
</dependencies>

 

build.gradle

derendencies {
    implementation('javax.servlet:jstl')
    implementation("org.apache.tomcat.embed:tomcat-embed-jasper")
}

JSP 파일을 보관할 디렉토리 생성

Spring 애플리케이션은 시작할 때, application.properties 파일에 정의된 내용을 로드한다.
application.properties 파일에 spring.mvc.view.prefix와 spring.mvc.view.suffix 프로퍼티를 설정한다.

 

프로퍼티 값으로는 JSP 파일이 보관될 디렉토리(/WEB-INF/jsp/)와 확장자(.jsp)를 입력한다.

 

application.properties

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

 

디렉토리 생성
application.properties에 지정한 경로에 맞게 폴더를 생성한다.

 

JSP 파일 생성

jsp 폴더 하위에 hello.jsp 파일을 생성한다. 그리고 jsp 파일에는 아래와 같은 내용을 추가합니다.

 

hello.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html lang="ko">

    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>

    <body>
        
    </body>

</html>

Controller 생성

DispatcherServlet으로부터 경로를 전달 받아서 실행할 Controller가 필요합니다. controller 패키지를 생성하고 하위에 HelloController 클래스를 생성한다.

 

주의해야 할 점으로는 @SpringBootApplication 어노테이션이 붙은 클래스와 동일한 위치 또는 하위에 Controller 클래스를 생성해야 한다. Component Scan 할 때 Controller 클래스를 찾아서 자동으로 빈을 등록하기 때문이다.

 

HelloController.java

package com.jayden.demo.controller;

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

@Controller
public class HelloController {
    @RequestMapping("/hello")
    public String hello() {
        return "hello";
    }
}

'web' 카테고리의 다른 글

[Spring] contextPath, requestURI, requestURL 차이  (0) 2022.11.19