목록DispatcherServlet (5)
개발 무지렁이

𐂂 아파치(Apache) 톰캣(Tomcat)은 WAS 서버의 한 종류이다. 서블릿(Servlet), JSP 등을 실행하는데 사용되는 서블릿 컨테이너(Servlet Container)의 구현체이다. 클라이언트로부터 오는 HTTP 요청을 처리하고, 웹 컴포넌트로 전달하며, 웹 애플리케이션의 배포를 담당하고 있다. 🧸 컴포넌트(Component) 란 : 웹 애플리케이션을 작은 조각으로 분리하여, 구성하는 방법을 나타내는 개념으로써 재사용한 독립적인 기능을 가진 작은 모듈을 뜻한다. 📕 참고 자료 📕 톰캣(Tomacat)은 HTTP Request를 파싱하여, 이 내용을 HttpServletRequest 객체로 변환하여 제공한다. 🧸 파싱(parsing) 이란 구문을 분석하여, 의미와 구조를 이해하는 과정을 말한..

❓. nginx란 : WAS(Servlet Container)를 도와주는 '경량 웹서버'이다. server의 제일 앞단에 쓰며, DispatcherServlet 역할을 한다. nginx를 쓰게 되면 어떤 도메인으로 접근했는지 감지할 수 있고, 포워딩이 빠르다. docker run -d -p 8031:80 --name nginx_1 --rm nginx 🚀. 옵션 -d (detach): 백그라운드 모드로 실행 -p (port): 바깥쪽 8031 포트로 들어오면 안쪽 80 포트로 연결 (이 옵션을 써주지 않으면 외부에서 접근할 방법이 없다.) (도커 컨테이너는 독립적인 공간에서 실행되기 때문에 접근이 안되는게 정상이다.) --name: 이름 설정 --rm: docker kill 되었을 때 흔적이 남지 않는다...

💡. 서버 시작시, Spring webMVC 동작흐름 서버가 시작되면('WAS'가 올라가면서) 프로젝트가 실행(배포)되면 (0) 'web.xml문서'를 로딩..(listener, filter, servlet)이 순서대로 등록 및 생성된다. ⚠️. BeanFactory 인터페이스를 기능확장시킨 'context(ApplicationContext)' 로딩.. (0-1) 먼저, listener의 'root-context.xml문서' 로딩..(Business Logic에 해당하는 DI Container 생성, bean 등록 & DI주입) (0-2) filter (향후 이 인터페이스의 구현체가 servlet으로 향하는 URL요청주소를 가로채서 사전처리한다.)..

Spring MVC 컴포넌트간 흐름 요청(request)만 보내면 나머지는 Spring이 알아서 한다. (1) web.xml문서에 DispatcherServlet을 등록한다.(Servlet 생성 -> 🪹 Spring container를 생성) (2) 🌱 SPRING BEAN 설정문서의 기본위치와 이름을 적는다. (/WEB-INF/springConfig/[서블릿이름]-servlet.xml or servlet-context.xml) ⚠️. spring은 🌱 SPRING BEAN 설정문서를 로딩해서 필요로하는 객체들의 lifeCycle을 관리한다. ⚠️. 🪹 Spring container에 Handler Mapping 객체, Controller 객체, ViewResolver 객체를 올려준다. (bean으로 등..

𐂂 MVC(Model View Controller)구조를 사용해야하는 이유 🧩 유지보수 및 재사용성을 높이기 위함이다. 𐁍 진입점 컨트롤러 (DispatcherServlet) front Controller 역할 하나의 Servlet을 만들어 공유(중앙집중), DispatcherServlet ⚠️ 요청(request)당 Servlet이 만들어지면, 요청주소가 다 달라져서 관리가 힘들다. 𖠃 하나의 Servlet안에서 역할을 어떻게 분산시킬 것인가 init() 기능별(key)로 매핑될 (구현객체) Controller 정보가 문서화된 actionMapping.properties를 읽어들여 매핑시킨다. (인터페이스 Controller를 규격삼아) service() 쿼리스트링에 key정보를 담고 이를 getPar..