Spring MVC 정리

강보훈·2021년 12월 9일
0

MVC

Model

  • POJO 형태로 앱 데이터를 캡슐화한 것

View

  • 모델의 데이터를 이용해서 뷰를 만듬

Controller

  • 유저 리퀘스트 처리 및 모델 만들고, 저장하고 넘기고 함

Overview

ContextLoadListener

  • DAO, DataSource, Server 등 공유되는 Bean을 관리함

DispatherServlet

  • Spring Container 안에 각종 빈들을 저장하고 관리함


Controller 정리

Annotation

@Controller

  • 클래스 레벨에 사용

@RequestMapping

  • 매 함수마다 붙일 수 있고 클래스단에 붙일 경우 아래 사진처럼 루트를 지정 가능

@RequestParam

  • 필요한 인자를 매칭 시켜달라고 스프링에게 요청

Form 정리

  • Request Parameter
    • Get 사용 시 Url 뒤쪽에 붙음
    • Post 사용 시 Body로 붙는데 주로 Json

DataBinding

  • Request Parameter를 적절한 object(form bean == command object)로 만들어줌
  • 작동 방식
    1. 새로운 form bean 생성
    2. reqeust param으로부터 할당
    3. model에 추가
  • 방식
    • Native
    • Spring Data Binding

DataValidation

  • 사용자가 입력한 데이터 검증
  • Model에 form bean과 BindingResult도 추가가 됨
  • 사용방법
    • 필드에 annotation을 이용해서 제약조건을 추가하면됨
    • 에러 메세지 설정
    • 검증하기
      • Controller 레벨에서 인자 앞에 @Valid 추가
      • BindingResult를 통해서 검증 결과 확인 가능

DataBuffering

  • 말그대로 데이터 버퍼링 기능, 입력된 데이터를 다시 들어갔을 경우(ex : 에러가 생긴 경우) 자동으로 채워줌
  • Spring form tag library를 사용해야한다.
    <%@ taglib prefix=”sf" uri="http://www.springframework.org/tags/form"%>
  • 사용 방법
    • jsp 레벨
      • 에러 메세지 출력
    • controller 레벨



Spring Security 정리

  • 큰 흐름

  • Security 흐름

  • 주요 키워드

    • DelegatingFilterProxy
  • 설정

    • security-context.xml에 설정을 추가
    • Authentication, Authorization 이 두가지를 설정해준다.
      • 비밀번호 저장시 {random}이 부분을 반드시 추가해줘야한다.
      • DB 사용 시

Filter

  • servlet으로 나오고 들어오는 요청들을 가로채서 전, 후처리를 함
profile
신입 안드로이드 개발자입니다!

0개의 댓글