Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4주차 미션 / 서버 1조 박지원 #28

Open
wants to merge 29 commits into
base: main
Choose a base branch
from

Conversation

david-parkk
Copy link
Member

@david-parkk david-parkk commented Apr 11, 2024

안녕하세요 서버 1조 박지원(david-parkk)입니다. 😄
저번주에 구현한 MVC 를 리펙토링을 진행하면 ModelAndView와 디스패치 servlet에 대해 이해할 수 있었습니다.

미션 진행도

  • View와 Model을 갖는 ModelAndView 객체 추가
  • 각 View에 모델에 따른 render() 수정
  • AbstractController(extends Controller) 생성
  • Controller 구현체 로직 변경
  • Controller의 request, response 파라미터 삭제

미션 수행 내용

1. 추상클래스 🎇

  • 추상클래스 와 인터페이스의 차이를 잘 알지 못해 시간을 많이 소요했던 부분입니다.
  • 추상클래스와 인터페이스 모두 함수의 프로토타입을 명시하는 용도로 사용하고 함수를 실제로 사용하는 것은 지양해야한다고 알고 있었습니다.
  • 추상클래스의 경우 공통된 기능을 구현하여 사용할 수 있다는 것을 알게 되었습니다.

2. ModelAndView에서의 model 🌳

  • model을 사용해야하는 이유에 대해서 명확하게 이해하지 못했습니다.
  • render 에HttpServletRequest request를 사용해야하기 때문에 model에 굳이 넣어야 하는지에 대한 의문이 있었습니다.
  • 스터디 시간에 파트장님의 설명으로 JSON과 같은 다른 데이터 통신의 경우 HttpServletRequest request 에 모든 정보를 사용할 필요가 없기 때문에 Model에 데이터를 mapping하는 것이 효과적이라고 이해하였습니다.

3.default method 🔍

  • session 관리 default method를 사용해서 구현하였습니다. (힌트 덕분입니다 😄 )
  • default method를 사용해본 것이 처음인데 오버라이딩 되어 있는 경우, session이 주입되는 로직을 구현하면서 defalut method의 올바른 사용처에 대해 알게 되었습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants