Spring Framework

AWESOMee·2022년 7월 11일
0

Spring Framework

목록 보기
2/3
post-thumbnail

Scope

컨트롤러에서 화면으로 전송되는 데이터의 유효범위

Application Scope

  • Web Application이 구동되는 유효한 데이터를 생성

Session Scope

  • 사용자가 Web Page에 접속 시 자동으로 생성
  • WAS에 설정된 시간동안 Web Page에서 동작이 없을 시에 자동 소멸
  • 동작이 계속 취해지면 설정된 시간이 계속 유지
    web.xml

    ->30분 동안 동작하지 않으면 자동 소멸 됨
  • 세션 유효범위는 세션이 유지되는 동안 유효한 데이터를 생성
  • HttpSession 객체를 사용하여 설정(로그인 정보 등을 담아서 여러 페이지나 Request에서 사용 가능)

Request Scope

  • 하나의 요청이 실행되는 동안에만 유효한 데이터를 생성
  • 요청 처리가 완료되면 사라짐
  • Model 객체를 이용하여 설정할 수 있음

Scope 범위

Application Scope > Session Scope > Request Scope


el 표기법과 jstl

el(Expression Language)

  • 기존 JSP에서는 자바코드나 자바변수를 사용할 때 <%= 변수 %> 와 같이 사용하였음
  • el표기법은 자바코드나 자바변수를 ${변수}와 같이 축약하여 사용할 수 있도록 설정

jstl

  • 자바변수를 이용할 때 조건이나 반복문을 사용할 수 있도록 해주는 라이브러리
  • ex) 로그인됐을 때는 마이페이지를 보여줘야 하는 경우와, 로그인 되지 않았을 때는 로그인페이지를 보여줘야 하는 경우에 jstl tag인 <c:if></c:if>를 이용하여 표시

Spring / ORM Framework

  • ORM Framework 등장 전에는 JDBC Programming을 통해서 DB연동
  • JDBC Programming은 DB 연결 클래스를 따로 작성해야하고, 쿼리문도 자바 클래스로 작성해야하여 매우 불편했음
  • ORM Framework 등장하면서 DB 연결 설정이나 쿼리문이 클래스에서 분리되어 편하게 사용할 수 있게 됨

ORM Framework(Object Relation Mapping)

  • 객체와 DB의 테이블을 매핑하여 사용하는 Framework
  • DB 연결, 쿼리문을 클래스에서 분리된 파일에 작성
  • Mybatis, iBatis, Hibernate etc..

MVC pattern

MVC(Model View Controller) pattern

  • Model: DB와 연동되는 객체(Service, ServiceImpl, DAO, mapper)
  • View: 사용자에게 표출될 화면(JSP)
  • Controller: View와 Model을 연결하는 객체( Controller)
  • View에서 사용자가 동작을 취하면 Controller가 사용자 요청을 받아서 처리를 진행
  • Controller에서 Model객체의 함수를 호출하여 DB 데이터를 받아오거나 DB데이터를 조작함
  1. View --요청--> Controller --함수호출--> Model --쿼리--> DB
  2. View <--응답-- Controller <--결과리턴-- Model <--쿼리결과-- DB
    ===> 해당 방식이 보편적일 뿐 절대적이지는 않음

    Model의 호출 순서
    Service -> ServiceImpl -> DAO -> Mapper

profile
개발을 배우는 듯 하면서도

0개의 댓글