[Springfolio] 2편 - JSP 연결

Jlee7362·2025년 8월 8일

0. 목표

  • DB 설정 없이 부트 기동.

  • /usr/home/main 열기.

1. pom.xml 수정

  • JSP 구동용 의존성 추가.

  • (지금은 DB 미사용)

<dependencies>
  <!-- Spring Web -->
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>

  <!-- JSP: Tomcat Jasper -->
  <dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
  </dependency>

  <!-- JSTL -->
  <dependency>
    <groupId>jakarta.servlet.jsp.jstl</groupId>
    <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
  </dependency>
  <dependency>
    <groupId>org.glassfish.web</groupId>
    <artifactId>jakarta.servlet.jsp.jstl</artifactId>
  </dependency>

  <!-- Lombok (선택) -->
  <dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
  </dependency>
</dependencies>
  • 주의: 지금 단계에선 MyBatis, MySQL 넣지 말기.

2. application.yml 생성/수정

  • 데이터소스 자동설정 제외

  • JSP 뷰 리졸버 경로 지정

spring:
  autoconfigure:
    exclude: 
      - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

  mvc:
    view:
      prefix: /WEB-INF/jsp/
      suffix: .jsp

server:
  port: 8080

3. HomeController 추가

  • 패키지 기준은 네가 정한 그룹에 맞춤: com.jleeIT.example

  • 클래스 경로 예) src/main/java/com/jleeIT/example/controller/HomeController.java

package com.jleeIT.example.controller;

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

@Controller
public class HomeController {

    @RequestMapping("/usr/home/main")
    public String showMain() {
        return "main"; // /WEB-INF/jsp/main.jsp
    }
}

4. JSP 파일 생성

  • 경로: src/main/webapp/WEB-INF/jsp/main.jsp
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
  <title>Springfolio JSP</title>
</head>
<body>
  <h1>Spring Boot + JSP 정상 작동!</h1>
  <p>route: /usr/home/main</p>
</body>
</html>


폴더들은 항상 불만이 많다.

5. 실행

  • Run As → Spring Boot App 클릭.

  • 콘솔에 Tomcat started on port(s): 8080 확인.

  • 브라우저: http://localhost:8080/usr/home/main 접속.

  • 페이지에 “정상 작동!” 보이면 성공.

    404에러다. 경로에 문제가 있는 것 같다.

6. 에러 체크(있다면)

  • 404 → 경로 확인: 컨트롤러 /usr/home/main, JSP 파일명 main.jsp 일치?

  • 500 → JSP 경로 확인: prefix: /WEB-INF/jsp/ 슬래시 포함.

  • 여전히 DB 오류 → spring.autoconfigure.exclude 오타 체크.

    다행히 금방 고쳤는데 역시 경로 문제였다.

    패키지를 com.example.controller로 만들었는데 이걸 못찾았다. 기본적으로 com.example.demo안에 있는 자료를 찾는다고 한다.
    그래서 com.example.controllercom.example.demo.controller으로 demo안에 넣어줬다.

7. 다음 편(3)

  • MyBatis + MySQL 추가.

  • 엔티티/매퍼/리스트 페이지(c:forEach) 연결.

  • DB 연결 실패 시 대처법 포함.

0개의 댓글