SpringBoot에서 JSP 설정하기

devdo·2021년 4월 11일
0

SpringBoot

목록 보기
4/34

springBoot는 기본적으로 jsp를 지원하지 않는다.

그래서 jsp를 사용하기 위해 따로 개발자가 설정해줘야 한다.

1. 디팬더시

  • pom.xml(maven)
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
  • build.gradle
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
implementation 'javax.servlet:jstl'

2. application.yml

spring:
  mvc:
    view:
      prefix: /WEB-INF/views/  # 변경가능
      suffix: .jsp				

✅ 실행시 .jsp까지 함께 적어주어야 하지만 이 설정을 하면,
이제 Controller 단에서 요청시 .jsp를 뺄 수가 있다.


3. jsp 파일 경로

아래 그림처럼 src/main폴더 하위에 webapp/WEB-INF/views 폴더를 만들고 이 위치에 놓는다.


예시)

IndexController

// prefix : /WEB-INF/views/
// suffix : jsp
// 풀네임 : /WEB-INF/views/index.jsp

@Controller
public class IndexController {
    @GetMapping
    public String index() {
        return "index";
    }
}

main/webapp/WEB-INF/views/index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
	<title>Title</title>
</head>
<body>

  <form action="/WEB-INF/views/save.jsp" method="post">
	username: <input type="text" name="username" />
	age: <input type="text" name="age" />
	<button type="submit">전송</button>
  </form>
</body>
</html>
  • <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    => 첫줄은 JSP문서라는 뜻이다. JSP 문서는 이렇게 시작해야 한다

  • application.yml prefix 설정 안할시
    => 실행시 .jsp 까지 함께 적어주어야 한다.
    http://localhost:8080/WEB-INF/views/index.jsp

profile
배운 것을 기록합니다.

0개의 댓글