Springboot

Springboot 기본 설정(pom.xml - jsp, servlet, jstl / controller)

colin2 2024. 2. 13. 14:18

웹프라우저에 hello를 띄우는 것까지는 되었으니, 본격적으로 Mapping 작업을 시작해보자.

 

우선 기존의 pom.xml 파일에 jsp와 jstl를 사용하기 위해 dependency를 추가해준다.

 

자세한 설명은 Chat-GPT의 설명을 참고하자.

  1. tomcat-embed-jasper:
    • 역할: Embeddable한 Apache Tomcat JSP 엔진을 제공합니다.
    • 설명: 이 의존성은 Apache Tomcat 서버의 JSP(JavaServer Pages) 엔진을 내장하고 있습니다. JSP는 Java 코드를 HTML 페이지에 포함시키기 위한 기술로, 동적인 웹 페이지를 생성하는 데 사용됩니다. 내장 JSP 엔진은 웹 애플리케이션을 개발하고 실행하는 데 사용됩니다.
  2. jakarta.servlet-api:
    • 역할: Jakarta Servlet API를 제공합니다.
    • 설명: Jakarta Servlet API는 Java 웹 애플리케이션에서 서블릿을 작성하고 관리하기 위한 API를 정의합니다. 서블릿은 동적인 웹 페이지를 생성하고 HTTP 요청을 처리하는 Java 클래스입니다. 이 의존성은 서블릿 API를 사용하여 웹 애플리케이션을 개발할 때 필요한 라이브러리를 제공합니다.
  3. jakarta.servlet.jsp.jstl-api:
    • 역할: Jakarta Server Pages Standard Tag Library (JSTL) API를 제공합니다.
    • 설명: JSTL은 JSP 페이지에서 사용할 수 있는 태그 라이브러리로, 반복문, 조건문 등과 같은 공통적인 작업을 쉽게 수행할 수 있도록 지원합니다. 이 의존성은 JSTL을 사용하여 JSP 페이지에서 더 간결하고 유지보수가 용이한 코드를 작성하는 데 필요한 API를 제공합니다.
  4. jakarta.servlet.jsp.jstl:
    • 역할: Jakarta Server Pages Standard Tag Library (JSTL) 구현체를 제공합니다.
    • 설명: JSTL API의 구현체로, 실제로 JSTL을 사용하여 웹 애플리케이션을 개발할 때 필요한 라이브러리를 제공합니다. JSTL은 JSP 페이지에서 사용되는 태그들을 실제로 해석하고 실행하는 역할을 합니다.

 

이전에 application.properties 파일에 설정해두었던 jsp 파일의 경로대로 webapp -> WEB-INF -> view 폴더를 만들고 그 안에 index.jsp 파일을 생성해준다.

 

다음으로 index.html 파일에서 jsp 파일로 1초 뒤에 자동으로 넘어갈 수 있도록 할것인데, 내가 설정한 로컬주소의 index.do로 이동하도록 코드를 작성해주었다.

 

그럼 이제 java -> com -> springboot -> springboot에 controller 패키지를 추가하고 그 안에 index.do의 Mapping 작업을 진행한다.

 

index.do로 GetMapping(get과 post 중 get이 기본이기 때문)을 하고, 이때 index로 리턴을 할 것이다.

 

경로를 .jsp로 잡아두었기 때문에 return에서 index만 적어주면 index.jsp 파일로 이동하게 된다.

 

index.jsp 파일

 

페이지를 편하게 관리하기 위해 view 폴더 안에 include 폴더를 생성하고, top.jsp, bottom.jsp 파일을 생성해주고 index.jsp에서 jstl로 import 해주었다.

 

top.jsp (로그인 처리가 되어 있지 않기 때문에 c:if의 session은 현재 아무것도 보이지 않는다)

 

bottom.jsp

 

css 작업을 어느정도 진행하여, 현재 이런 상태의 페이지를 볼 수 있다.

 

index.html에 1초 후 index.jsp로 이동할 수 있도록 작성해두었기 때문에, 아래와 같이 자동으로 이동하는 것을 볼 수 있다.

이렇게 컨트롤러까지 완.