본문 바로가기

WINK-(Web & App)/Spring Boot 스터디

[2025 1학기 스프링부트 스터디] 여민호 #2주차

반응형

<목차>

#1 톰캣 설치

#2 WAR 빌드와 배포

#3 톰캣을 통한 웹 애플리케이션 배포 방법 나열

#4 톰 캣 설정(인텔리제이 유료버전)


 

#1 톰캣 설치

내가 보는 강의는 스프링부트의 편의성을 2배 아니 20배!!!로 느끼게 해주는 강의이다.

내가 왜 그렇게 느꼈는지에 대해 차근차근 설명해보겠다.

먼저 과거(스프링부트 탄생 이전)에는 윕 애플리케이션 실행에 여러 단계가 존재했다.

거기서 가장 기본이 바로 톰캣을 설치하고 실행하는 것이다.

 

[1주차 복습 및 정리]

톰캣 = 엡 에플리케이션과 자바 코드를 연결 시키고 정적 메서드인 HTML을 연결 시켜주는 서블릿 컨테이너

이 컨테이너를 통해  클라이언트가 보낸 HTTP 요청을 처리하고, 동적인 웹 페이지를 생성 시켜준다.

톰캣은 자바 서블릿 실행을 지원하는 대표적인 오픈소스 웹 에플리케이션 서버(WAS)이다.

 

[다시 돌아와서]

톰캣 설치(이거부터 어려웠다..)

 

톰캣 설치

 

톰캣을 설치 후 startup.bat 명령어

톰캣 실행

 

톰캣 실행 화면

아직 톰캣에 전달된 소스 코드나 파일이 없어 아무것도 없는 상태이다.

<주의 사항> 톰캣도 사용하려면 자바 17버전이 필요하다. 


#2 WAR 빌드와 배포

톰캣 설치 후 우리는 test.servlet이라는 예시 서블릿을 실행하려고 한다.

이 예시 서블릿을 실행하려면 톰캣에 배포해야하는데

그러기 위해선 war 파일로 서블릿을 만들어야 한다.

[단계를 써보면]

 

1. 인텔리제이에서 서블릿을 생성한다

TestServlet생성

 

2. TestServlet 코드 작성

package hello.servlet;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;

@WebServlet(urlPatterns = "/test")
public class TestServlet extends HttpServlet {

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("TestServlet.service");
        resp.getWriter().println("test");
    }
}

 

3. index.html도 생성

<head>
<body>index.html</body>
</head>

 

4. 명령 프롬포트에서 war 파일 압축 해제

압축 해제 전 이동 경로

 

이렇게 WAR 파일을 만들고 압축 해제까지 완료해야 그 후가 진행 가능(뭔가 쉬워보였지만 복잡하고 어려웠음)

##이 부분에서 스프링부트의 편의성을 더욱 느꼈습니다.##

 

<추가적인 내용>

WAR가 무엇인가?

WAR는 웹 애플리케이션 서버에 배포할때 사용하는 파일

JAR = JVM 위에서 실행

WAR = 웹 애플리케이션 서버 위에서 실행

WAR의 구조

  • WEB-INF(설정 정보가 들어감)
    • classes 
    • libs
    • web.xml
  • Index.html(정적 메소드)

#3 톰캣을 통한 웹 애플리케이션 배포 방법

WAR 파일을 압축 해제를 완료하면 이걸 배포하여 8080포트에 실행해야함

톰캣에 배포하는법도 복잡한데

1.명령 프롬포트에서 톰캣 재실행

윈도우 명령 startup.bat

 

2. 내파일에서 WAR파일 톰캣/bin/webapp으로 이동

 

WAR 파일 톰캣으로 이동,이름 ROOT로 변경

 

3. HTML로 이동, 웹 에플리케이션 실행 

<주의사항> 8080 포트가 이미 실행중이라면 오류가 뜸

즉 8080포트를 초기화 한 후 실행해야함


#4 톰 캣 설정(인텔리제이 유료버전)

위 단계가 끝이 아니다.

톰캣도 설정을 해야하는데 

Run.. --> Edit Configuration -->Add New Configuration -->Tomcat server 선택 --> Local 선택 --> Application server에서 Tomcat 실행 ======= "설정 완료"


<오늘의 느낀(배운)점>

복잡하고 어려운 톰캣 사용과 웹 에플리케이션 실행을 위해 파일을 옮기고 저장하고 수정하는 과정이 너무 복잡하다

"얼른 스프링부트를 사용해보고 싶다"

 

반응형