마트철수

[066] Spring: 서버로 화면 처리 본문

KB IT's Your Life/교육

[066] Spring: 서버로 화면 처리

마트스 2024. 8. 12. 17:49

 

2024.08.12(월)
 
Spring 6일차
 
MapperTamplet 꼭 만들어둬야함!
 
마지막 다짐에 적어놓겠지만,
Vue 복습이 필요할 것 같다 ..

틈틈히 예전 자료 다시 읽어보기 !


 

Spring


 

PART01

  • CH02. 스프링의 특징과 의존성 주입
  • CH03.1 스프링 MVC의 기본 구조
  • CH03.2 스프링 MVC의 Controller 1
  • CH03.3 스프링 MVC의 Controller 2
  • CH03.4 SpringLegacy 업데이트
  • CH04.1 스프링과 MySQL Database
  • CH04.2 MyBatis와 스프링 연동
  • CH05.1 영속, 비즈니스 계층의 CRUD 구현
  • CH05.2 비즈니스 계층
  • CH05.3 프레젠테이션(웹) 계층의 CRUD 구현
  • CH06.1 화면 처리

 


CH06.1 화면 처리

 
BoardController의 분석

BoardController의 분석

 

  • 요청 흐름
BoardController 요청 흐름

 
 
 
BoardController의 작성 - 조회 처리와 테스트
 
글 상세 보기(조회)

    • GET 요청
      - Model 구성: 속성명은 board, 속성값은 service.get()으로 BoardDTO 획득
      • GET :: /board/get
      • GET :: /board/update
@GetMapping({"/get", "/update"}) // "/get"과 "/update" 경로를 둘 다 처리
//    @RequestParam: 주소 뒤에 ?를 붙여서 쿼리스트링으로 정보를 받아준다
    public void get(@RequestParam("no") Long no, Model model){
        log.info("/get or update");
        model.addAttribute("board", service.get(no));
    }

 
 

CH06.1 화면 처리

 
#여기서부터는 JSP 작업
 
화면처리

  • webfont 설정
    • wght 뒤부터 폰트 사이즈를 지정 가능
@import
url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;200;300;400;500;600;700;800;900&display=swap');
* {
    font-family: 'Noto Sans KR'
}
.avatar-sm {
    width: 24px;
    height: 24px;
    border-radius: 50%;
}

 

  • 열린태그와 닫힌태그가 홀수여도 오류 X
footer에 열린태그, menu에 닫힌태그가 있음

 

  • 상대경로 주의!
<!DOCTYPE html>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="./layouts/header.jsp" %>
<%--개별 페이지--%>
<h1>환영합니다.</h1>
<div>
    첫 번째 페이지입니다.
</div>
<%@ include file="./layouts/footer.jsp" %>

 
 
 

화면을 만들어낸 것은? Server
=> 해당 메카니즘을 SSR이라고 한다. (Server Side Rendering)
=> 서버에서 화면 구성을 한 것

 
 
 
 


 
다음주 후반부터 Vue3가 다시 등장할 예정..
 
Vue3가 최종 목적지이며,
JSP는 거쳐가는 하나일뿐 ..
 
그래서 Vue3를 복습하라고 하셨다..
기자단으로 정리할 예정