Java/Spring 12

[스프링] 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

[스프링] Java Web Application vs Spring MVC Project 구조 비교

Java Web Application 구조 ~.war(Web Applicaiotn 압축 파일) WEB-INF classes : Java 소스가 컴파일된 바이트코드(.class) 파일 저장 lib : 실행시 필요한 외부 ~.jar 파일 저장 기타 폴더 : 필요에 따라서 생성된 폴더와 파일 저장 web.xml : 배치 기술자(Deployment Descriptor), WAS가 최초로 해석하는 파일 index.jsp 디폴트 페이지 : http://localhost:8080/contextRoot 로 요청했을 때 실행되는 페이지 해당 경로를 절대 경로 사용시 동적 사용 가능 response.sendRedirect(application.getContextPath() + "/"); Spring MVC Project ..

Java/Spring 2021.09.15

[스프링] WAS(Web Application Server) / Web Server

웹 애플리케이션 서버(WAS, Web Application Server) 웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크 인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진) 서버에서 애플리케이션이 동작할 수 있도록 지원 동적 서버 콘텐츠(DB 조회나 다양한 로직 처리 등)를 수행하는 것으로 일반적인 웹 서버와는 다름 웹 컨테이너(Web Container) 혹은 서블릿 컨테이너(Servlet Container)라고도 불림! 컨테이너란 JSP, Servlet을 실행시킬 수 있는 소프트웨어 Tomcat, JBoss, Jeus, Web Sphere 등 주요 기능 프로그램 실행 환경과 DB 접속 기능 제공 여러 개의 트랜..

Java/Spring 2021.09.03
728x90
반응형