서블릿 애플리케이션 IntelliJ 사용, Maven 을 활용한 프로젝트생성 newProject > Maven > Create from archetype 체크 archetype 이란 ? 메이븐에서 미리 만들어놓은 프로젝트 틀이라고 생각 org.apache.maven.archetypes:maven-archetype-webapp 선택 next 후 프로젝트 생성 pom.xml servlet-api 를 의존성으로 추가 javax.servlet javax.servlet-api 4.0.1 provided scope 란 ? 이 의존성을 언제 classpath에 넣고 사용할것인지에 대한 scope provided 런타임시 외부로부터 제공을 받기 때문에 런타임시 제외한다. test test 시에만 사용이 가능하다. 코드..
서블릿 서블릿 (Servlet) 자바 엔터프라이즈 에디션 웹 애플리케이션 개발용 스팩과 API를 제공한다. 요청 단위당 쓰레드로 동작한다. 핵심 클래스는 HttpServlet 서블릿 등장 이전에 사용하던 기술인 CGI(Common Gateway Interface) 요청 단위당 프로세스를 생성. 장점 빠르다. 플랫폼에 독립적 보안 이식성 컨텐츠와 비즈니스 로직을 분리할 수 있다. 유지보수가 용이하다. 기능 확장이 용이하다. 단점 화면에 표현할 HTML코드를 프로그램적으로 작성해야한다. 서비스 전 반드시 컴파일 되어야한다. 이러한 단점을 보완하기위해 JSP가 개발됨. 서블릿 컨테이너 서블릿을 동작시키기위한 실행 환경 TCP/IP 연결을 생성하고, HTTP프로토콜을 해석하는 과정을 수행 종류 톰캣 제티 언더토..
Spring MVC 구성요소 DispatcherServlet이 init lifeCycle에 의해 initStrategies 메서드가 호출된다. initStrategies 메서드에는 다양한 인터페이스들의 초기화 메서드가 존재한다. initMultipartResvoler initLocaleResolver initThemeResolver initHandlerMappings initHandlerAdapters initHandlerExceptionResolvers initRequestToViewNameTranslator initViewResolvers initFlashMapManager 위 9가지 가 DispatacherServlet을 구성하는 핵심 인터페이스들이다. MulitpartResolver 요청 분석단계..
Spring - MVC Spring MVC 란 ? Spring MVC 란 현재 가장 많이 사용하는 개발 패턴중 하나인 MVC패턴에서 따온것이다. Spring Framework를 MVC 패턴 개발시 편리하게 개발 가능하도록 제공한다. 일반적으로 Model View Controller의 형태로 제공하며 최근에는 프론트와 백엔드의 서버분리 (스케일링이슈) 가 추세이다. 프론트와, 백엔드 왜 분리할까 ? 일반적으로 개발하는경우 모놀리틱 아키텍처를 따른다 백엔드와, 프론트가 하나의 서버에서 서비스 되는 것을 의미한다. 스프링 개발자라면 일반적으로 JSP 또는 타임리프 등 템플릿엔진을 사용한 모놀리틱 구성의 개발을 주로 해왔을것이다. 그렇다면 프론트서버와, 백엔드서버 대체 왜 분리하는것일까 ?? 스케일링이슈 프론트..