Spring 1일 11/23

권준석·2022년 11월 23일
0

웹 서버 정리

MVC2

동기 방식 통신(지금까지 개발한 방식 )
클라이언트 요청 서버관리 (MVC패턴)

  • 서블릿으로 컨트롤러를 정의하고 코딩
  • Model : DAO & DTO
  • view : html, css js jsp (기본, el, jstl)

MVC 순서

  1. 클라이언트 요청(요청)
  2. 컨트롤러 처리(처리)
    -> 파라미터를 받을것인가
    -> DB에서 자료를 가져와야하는가
    -> 가져온 자료를 view에게 전달해야하는가
    -> 전달하는 자료는 어떤 자료형이가(원시타입 객체 리스트 mpa)
  3. 뷰 화면 (응답)
    (클라이언트에게 제공할 화면을 정의하고 만든다)
    -> 기본 html, css 로 정적화면 구현
    -> 컨트롤러에게 받은 자료 를 출력(el, jstl)
    -> 클라이언트에게 js, jquery 등 동적인 문서를 제공 (ajax[비동기 방식 통신])

동기 방식 VS 비동기 방식(개발자가 정의)

클라이언트의 요청
클라리언트가 동기방식으로 요청, 비동기 방식으로 요청
동기와 비동기는 웹에서만 사용되는이론이 아니라
통신에 대한 이론

동기방식

직렬적으로 순차적으로 처리한다(직렬적 순차 처리)

  • 특징 정확한 결과(데이터)를 예측할 수 있다
  • 장점 설계가 편하고 직관적이다
  • 단점 앞작업의 결과가 있을때 까지 실행되지 않고 대기한다
  • 응답이오면 작업하는것 응답이 오지 않으면 아무것도 하지 않고 기다린다

비동기방식(jquery의 ajax)

병렬적으로 처리한다 (병렬적 동시 처리)

  • 장점 자원의 낭비가 덜하다
  • 단점 설계가 동기방식보다 복잡하다
  • 무조건 요청,응답을 기다리지 않는다
  • 요청하고 기다리지 않고 다른 작업을 한다, 응답이 안와도 작업한다

화면의 로딩이 오래 걸릴 경우 동기보다 비동기가 좋을수있다
동기방식이라면 화면이 보여주는 순서대로 출력되고
비동이라면 응답이 오는 순서대로 화면에 출력되니
매번 다를 수 있다

DI(Dependency Injection) - 의존성 주입

객체에서 의존하는 객체가 있을 경우, 객체를 직접 만들지 않고
외부에서 객체의 주소를 주입받는 방식

  • 한 객체에서 다른 객체을 사용하는것을 의존성이라고 한다
  • 객체 간 의 의존관계를 별도의 설정파일에서 설정하고 관리한다

컨트롤러

개발을 프레임워크 기반에서 개발한다
운영프레임 워크가 한다, 개발자기능을 정의한다
개발의 주체가 개발자가 아니라 프레임 워크
이때 프레임 워크를 IOC(Inversion Of Control)라고 한다

IOC

스프링 어플리케이션에서 오브젝트의 생성과 의존 관계 설정, 사용, 제거 등의
작업을 어플리케이션 대신 스프링 컨테이너가 담당하는 것

컨테이너

스프링에서 자바 객체들을 관리하는 공간
스프링에서는 자바 객체를 빈이라고한다
빈의 생성부터 소멸까지 개발자 대신 관리한다

스프링에서 설정된 것에 의해 객체가 만들어지면
이 객체를 컨테이너에서 보관하고
소스에서 필요하면 주입 받아서 사용한다

어노테이션(@으로 사용)

소스를 컴파일하면 컴파일러에게
이런 역활을하는 클래스,기능을 알려준다
컴파일러는 어노테이션을 보고 해당 포지션에
배치 시키거나 원하는 기능을 해결해준다

profile
ㅇㅇ

0개의 댓글