Java 15

[자바] Heap 사용 방법 및 예제: java.util.PriorityQueue

Heap 이란? 데이터에서 최대값과 최소값을 빠르게 찾기 위해 고안된 완전 이진 트리(Complete Binary Tree) * 완전 이진 트리 : 노드를 삽입할 때 최하단 왼쪽 노드부터 차례대로 삽입하는 트리 인덱스 부모 노드 인덱스 번호 = 자식 노드 인덱스 번호 // 2 왼쪽 자식 노드 인덱스 번호 = 부모 노드 인덱스 번호 * 2 오른쪽 자식 노드 인덱스 번호 = 부모 노드 인덱스 번호 * 2 + 1 JAVA Heap: PriorityQueue PriorityQueue (Java Platform SE 8 ) An unbounded priority queue based on a priority heap. The elements of the priority queue are ordered accord..

Java/Java 8 API 2021.11.09

[자바] Queue 사용 방법 및 예제: java.util.Queue

Queue란? 줄서기와 같이 처음 선 사람이 처음 통과하는 것처럼, 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조로 FIFO(First-In-Fisrt-Out)의 형태이다. Enqueue(인큐) : 큐에 데이터를 넣는 기능 Dequeue(디큐) : 큐에서 데이터를 꺼내는 기능 JAVA Queue Queue (Java Platform SE 8 ) A collection designed for holding elements prior to processing. Besides basic Collection operations, queues provide additional insertion, extraction, and inspection operations. Each of these methods ..

Java/Java 8 API 2021.11.04

[스프링] Spring IoC 컨테이너, WebApplicationContext(DispatcherServlet, ContextLoaderListener), IoC 관련 @Annotation 설정

Spring IoC 컨테이너 자바 객체(빈)의 생명 주기(생성, 초기화, 서비스, 소멸) 관리 IoC의 대표적 예는 ServletContext Servlet의 생명 주기를 관리 WebApplicationContext Spring Web MVC에서 사용하는 IoC 컨테이너 ContextLoaderListener와 DispatcherServlet에서 생성할 수 있음 IoC 관련 @Annotation 설정 base-package="" : Annotation을 찾기 시작할 패키지(하위 패키지 모두 검색) use-default-filters="true" : 아래의 Annotation을 찾아 관리 빈으로 자동 생성 @Controller, @Service, @Repository, @Component 태그 관리 빈 생..

Java/Spring 2021.09.19

[스프링] 디스패처 서블릿 DispatcherServlet

디스패처 서블릿(DispatcherServlet) 서블릿 컨테이너 가장 앞단에서 HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해주는 *프론트 컨트롤러 DisparcherServlet은 공통적인 작업을 먼저 처리한 후에 해당 요청을 처리해야 하는 세부 컨트롤러를 getBean()으로 가져와 정해진 메소드를 실행시켜 작업 위임 *프론트 컨트롤러(Front Controller) : 주로 서블릿 컨테이너의 제일 앞에서 서버로 들어오는 클라이언트의 모든 요청을 받아서 처리해주는 컨트롤러, MVC 구조에서 함께 사용되는 디자인 패턴 DispatcherServlet 동작 방식 장점 web.xml의 역할 축소 기존의 모든 서블릿의 URL 매핑을 web.xml에 등록했지만, dispat..

Java/Spring 2021.09.19

[스프링] 서블릿 컨텍스트 ServletContext

웹에서 사용하는 HTTP 프로토콜의 통신 방식은 클라이언트와 서버 간의 연결을 클라이언트로부터 요청이 있을 때마다 매번 새롭게 연결하는 방식이다. 요청이 있을 때마다 연결작업이 새롭게 이루어지고, 서버가 클라이언트에게 응답을 보내는 즉시 끊어진다. 이처럼 클라이언트와 서버 간에 연결상태가 유지되지 않는 통신 방식을 '무상태'라고한다. 그렇기 떄문에 HTTP 프로토콜 통신 방식은 클라이언트의 정보가 유지되지 않는다. 따라서 클라이언트의 정보를 유지하기 위해서 ServletContext을 이용한다. 이 방법은 웹 애플리케이션 단위로 정보를 유지한다. 또한, ServletContext는 상태유지 기능 이외에도 서블릿과 서블릿 컨테이너 간의 통신 기능도 제공한다. 서블릿 컨텍스트(ServletContext) 서..

