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조 주민석 #43

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

Conversation

emes-g
Copy link

@emes-g emes-g commented Apr 12, 2024

안녕하세요. 서버 1조 주민석입니다.
정말 우여곡절이 많았던 한 주 였는데요..ㅋㅋㅋ 그래도 어떻게 완성해서 내가지고 다행인 것 같습니다.
4주차가 어떻게 진행되었는지나 신경써서 구현했던 부분에 대해 같이 이야기해보고자 합니다.

4주차 회고

3주차에 진행했던 브랜치에 이어서 작업하는 건줄 알고, 해당 브랜치에 구현부터 시작해서 작업을 쭉 해오고 있었습니다만, 수요일 스터디를 하면서 '아, 구현부터 작업하라는 건 아니구나' 라는 것을 알게 되었습니다.
그래도 해온 것도 있고, 구현부터 리팩토링까지 스스로 해보고 싶어서, 튜터에게 질문도 하고 목요일 밤까지 이것저것 찾아 봤습니다만, 금요일까지 리팩토링을 마치고 PR을 올릴 수가 없을 것 같아서 결국 week4_step3-qna 브랜치를 받고 부랴부랴 미션했던 모습이 떠오르네요 😅
4주차 미션은 오늘 끝나지만, 그래도 구현 및 리팩토링을 스스로 해보고 싶어서 아마 제출 이후에 추가적으로 해볼 것 같습니다!

구현 및 리팩토링

3주차에서는 DispatcherServlet의 move()를 통해 클라이언트에게 응답해줬는데,
4주차에서는 ModelAndView 개념까지 도입해서 클라이언트에게 응답해주는 과정이었던 것 같습니다.
View 및 ModelAndView를 어떻게 도입할지, 그리고 Controller에 요청 및 응답 객체를 넘길 필요가 있는지 고민해보는, 그런 스텝 바이 스텝 과정이 유익했습니다!

질문

다른 부분은 다 이해했는데, scripts.js의 format에 대해서 설명을 한 번 듣고 싶습니다.
혼자서 구현해볼 때, 이 부분에서 막힐 것 같아서, 이 부분에 대한 코드 설명을 한 번 듣고 싶습니다!

kwiyoon and others added 18 commits March 27, 2024 01:57
1. 이동할 뷰페이지를 담고 있는 클래스인 View 클래스 생성
2. 1에 따라, Controller 인터페이스의 반환형을 View로 수정
1. 데이터(모델)와 이동할 뷰페이지를 담고 있는 클래스인 ModelAndView
   클래스 생성
2. 1에 따라, Controller 인터페이스의 반환형을 ModelAndView로 수정
Controller-AbstractController-XXXController(구현체)의 상속 구조로
이어지도록 리팩토링
response의 책임을 View에 모두 넘겼음
- 일부 갱신 : JsonView 클래스의 resp.getWriter()
- 전체 갱신 : JspView 클래스의 resp.sendRedirect()
request 객체를 사용하긴 하지만, getParameter()와 getSession()으로만 사용
1. createParams()
- DispatcherServlet 클래스에 존재
- req 객체에 저장되어 있는 Parameter들에 대한 정보만을 Map으로 반환

2. setSession()
- Controller 인터페이스에 default 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