본문 바로가기
728x90

Programming23

서블릿(Servlet) 이란? ● 서블릿(Servlet) - 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술 서블릿이란 자바를 사용하여 웹을 만들기 위해 필요한 기술이다. 클라이언트가 요청을 하면 결과를 다시 전송해 주어야 하는데, 이러한 역할을 하는 자바 프로그램이다. (ex. 로그인 할려고 할 때 아이디, 비밀번호를 입력하면 서버에서 아이디, 비밀번호를 확인 후 다음 페이지를 띄워 주어야 하는 기술이다. 그래서 자바로 구현된 CGI라고 한다.) ● 특징 - 클라이언트의 요청에 대해 동적으로 작동되는 웹 어플리케이션 컴포넌트 - html을 사용하여 요청에 응답한다. - Java Thread를 이용하여 동작한다. - MVC 패턴에서 Controller로 이용된다. -.. 2022. 10. 30.
IoC, 스프링 컨테이너(Container), 스프링 빈(Bean)이란? ● IoC(Inversion of Control)란? - IoC는 제어의 역전이라는 뜻으로 프로그램의 제어의 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것을 말한다. 이전에는 개발자가 객체를 생성하고 관리하며 프로그램의 제어 흐름을 스스로 조종했다. 하지만 Spring을 이용하면 스프링 컨테이너가 프로그램의 제어흐름을 제어하게 된다. ● 스프링 컨테이너(Spring Container)란? - 스프링 컨테이너는 스피링의 빈(Bean)을 생성하고 관리한다. 스프링 컨테이너는 IoC Container 혹은 DI Container라고 불리는데, 이는 스프링 컨테이너가 IoC 혹은 DI를 도맡아 진행하기 때문이다. 즉, 스프링 컨테이너는 스프링 Bean들을 생성하고, 이들의 의존 관계를 연결해 주는 역할.. 2022. 10. 29.
의존관계 주입(Dependency Injection), 의존성 주입이란? ● 의존관계(Dependency)란? - 의존관계는 의존 대상 B가 변하면, 그것이 A에 영향을 미칠 때 A는 B와 의존관계라고 한다. 예를 들어 피자 가게의 요리사는 피자 레시피에 의존한다. 만약 피자 레시피가 변경된다면, 요리사는 피자를 새로운 방법으로 만들게 될 것이다. 레시피의 변화가 요리사에게 미쳤기 때문에 요리사는 레시피에 의존한다라고 할 수 있다. public class PizzaChef { private PizzaRecipe pizzaRecipe; public PizzaChef() { this.pizzaRecipe = new PizzaRecipe(); } } PizzaChef 객체는 PizzaRecipe 객체에 의존 관계가 있다. 이러한 구조는 다음과 같은 문제점을 가지고 있다. - 두 클.. 2022. 10. 29.
메이븐(Maven)과 그래들(Gradle) ● 메이븐(Maven)이란? - 아파치 메이븐은 자바용 프로젝트 관리도구이다. - 아파치 Ant의 대안으로 만들어졌다. - 아파치 라이센스로 배포되는 오픈 소스 소프트웨어이다. 프로젝트를 진행하면서 사용하는 수 많은 라이브러리를 관리해주는 도구이다. 여기서 메이븐의 특징은 라이이브러리들과 연관댄 라이브러리들까지 거미줄처럼 모두 연동되어 관리가 된다. 즉, 메이븐은 네트워크를 통해 연관된 라이브러리까지 같이 업데이트를 해주기 때문에 사용이 편리하다. POM - Project Object Model Maven의 기능을 이요하기 위헤 POM이 사용된다. pom.xml에서 주요하게 다루는 기능들은 다음과 같다. - 프로젝트 정보 : 프로젝트의 이름, 라이센스 등 - 빌드 설정 : 소스, 리소스, 라이프사이클별 .. 2022. 10. 29.
728x90