Java/Spring 2021.09.19

[스프링] 서블릿, 서블릿 컨테이너, JSP

서블릿(Servlet) 웹 서버가 동적인 페이지를 제공할 수 있도록 도와주는 애플리케이션 일명 동적인 페이지를 생성하는 애플리케이션, CGI 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술 Java 소스코드 속에 HTML 소스코드가 들어가는 형태 자바를 사용하여 웹을 만들기 위해 필요한 기술 *CGI(Common Gateway Interface) : 특별한 라이브러리나 도구를 의미하는 것은 아니고, 별도로 제작된 웹 서버와 프로그램 간의 교환 방식, 어떠한 프로그래밍 언어로도 구현 가능하며, 별도로 만들어 놓은 프로그램에 HTML의 GET/POST 방식으로 클라이언트의 데이터를 환경변수로 전달, 프로그램의 표준 출력 결과를 클라이언트에게..

Java/Spring 2021.09.19

[스프링] 스프링 프레임워크 vs 스프링 부트

스프링 프레임워크(Spring Framework) 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크 간단히 스프링(Spring) 이라고도 함 동적인 웹 사이트 개발을 위한 여러가지 서비스 제공 대한민국 공공기관의 웹 서비스 개발 시 권장 사용하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰임 장점 경량 컨테이너 스프링은 객체를 담고 있는 컨테이너로써, 자바 객체의 생성과 소멸과 같은 생명 주기 관리 및 언제든 필요한 객체를 가져다 사용할 수 있도록 지원 IoC(Invertion of Control, 역제어) 스프링 프레임워크의 핵심적인 기능 스프링 컨테이너(Spring Container) or IoC 컨테이너 자바의 객체 생성 및 의존 관계에 있어 모든 제어권은 개발자에게 있었지만, 서블릿(Ser..

Java/Spring 2021.09.18

[스프링] 메이븐 저장소

메이븐 저장소(Maven Repository) 중앙 저장소(Central Repository) 오픈 소스 라이브러리 관리 URL : http://repo.maven.apache.org/maven2 요소로 기술 사내 원격 저장소 회사내에서만 개발자들이 공유하기 위해 사용 로컬 저장소 메이븐 빌드 시, 또는 pom.xml 파일에서 의존 라이브버리 설정 시 사용 다운되는 의존 라이브러리가 저장되는 위치 기본 경로 : /.m2/repository

Java/Spring 2021.09.18

[스프링] Maven 설정 파일(pom.xml), Eclipse Maven Pom Editor

POM(Project Object Model) pom.xml 파일에 보관된 Maven 프로젝트의 xml 표현 Maven Pom Reference Maven – POM Reference POM Reference Introduction What is the POM? Quick Overview The Basics Maven Coordinates POM Relationships Dependencies Dependency Version Requirement Specification Version Order Specification Version Order Testing Exclusions Inheritance The Super POM Depen maven.apache.org POM 파일(pom.xml) 구성 요소..

Java/Spring 2021.09.18

[스프링] 서블릿 경로(Context Path/Root) + 경로 변경 방법

Context Path WAS에서 웹 애플리케이션을 구분하기 위한 경로 프로젝트를 생성하면 자동으로 server.xml에 추가되어 서버 구동 시 자동으로 잡히는 경로 프로젝트 명 URL의 호스트 + 포트명 다음에 나옴! 예시) localhost:8080 + contextPath Context Root Content Directory 해당 경로에 메타 정보와 웹 정보를 관리하는 META-INF와 WEB-INF 파일 자동 생성 .jsp 파일은 해당 경로로 하위에 저장되어야 경로를 찾아갈 수 있음 Context Path/Root 변경 방법 사용자에게 보이는 경로가 수정될 뿐 접근하는 경로가 아예 바뀌는 것은 아님? 방법1) 사용 중인 스프링 프로젝트 우클릭 > Properties > Web Project Se..

Java/Spring 2021.09.18
728x90
반응형