개발

개발/디자인패턴

[디자인패턴] 싱글톤 패턴과 문제점

싱글톤 패턴 전역 변수를 사용하지 않고 객체를 하나만 생성하도록 하는 디자인 패턴 한 번 객체를 생성하게 되면, 어디에서든지 참조할 수 있는 패턴 생성자가 여러 번 호출되더라도, 실제로는 하나만 생성되는 패턴 최초로 생성된 이후에 호출된 생성자는 이미 생성한 객체를 반환 싱글톤 사용 이유 객체를 생성할 때마다 메모리 영역을 할당받게 되는데, 한 번 객체를 생성에 이것을 어디든지 사용할 수 있다면 메모리 낭비를 방지할 수 있다. 또한 싱글톤으로 구현한 인스턴스는 '전역'이므로, 다른 클래스의 인스턴스들이 데이터를 어디서든지 공유할 수 있는 장점을 갖고 있다. 많이 사용하는 경우 주로 공통된 객체를 여러 개 생성해서 사용해야 하는 상황에 종종 사용한다. 또한 인스턴스가 절대적으로 한 개만 존재하는 것을 보장..

개발/Spring

[Spring] 스프링 MVC 프레임워크

Spring MVC란? Spring MVC는 Spring에서 제공하는 웹 모듈로, Model-View-Controller 세 가지 구성요소를 사용해 사용자의 다양한 HTTP Request를 처리하고, 단순한 텍스트 형식의 응답부터 REST 형식의 응답, View를 표시하는 html을 리턴하는 응답까지 다양한 응답을 할 수 있게 해주는 프레임워크이다. Spring MVC는 다양한 요청을 처리하고 응답하기 위해서 주요 구성요소들을 만들어놓고, 확장할 수 있게 만들어 놓았는데, 이들이 어떻게 구성하고 어떤 역할을 하는지 살펴볼 예정이다. 직접 만든 MVC 프레임워크와 스프링 MVC 프레임워크 비교 이전 포스팅에서는 스프링을 사용하지 않고, 하나씩 차례대로 직접 만든 MVC 프레임워크 구조를 만들었다. [Spr..

개발/Spring

[Spring] 프론트 컨트롤러(Front Controller) - 2

Model 추가 - v3 두 번의 단계를 거쳐 공통으로 로직을 처리할 수 있는 프론트 컨트롤러와 view를 분리시키는 작업을 진행하였다. 두 단계에 관한 정보는 이전 포스팅을 참고하면 좋다. [Spring] 프론트 컨트롤러(Front Controller) - 1 프론트 컨트롤러의 개념 이전 서블릿과 JSP의 포스팅에서는 클라이언트가 호출할 경우, 이를 각각 호출을 받아들여서 따로따로 처리해준다는 비효율적인 측면을 볼 수 있었다. [Java] Servlet & JSP hadaming.tistory.com 컨트롤러 입장에서 서블릿의 기술이 과연 필요할까? 요청 파라미터 정보는 Java의 map으로 대신 넘기게 되면 컨트롤러는 서블릿 기술을 몰라도 동작할 수 있다고 한다. request 객체에서 Model을 ..

개발/Spring

[Spring] 프론트 컨트롤러(Front Controller) - 1

프론트 컨트롤러의 개념 이전 서블릿과 JSP의 포스팅에서는 클라이언트가 호출할 경우, 이를 각각 호출을 받아들여서 따로따로 처리해준다는 비효율적인 측면을 볼 수 있었다. [Java] Servlet & JSP 차이 Servlet 이란 ? Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술이다. 웹을 만들 때는 다양한 요청(Request)과 응답(Response)이 있기 마련이고, 이 요청과 응답에는 규칙 hadaming.tistory.com 이렇게 공통된 로직을 여러 번 작성하는 것보다 공통된 로직을 하나의 서블릿으로 두어 초반에 모든 클라이언트의 요청을 처리하면 어떨까? 하는 생각에서 도입하게 된 것이 바로 프론트 컨트롤러이다. 따라서 공통된 로직을 매번 작성하..

개발/Spring

[Java] Servlet & JSP 차이

Servlet 이란 ? Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술이다. 웹을 만들 때는 다양한 요청(Request)과 응답(Response)이 있기 마련이고, 이 요청과 응답에는 규칙이 존재한다. 이러한 요청과 응답을 일일이 처리하는 것은 굉장히 힘들기 때문에 서블릿은 이러한 웹 요청과 응답의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해주는 기술이라 생각하면 된다. Servlet 특징 클라이언트의 요청에 대해 동적으로 작동하는 웹 애플리케이션 컴포넌트 Java 스레드를 이용해 동작 HTML을 사용해 응답 MVC 패턴에서의 컨트롤러 HTTP 프로토콜 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스 상속 받음..

하다밍
'개발' 카테고리의 글 목록