Java/Spring
-
싱글톤 패턴 어플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하고 할당한 메모리만 이용하여 인스턴스를 만들어 사용하는 디자인 패턴이다. 인스턴스가 1개만 생성되는 특징을 가진 싱글톤 패턴을 이용하면 하나의 인스턴스를 메모리에 등록하고 여러 쓰레드가 동시에 해당 인스턴스를 공유하여 사용할 수 있기 때문에 많은 곳에서 사용하면 효율을 높일 수 있다. 싱글톤 패턴 장점 - 한번의 new 인스턴스로 할당한 고정된 메모리 영역만 사용하기 때문에 메모리 낭비를 방지할 수 있다. - 싱글톤으로 만들어진 클래스의 인스턴스는 전역이기 때문에 다른 클래스들간 인스턴스 데이터를 공유하기 쉽다. - 이미 생성된 인스턴스를 활요하다보니 속도 측면에서도 이점이다. 싱글톤 패턴 단점 싱글톤 인스턴스를 생성하고 생성..
싱글톤 패턴(Singleton)싱글톤 패턴 어플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하고 할당한 메모리만 이용하여 인스턴스를 만들어 사용하는 디자인 패턴이다. 인스턴스가 1개만 생성되는 특징을 가진 싱글톤 패턴을 이용하면 하나의 인스턴스를 메모리에 등록하고 여러 쓰레드가 동시에 해당 인스턴스를 공유하여 사용할 수 있기 때문에 많은 곳에서 사용하면 효율을 높일 수 있다. 싱글톤 패턴 장점 - 한번의 new 인스턴스로 할당한 고정된 메모리 영역만 사용하기 때문에 메모리 낭비를 방지할 수 있다. - 싱글톤으로 만들어진 클래스의 인스턴스는 전역이기 때문에 다른 클래스들간 인스턴스 데이터를 공유하기 쉽다. - 이미 생성된 인스턴스를 활요하다보니 속도 측면에서도 이점이다. 싱글톤 패턴 단점 싱글톤 인스턴스를 생성하고 생성..
2022.04.27 -
Tiles Spring Apache Tiles는 레이아웃 템플릿 엔진이다. 중복되는 태그를 사용하지 않아도 지정된 레이아웃에 따라 페이지 타일을 조합하여 완전한 페이지로 만들어준다. 간단하게 얘기하면 Tiles는 웹 페이지 상단이나 하단 메뉴와 같이 반복적으로 사용되는 부분들에 대한 코드를 분리해서 한곳에서 관리할 수 있도록 가능하게 해주는 프레임워크이다. 1. pom.xml dependency 추가 아래의 dependency 를 pom.xml 에 추가한다. org.apache.tiles tiles-jsp 3.0.3 프로젝트 마우스 오른쪽 클릭 > Maven > Update Project... * tiles Dependency 추가 시 본인은 아래와 같이 slf4j 가 존재하지 않는다고 에러가 떴다. 위..
Dynamic Web Project - Tiles Template 추가Tiles Spring Apache Tiles는 레이아웃 템플릿 엔진이다. 중복되는 태그를 사용하지 않아도 지정된 레이아웃에 따라 페이지 타일을 조합하여 완전한 페이지로 만들어준다. 간단하게 얘기하면 Tiles는 웹 페이지 상단이나 하단 메뉴와 같이 반복적으로 사용되는 부분들에 대한 코드를 분리해서 한곳에서 관리할 수 있도록 가능하게 해주는 프레임워크이다. 1. pom.xml dependency 추가 아래의 dependency 를 pom.xml 에 추가한다. org.apache.tiles tiles-jsp 3.0.3 프로젝트 마우스 오른쪽 클릭 > Maven > Update Project... * tiles Dependency 추가 시 본인은 아래와 같이 slf4j 가 존재하지 않는다고 에러가 떴다. 위..
2022.04.27 -
View Resolver(뷰 리졸버) 컨트롤러는 최종적으로 결과를 출력할 뷰 이름과 뷰에 전달할 객체정보(데이터)를 리턴한 후 종료하고 이를 DispatcherServlet 의 View Resolver가 받아 결과를 출력해줄 View 객체를 구하고, 구한 View 객체를 이용하여 데이터를 클라이언트에게 보여준다. 이렇게 View Resolver는 데이터를 요청한 클라이언트에게 보여줄 View를 결정하고 리턴한 데이터를 화면에 보여준다. View Resolver 종류 1. UrlBasedViewResolver ViewResolver의 구현체로 특별한 매핑 정보 없이 의미상 View 이름을 URL로 사용 View 이름과 실제 리턴된 View 자원과의 이름이 같을때 사용한다. 사용자에게 보여줄 view의 경로..
View Resolver(뷰 리졸버)View Resolver(뷰 리졸버) 컨트롤러는 최종적으로 결과를 출력할 뷰 이름과 뷰에 전달할 객체정보(데이터)를 리턴한 후 종료하고 이를 DispatcherServlet 의 View Resolver가 받아 결과를 출력해줄 View 객체를 구하고, 구한 View 객체를 이용하여 데이터를 클라이언트에게 보여준다. 이렇게 View Resolver는 데이터를 요청한 클라이언트에게 보여줄 View를 결정하고 리턴한 데이터를 화면에 보여준다. View Resolver 종류 1. UrlBasedViewResolver ViewResolver의 구현체로 특별한 매핑 정보 없이 의미상 View 이름을 URL로 사용 View 이름과 실제 리턴된 View 자원과의 이름이 같을때 사용한다. 사용자에게 보여줄 view의 경로..
2022.04.27 -
Spring Filter란 HTTP 요청과 응답을 변경할 수 잇는 재사용 가능한 코드이다. 요청과 응답에 대해서 최초/최종 단계의 위치에 존재하며 이를 통하여 요청, 응답의 데이터를 변경하거나, Spring에 의해서 데이터가 변환되기 전 순수한 요청 데이터를 확인할 수 있다. 아래의 이미지를 보면 클라이언트의 모든 요청을 처리하는 DispatcherServlet으로 가기 전 Filter가 적용된다. * 이미지 참조 : http://wiki.simuruk.com/index.php/spring_%EA%B5%AC%EC%A1%B0_%EC%84%A4%EB%AA%85 CharacterEncodingFilter 스프링 웹 요청과 응답에 대한 인코딩 처리 필터 CharacterEncodingFilter 클래스는 Ser..
Spring FilterSpring Filter란 HTTP 요청과 응답을 변경할 수 잇는 재사용 가능한 코드이다. 요청과 응답에 대해서 최초/최종 단계의 위치에 존재하며 이를 통하여 요청, 응답의 데이터를 변경하거나, Spring에 의해서 데이터가 변환되기 전 순수한 요청 데이터를 확인할 수 있다. 아래의 이미지를 보면 클라이언트의 모든 요청을 처리하는 DispatcherServlet으로 가기 전 Filter가 적용된다. * 이미지 참조 : http://wiki.simuruk.com/index.php/spring_%EA%B5%AC%EC%A1%B0_%EC%84%A4%EB%AA%85 CharacterEncodingFilter 스프링 웹 요청과 응답에 대한 인코딩 처리 필터 CharacterEncodingFilter 클래스는 Ser..
2022.04.27 -
Dynamic Web Project 란? 이클립스에서 서블릿/JSP 기반 동적인 웹 어플리케이션을 만들기 위한 프로젝트이다. 1. 프로젝트 생성 1-1. 이클립스에서 Project Explorer 아무곳이나 마우스 오른쪽 버튼 클릭! > New 클릭! > Other 클릭! 1-2. Web > Dynamic Web Project 선택 > Next 클릭! 1-3. Project name 입력 > 웹 프로젝트를 구동할 Tomcat 설정을 위해 New Runtime 클릭! 1-4. Apache 선택 > Apache Tomcat v9.0 선택 > Next 클릭! 1-5. Apache Tomcat이 없을 경우 Download and Install 클릭 1-6. Finish 1-7. Apache Tomcat 설치확인..
Dynamic Web Project 만들기 1 - 프로젝트 생성Dynamic Web Project 란? 이클립스에서 서블릿/JSP 기반 동적인 웹 어플리케이션을 만들기 위한 프로젝트이다. 1. 프로젝트 생성 1-1. 이클립스에서 Project Explorer 아무곳이나 마우스 오른쪽 버튼 클릭! > New 클릭! > Other 클릭! 1-2. Web > Dynamic Web Project 선택 > Next 클릭! 1-3. Project name 입력 > 웹 프로젝트를 구동할 Tomcat 설정을 위해 New Runtime 클릭! 1-4. Apache 선택 > Apache Tomcat v9.0 선택 > Next 클릭! 1-5. Apache Tomcat이 없을 경우 Download and Install 클릭 1-6. Finish 1-7. Apache Tomcat 설치확인..
2022.04.26 -
메이븐(Maven) 자바 프로젝트의 빌드(Build)를 자동화 해주는 빌트 툴이며, 자바 프로젝트 라이브러리 관리 도구 여기서 빌드란 쉽게 말해 우리가 작성한 소스코드(Java), 프로젝트에서 사용한 각각의 파일 및 자원(.xml, .jar, .properties)을 JVM이나 WAS가 인식할수 있도록 패키징 하는 과정 및 결과물이다. 이러한 빌드를 하기 위해서 Maven을 사용하여 프로젝트 라이브러리 및 관리도구로 사용된다. Maven은 필요한 라이브러리를 특정문서(pom.xml)에 정의해 놓으면 사용할 라이브러리 뿐만 아니라 해당 라이브러리가 동작할때 필요한 다른 라이브러리까지 관리하여 자동으로 다운로드 해준다. POM(Project Object Model) - pom.xml이란 Maven을 ..
메이븐(Maven)과 그래들(Gradle)메이븐(Maven) 자바 프로젝트의 빌드(Build)를 자동화 해주는 빌트 툴이며, 자바 프로젝트 라이브러리 관리 도구 여기서 빌드란 쉽게 말해 우리가 작성한 소스코드(Java), 프로젝트에서 사용한 각각의 파일 및 자원(.xml, .jar, .properties)을 JVM이나 WAS가 인식할수 있도록 패키징 하는 과정 및 결과물이다. 이러한 빌드를 하기 위해서 Maven을 사용하여 프로젝트 라이브러리 및 관리도구로 사용된다. Maven은 필요한 라이브러리를 특정문서(pom.xml)에 정의해 놓으면 사용할 라이브러리 뿐만 아니라 해당 라이브러리가 동작할때 필요한 다른 라이브러리까지 관리하여 자동으로 다운로드 해준다. POM(Project Object Model) - pom.xml이란 Maven을 ..
2022.04.25