ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 내장 서블릿 컨테이너 응용 해보기
    Spring/Spring Boot 2020. 5. 14. 00:20

    스프링 부트가 기본 설정으로 제공해주는 톰캣 대신 제티, 언더토 등의 다른 서블릿 컨테이너를 사용해보자.

     

     

     

    기본적으로 우리는 서블릿 기반의 웹 어플리케이션 App을 개발할 때 톰캣을 쓰게 된다. 앞에서

     

    살펴보았던 자동 설정에 의해  톰캣용 자동 설정 파일이 만들어지고 쓰게 된다.

     

     

    build 툴로는 maven을 사용하였는데 다음과 같이 exclusions을 통해 톰캣을 빼주자.

     

    그 후 다음과 같이 jetty 의존성을 추가해주자.

     

     

     

    이제 의존성이 들어온 것을 확인을 하고 실행을 해보면 Jetty로 띄워지는 것을 확인할 수 있다.

     


     

    그러면 웹 서버를 사용하지 않을 수도 있을까?

     

    기본적으로 의존성에 웹과 관련된 기술이 들어와 있다면 스프링 부트는 웹 App으로 만들려고 시도를 한다.

     

     

    웹과 관련된 의존성을 제거하거나 혹은 application.propertieㄴ에서 웹 App 타입을 none으로 준다면 웹과 관련된 의존

     

    성이 있더라도 무시하고 none-Web App으로 실행하고 끝나게 된다.

     

     

     


     

    스프링 부트에서 서버의 포트를 손쉽게 바꿔보자

     

    다음과 같이 application.properties에서 포트 번호를 지정해주거나 

     

     

    server.port = 0 으로 랜덤 포트 설정도 가능하다. 랜덤 포트는 비어있는 포트를 찾아서 띄워주게 된다.

     


     

    그러면 런타임시 랜덤 하게 뜨는 포트를 알 수 있는 방법은??

     

     

    이 Event는 웹 서버가 생성이 되면 이 이벤트 리스너가 호출이 된다. 

     

    1. 먼저 이벤트에서 applicationContext를 꺼내고

     

    2. 해당 서블릿 applicationContext를 통해 웹 서버를 알 수 있고 포트를 알 수 있다.

     

     

Designed by Tistory.