[Spring] Front-Controller, @GetMapping, @PostMapping, 에러처리

2024. 9. 6. 02:14·Back-End/Back-End

[작성일: 2023. 04. 17]

 

MyBatis

  • DB를 다루는 라이브러리
  • SQL을 다루는 방식에는 annotation 방식과 XML 방식이 있음.
    • SQL이 복잡하거나 길어지는 경우 annotation보다 XML 을 이용하는 방식 선호

 

 

 

 

 

Front-Controller

  • 사용자의 request는 Front-controller인 DispatcherServlet을 통해 처리
  • HandlerMapping은 Request의 처리를 담당하는 Controller를 찾기 위한 존재
    • 여러 객체 중 @RequestMapping Annotation이 적용된 것을 기준으로 판단
    • 적절한 컨트롤러를 찾아내면 HandlerAdaptor를 통해 해당 컨트롤러 동작
  • Controller는 Request를 처리하는 비지니스 로직을 작성
    • View(html)에 전달해야 하는 데이터는 주로 Model 객체에 담아서 전달
    • 이 처리는 ViewResolver를 이용
  • ViewResolver는 Controller가 리턴한 결과를 어떤 View에서 처리하는 것이 좋을지 해석
  • View는 실제 응답을 보내야 하는 데이터를 HTML 등을 이용해 생성함.
  • 만들어진 응답은 DispatcherServlet을 통해 전송함.

 

 

 

특징

  • HttpServletRequest, HttpServletResponse를 거의 사용할 필요 없이 구현
  • 다양한 타입의 파라미터, 다양한 타입의 리턴 타입 사용 가능
  • GET 방식, POST 방식등 전송 방식에 대한 처리를 annotation으로 처리 가능

 

 

 

 

@GetMapping, @PostMapping

  • 각각 GET, POST 방식의 주소를 담당

 

 

 

데이터 주고받기

  • Get 방식의 경우 주소창에 있는 데이터를 자동으로 VO와 변수에 매핑함.
  • 주소창의 데이터와 변수 이름이 다른 경우 @RequestParam을 사용하여 매핑
  • 메서드 호출 시 Model을 선언할 수 있으며 이 모델에 여러 가지 속성을 넣고 HTML로 전송하는 방식이 일반적임.
  • thymeleaf 방식의 HTML에서는 $와 *를 사용하여 데이터를 읽어옴.

 

 

 

 

 

Error 처리

  • Exception : Error 발생 시 기본 경로(/error)로 요청이 들어오며, 컨트롤러에서 /error 요청에 대한 처리를 통해 페이지 출력이 가능함.

error html

 

 

 

 

 

 

 

 

 

 


🐣 해당 게시글은 입문 개발자가 요약/정리한 글이므로 틀린 내용이나 오타가 있을 수 있습니다.

 

저작자표시 비영리 변경금지 (새창열림)
'Back-End/Back-End' 카테고리의 다른 글
  • [Spring] 게시판(Board) 만들기
  • [Spring] 3-tier 구조
  • [Spring] Spring Framework
  • [JSP] 내장 객체, GET과 POST
뚜비
뚜비
1년차 백엔드&iOS 개발자의 감자 탈출 블로그 🥔🥔
  • 뚜비
    뚜비의 개발로그
    뚜비
  • 전체
    오늘
    어제
  • 글쓰기     관리
    • Devlog
      • Back-End
        • Java
        • Spring
        • JPA
        • HTTP
        • Security
        • Back-End
        • Front-End
      • 알고리즘
      • iOS
        • Swift
      • Database
      • Tips
        • Git & GitHub
        • A to Z
      • 프로젝트
      • 생각정리
  • 태그

    다형성
    게시판만들기
    Database
    데이터베이스
    김영한
    백준
    sql
    Swift
    jsp
    알고리즘
    변수
    자바스크립트
    DB
    Java
    javascript
    spring
    Spring Security
    생성자
    MVC
    스프링
    성능최적화
    프로그래머스
    객체
    Security
    자바
    html
    최주호
    HTTP
    의존성주입
    JPA
  • hELLO· Designed By정상우.v4.10.0
뚜비
[Spring] Front-Controller, @GetMapping, @PostMapping, 에러처리
상단으로

티스토리툴바