728x90 반응형 분류 전체보기336 Spring(6) - Spring MVC 1. MVC(Model-View-Controller) 패턴 1) 아키텍쳐 패턴 2) 주목적 : Business logic과 Presentation logic을 분리하기 위함. 3) 사용자 인터페이스로부터 비즈니스 로직을 분리 => 시각적 요소와 그 이면에서 실행되는 비지니스 로직이 서로 영향 없이 쉽게 고칠수 있는 애플리케이션을 만들수 있음. 4) Model : 애플리케이션의 정보(데이터, Business Logic 포함) View : 사용자에게 제공할 화면 (Presentation Logic) Controller : Model과 View 사이 상호 작용을 관리 2. MVC 컴포넌트 역할 1) 모델(Model) 컴포넌트 - 데이터 저장소(DB)와 연동 - 사용자가 입력한 데이터나 사용자에게 출력할 데이터.. 2022. 1. 29. Spring(5) - AOP 1. 관점 지향 프로그래밍의 등장 1) 주기능인 회원 등급 구현시 로깅 기능, 보안 기능, 트랜잭션 기능 등의 보조기능을 일일이 구현해야함. 2) 규모가 있는 웹 애플리케이션일 경우 이런 작업을 수작업으로 하기에는 소스코드 복잡해짐 유지관리에 문제가 생길수 있음 ==> AOP (Aspect Oriented Programming)을 이용해서 주기능과 보조기능을 분리해서 메서드에 적용함. 2. 핵심기능과 부가기능 1) 업무(Biz)로직을 포함하는 기능을 핵심 기능 (Core Concerns) 2) 핵심기능을 도와주는 부가적인 기능(로깅,보안 등)을 부가기능 (Cross-cutting Concerns) 3) 객체지향의 기본 원칙을 적용하여도 핵심기능에 부가기능을 분리해서 모듈화하기는 어려움. 3. AOP 개요.. 2022. 1. 29. Spring(4) - IoC와 DI 1. IoC (Inversion of Container) 개념 1) 객체의 생성, 생명주기의 관리까지 모든 객체데 대한 제어권이 바뀌었다는 의미. 2) 디자인 패턴에 해당. 2. IoC 컨테이너 1) 스프링 프레임워크도 객체에 대한 생성 및 생명주기를 관리 기능 제공. 2) IoC 컨테이너 기능 제공 - 객체 생성, 의존성 관리 - POJO의 생성, 초기화, 서비스, 소멸에 대한 권한 - 개발자들이 객체생성을 컨테이너에게 맡김 3. IoC 분류 1) DL (Dependency Lookup) : 의존성 검색 2) DI : 의존성 주입 (각 클래스간 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결해주는것) - Setter Injection - Setter 메서드를 이용한 의존성 삽입 - Cons.. 2022. 1. 29. Spring(3) - Spring 의존성 주입 1. 의존성 주입 1) 개발자가 직접 코딩을 통해 컴포넌트(클래스)에 부여하는 것이 아니라 컨테이터가 연관 관계를 직접 규정하는 것 2) 각 클래스들의 변경이 자유로워짐 (loosely coupled, 약한 결합) 3) 예 - 쇼핑몰 경우 - 상품 관리, 주문 관리, 회원 관리, 게시판 관리 등 구성됨 - 서로 관련 있는 기능들은 강하게 겹합(tightly coupled)하고, 관련이 없는기능들은 약하게 겹합(loosely coupled)해야 좋은 프로그램임. 2. 의존성 주입 장점 1) 코드를 단순화할수 있음. 2) 애플리케이션 더 쉽게 유지 및 관리 가능. 3) 기존 구현 방법은 개발자가 직접 코드 안에서 객체의 생성과 소멸을 제어했지만 의존성 주입은 객체의 생성,소멸과 객체 간의 의존 관계를 컨테이.. 2022. 1. 29. Spring(2) - Spring Framework 1. 프레임워크(Framework) 정의 1) '어떤 것을 구성하는 구조 or 뼈대' 2) '기능을 미리 클래스나 인터페이스 등으로 만들어 제공하는 반제품' 2. 프레임워크(Framework) 장점 1) 일정한 기준에 따라 개발이 이루어지므로 개발 생성산성 품질이 보장된 애플리케이션 개발 가능. 2) 개발 후 유지보수 및 기능의 확장성에서도 고품질 보장 3. 스프링 프레임워크 1) Spring makes it easy to create Java Enterprise Applications. ------------------------ - 대규모의 복잡한 데이터를 관리하고, 이러한 데이터를 이용해 비즈니스 프로세스 지원 및 자동화함. - 비즈니스의 근간으로 보안과 안정성, 확장성이 필요하며, 뛰어난 성능,서.. 2022. 1. 29. Spring(1) - Framework 1. SW 재사용 방안 1) 복사 & 붙이기 2) 메서드 정의, 호출 3) 클래스 재사용 (상속) 4) AOP (Aspect Oriented Programming) - 로깅, 보안 2. 디자인패턴 1) GoF(Gang of Four) - Design Patterns - 재사용 가능한 객체지향 소프트웨어 요소(디자인 패턴) 2) 구조적인 가이드라인 3) 구현된 기반코드를 제공하지 않음 3. 프레임워크 1) 비기능적 요구사항 (성능, 보안, 확장성, 안정성)을 만족하는 구조와 구현된 기능을 안정적으로 실행하도록 제어해주는 잘 만들어진 구조의 라이브러리임. 2) 비기능적 요소들을 초기 개발 단계마다 구현해야 하는 불합리함을 극복해줌. 3) 기능적인(Functional) 요구사항에 집중할수 있도록 해줌. 4) .. 2022. 1. 29. JSP(25) - Model2 게시판 1. 답변형 게시판 테이블 (t_board) 컬럼이름 속성 자료형 크기 Null 여부 key 기본값 ------------------------------------------------------------------------------ 1) articleNo 글번호 number 10 N PK parentNo 부모글번호 number 10 N 0 title 글제목 varchar2 500 N content 글내용 varchar2 4000 Y imageFileName 이미지파일이름 varchar2 100 Y writeDate 작성일 date N sysdate id 작성자ID varchar2 20 N FK 2. 단위 기능 (논리적인 기능) 1) 예 - 게시판 글 조회시 해당 글을 조회하는 기능과 조회 수를 .. 2022. 1. 29. JSP(24) - Model2 회원 1. Web Application Model 1) 표준화된 소스 구조 2) 모델1, 모델2가 있음 2. 모델1 방식 1) 모든 클라이언트의 요청과 비즈니스 로직 처리를 JSP가 담당하는 구조 2) 기능 구현이 쉽고 편리하지만 유지보수가 어려움 3. 모델2 방식 1) 각 기능을 분리해서 구현 - 클라이언트의 요청 처리 및 흐름 제어 담당 (Controller) => 서블릿 - 응답처리 (화면기능) (View) => JSP - 비즈니스 로직 처리 (Model) => DAO 2) 각각의 기능을 모듈화해서 개발 => 재사용 높음 3) 유지보수가 쉬움 4) publisher와 개발자 작업 분업화 5) 모델2방식과 관련된 기능, 개념에 대한 이해가 필요 4. MVC 디자인 패턴 1) Model-View-Contro.. 2022. 1. 29. JSP(23) - Jquery Ajax 1. Ajax 정의 1) Asynchronus Javascript(비동기 자바스크립트) + XML의 의미 2) 자바스크립트를 사용한 비동기 통신, 즉 클라이언트와 서버 간의 XML이나 JSON 데이터를 주고받는 기술. - 기존 웹 페이지 동작 - 요청 페이지 ===> 웹 서버 요청 받음 요청 처리 HTML 생성 결과 페이지 웹 서버 요청 받음 요청 처리 XML or JSON 생성 2022. 1. 29. JSL(22) - 파일업로드 1. 라이브러리 추가하기 1) Apache Commons FileUpload, Apache Commons IO 2) com.oreilly.servlet 라이브러리 2. JSP에서 파일 업로드 1) 파일 업로드 관련 API - DiskFileItemFactory - setRepository() : 파일을 저장할 디렉토리 설정함. - setSizeThreadhold() : 최대 업로드 가능 파일 크기 설정함. - ServletFileUpload - parseRequest() : 전송된 매개변수를 List객체로 얻음. - getItemIterator() : 전송된 매개변수를 Iterator 타입으로 얻음. 3. 순서 1) 라이브러리 추가 2) 파일 업로드 - 화면 폼 작성 - 데이터베이스 테이블,시퀀스 생성 .. 2022. 1. 29. 이전 1 ··· 21 22 23 24 25 26 27 ··· 34 다음 728x90 반응형