<목차>
#1 톰캣 설치
#2 WAR 빌드와 배포
#3 톰캣을 통한 웹 애플리케이션 배포 방법 나열
#4 톰 캣 설정(인텔리제이 유료버전)
#1 톰캣 설치
내가 보는 강의는 스프링부트의 편의성을 2배 아니 20배!!!로 느끼게 해주는 강의이다.
내가 왜 그렇게 느꼈는지에 대해 차근차근 설명해보겠다.
먼저 과거(스프링부트 탄생 이전)에는 윕 애플리케이션 실행에 여러 단계가 존재했다.
거기서 가장 기본이 바로 톰캣을 설치하고 실행하는 것이다.
[1주차 복습 및 정리]
톰캣 = 엡 에플리케이션과 자바 코드를 연결 시키고 정적 메서드인 HTML을 연결 시켜주는 서블릿 컨테이너
이 컨테이너를 통해 클라이언트가 보낸 HTTP 요청을 처리하고, 동적인 웹 페이지를 생성 시켜준다.
톰캣은 자바 서블릿 실행을 지원하는 대표적인 오픈소스 웹 에플리케이션 서버(WAS)이다.
[다시 돌아와서]
톰캣 설치(이거부터 어려웠다..)

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

아직 톰캣에 전달된 소스 코드나 파일이 없어 아무것도 없는 상태이다.
<주의 사항> 톰캣도 사용하려면 자바 17버전이 필요하다.
#2 WAR 빌드와 배포
톰캣 설치 후 우리는 test.servlet이라는 예시 서블릿을 실행하려고 한다.
이 예시 서블릿을 실행하려면 톰캣에 배포해야하는데
그러기 위해선 war 파일로 서블릿을 만들어야 한다.
[단계를 써보면]
1. 인텔리제이에서 서블릿을 생성한다

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으로 이동

3. HTML로 이동, 웹 에플리케이션 실행
<주의사항> 8080 포트가 이미 실행중이라면 오류가 뜸
즉 8080포트를 초기화 한 후 실행해야함
#4 톰 캣 설정(인텔리제이 유료버전)
위 단계가 끝이 아니다.
톰캣도 설정을 해야하는데
Run.. --> Edit Configuration -->Add New Configuration -->Tomcat server 선택 --> Local 선택 --> Application server에서 Tomcat 실행 ======= "설정 완료"
<오늘의 느낀(배운)점>
복잡하고 어려운 톰캣 사용과 웹 에플리케이션 실행을 위해 파일을 옮기고 저장하고 수정하는 과정이 너무 복잡하다
"얼른 스프링부트를 사용해보고 싶다"
'WINK-(Web & App) > Spring Boot 스터디' 카테고리의 다른 글
[2025 1학기 스프링부트 스터디] 석준환 #2주차 (0) | 2025.04.01 |
---|---|
[2025 1학기 스프링부트 스터디] 장민주 #2주차 (0) | 2025.04.01 |
[2025 1학기 스프링부트 스터디] 류현준 #1주차 (0) | 2025.03.31 |
[2025 1학기 스프링부트 스터디] 최비성 #1주차 (0) | 2025.03.30 |
[2025 1학기 스프링부트 스터디] 남윤찬 #2주차 (0) | 2025.03.30 |