2024-01-26 (35일차) - JSP_AM 리팩토링, SpringBoot 시작

·2024년 1월 26일

📅 2024-01-26, 35일차


TODO

[프로그래머스]
1. 문제해석 (100%)
2. 문제풀이 (100%)
3. 2번을 코드로 번역 (100%)
4. 벨로그에 정리 (100%)

[Spring_AM]
1. 개발 환경 세팅 (100%)
2. 실행환경 세팅 (100%)
3.< 작업 3, MVC, count 변수의 값 초기화 및 증가> 다시보기 (100%)
4. <작업 4,5> 다시보기 (100%)
5. <작업 6, 여러가지 리턴타입 실험> 다시보기 (100%)


JSP_AM 리팩토링

article list 리팩토링

요구사항: service, dao 도입

생각의 흐름

내가 가지고 있는 서블렛들

  • Article 관련 서블렛
  • Member 관련 서블렛
  • HomeMain 서블렛

서블렛에서 요청을 받고 -> service로 넘겨주고 -> service에서 dao로 넘겨주는 방식인가
서블렛이 컨트롤러역할인가?

일단 쉬운거:
service랑 dao 패키지 만들기

article/list 부터.
서블렛은 요청을 받고 보내고 보내고 다시 받아서
list.jsp한테 넘겨주는것도 서블렛이 해줘야하겠지?

JSP_AM 리팩토링에 관하여:

JSP_AM 프로그램의 문제점

  • 입구가 너무 많다
  • 요청에 대해 하나하나 다 대답해주고 있음 == 요청을 받아주는 각각의 작은 입구들이 많음

dispatcher

  • dispatcher 서블릿은 큰 하나의 입구!
    • 여러 요청을 하나의 입구에서 다 받아서 각각 요청을 받는 기능.
  • dispatcher는 라우터기능을 하고 모든요청의 흡수기라고 생각하면 됨
  • dispatcher 뒤에서 여러 기능을 처리함

    controller / service / dao<->DB
    이런식으로 기능이 분리 된다
    각각 controller / service / dao에서도 기능이 분배 된다.
    e.g.) article controller, member controller etc.


Spring Boot

프로젝트 -> 손님
pom.xml -> 주문서
maven -> 식당

error 대처 방법:

패키지 익스플로러 refresh
프로젝트 우클릭 -> run as -> spring boot app
프로젝트 우클릭 -> maven -> update project
sts 껐다 켜보기
컴터 껐다 켜보기
그래도 안되면 강사님거 복붙~

MVC

C (controller)

  • 창구직원, 점원, 응대, USER한테 받은 요청을 service에 넘겨주는..
    M (Service, Repository, DB)
  • 프로그램의 핵심
    • service : 매니저
    • repository: 창고직원
    • db: 창고
      V (JSP):

usr/home/main
UsrHomeController
UsrArticleController
UsrMemberController

adm/home/main
AdmHomeController
AdmArticleController
AdmMemberController

=========

앞으로, 최소한 이만큼은 해야 함 :
로그인 로그아웃
회원가입

  • 중복체크 ajax
    회원정보 수정
  • 2단계 인증
    아이디찾기
    비번 찾기
    관리자
    멀티게시판 (전체, 자유게시판, 공지사항, 검색, 페이징
    게시물 CRUD
    댓글, 좋아요(스크랩)
    반응형 웹
  • 치트시트
    공공데이터
    API

강사님은 가이드라인을 제공한다.
가이드라인을 따라서 하나 이상의 프로젝트가 나와야 한다.

가이드라인과 똑같다면 의미 없음
프로젝트 2개
1. 강사의 프로젝트 clone
2. 개인꺼

가이드라인 + 추가/변경/삭제
(강사님에게 나는 이렇게 하고싶다 저렇게 하고싶다 의견을 공유해야함)

figma 사이트 회원가입하기

profile
hello world

0개의 댓글