본문 바로가기

webcomponent6

섹션 3-6 [독립 실행형 서블릿 애플리케이션] 프론트 컨트롤러 전환 프론트 컨트롤러 전환package com.tobyspring.tobyspringboot; import java.io.IOException; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; import org.spri.. 2024. 5. 30.
섹션 3-5 [독립 실행형 서블릿 애플리케이션] 프론트 컨트롤러 프론트 컨트롤러서블릿은 요청마다 하나하나 매핑하여 구현이 필요하여 보일러 플레이트가 발생하는 문제점이 있다. 따라서 서블릿에 접근방법을 개선이 필요로 했고 또한 서블릿은 웹 요청과 응답을 직접적으로 request Object와 response Object를 다뤄줘야 하는 방식이기 때문에 자연스럽지 않는 문제가 있었습니다. 따라서 기본적인 서블릿으로만 기능을 개발하는데 한계가 있었습니다.  이러한 한계를 극복하기 위해 프론트 컨트롤러가 등장하게되었습니다.프론트 컨트롤러는 서블릿은 각 URL에 맞게 맵핑을 해서 각기 다른 서블릿이 다른 서블릿 URL로 들어오는 요청을 맡아서 처리하는 방식으로 동작을 해야하는데 서블릿에 공통적으로 등장하는 코드를 중앙화된 제일 앞단에 존재하는 컨트롤러라고 이름 붙이는 오브젝트.. 2024. 5. 30.
섹션 3-4 [독립 실행형 서블릿 애플리케이션] 서블릿 요청 처리 서블릿 요청 처리이전에 구현한 HelloController처럼 name을 파라미터로 전달받아 요청을 처리할 수 있도록 서블릿 코드를 개선한다. package com.tobyspring.tobyspringboot; import java.io.IOException; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.boo.. 2024. 5. 30.
섹션 3-3 [독립 실행형 서블릿 애플리케이션] 서블릿 등록 서블릿 등록서블릿 컨테이너에서 관리되는 웹 컴포넌트를 서블릿이라고 한다. 서블릿 컨테이너는 1개 이상의 서블릿을 관리할 수 서블릿 컨테이너는 웹 클라이언트로 요청을 받으면 여러개의 서블릿 중에서 어떤 서블릿에게 요청을 처리하면 될지를 결정하는데 그 과정을 매핑이라고 합니다. 매칭된 서블릿은 웹 응답을 만들기 위해 필요로하는 작업을 수행하고 작업을 종료하면 컨테이너가 다시 웹 클라이언트에게 웹 응답형태로 돌려줍니다.  package com.tobyspring.tobyspringboot; import java.io.IOException; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.. 2024. 5. 30.
섹션 3-2 [독립 실행형 서블릿 애플리케이션] 서블릿 컨테이너 띄우기 서블릿 컨테이너 띄우기Sprinb Boot에서 Containerless환경을 구현하기 위해 Stand Alone 프로그램에서 서블릿 컨테이너를 직접 설치하지 않고 알아서 띄워주는 작업에 대해 알아보도록 하겠습니다.  톰켓 컨테이너 시작톰켓에 어떠한 서블릿도 존재하지 않는 서블릿 컨테이너만 실행하는 코드 구현package com.tobyspring.tobyspringboot; import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; import org.springframework.boot.web.server.WebServer; public class TobyspringbootApplication { .. 2024. 5. 30.
섹션 3-1 [독립 실행형 서블릿 애플리케이션] Containerless 개발 준비 Containerless 개발 준비앞서 HelloController를 만들기까지 톰캣을 설치하고 톰캣을 배포하기 위해서 빌드 스크립트를 만들거나 하지 않았다. 하지만 Spring Boot가 처음 만들어준 메인 메소드만 실행하기만 했는데 톰캣에 서블릿 컨테이너가 동작하고 스프링 컨테이너도 자동으로 동작하게 됩니다. package com.tobyspring.tobyspringboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TobyspringbootAppli.. 2024. 5. 30.