Skip to content
hek edited this page Aug 1, 2024 · 6 revisions

이영민

[ 구현한 내용]

  • 미션에서 필요한 최소한을 구현했다.

[새롭게 안 내용]

  • req 에서 inputstream 을 가져오거나 reader 를 가져오면 다른 곳에서 파라미터를 가져오거나 할 수 없다는 것을 알았습니다.
  • 에러 페이지도 jsp 로 숨기는 편이 좋은 것 같습니다.
  • 컨피그, 리퀘스트, 리스판스를 다 테스트 객체를 만들어서 서블릿을 테스트한 것이 인상깊었습니다.

김현수

[ 구현한 내용 ]

  • DB 부분을 interface 로 구현하여 변경에 자유롭게 구현했다.
  • error-page 를 등록해 custom exception 을 읽어 에러 페이지를 띄운다.

[ 새롭게 안 내용 ]

  • Servlet inputstream 하면 스트림이 소모됨 getParameter 실행해야지 스트림을 읽어?
  • init(servletConfig config)
  • jsp content-type 이 공백으로 달라져도 오류가 남

김현욱

[ 구현한 내용 ]

  • Servlet을 이용하여 회원가입, 유저 조회, 프로필 조회를 구현했습니다.
  • 통합적으로 error message를 처리해주는 jsp를 구현했습니다.
  • Servlet에 필요한 HttpServletRequest와 HttpServletResponse, ServletContext와 ServletConfig를 Mocking하여 서블릿 테스트를 진행했습니다.
  • 인터페이스로 필요한 인스턴스들을 추상화해서 db 및 passwordEncoder를 자유롭게 변경할 수 있다.

[ 코드리뷰에서 배운 내용 ]

  • jsp는 그렇게 친절하지 못하다
  • Content-Type에 같은 값이라도 문자열이 다르면 다른 헤더 취급을 해준다.
  • ex ) Content-Type: text/html; charset=utf-8Content-type: text/html;charset=utf-8은 다른 값 취급을 해준다.
  • ex2) Trim 해주지 않는다. Content-Type: text/html; charset=utf-8Content-Type: text/html; charset=utf-8 는 다른 값 취급을 해준다.

김수현

  • 테스트를 고려해서 ServletContextConfig를 사용해서 주입해주는 방법이 좋다.
  • 속도가 느려서 리뷰때 내가 나눌게 없고 항상 얻어만 가는 것 같아서 미안하다. 모든 사람들에게 소중한 시간인만큼 나도 유용한 정보나 고민을 나눌 수 있도록 미리 준비해봐야겠다. 은기님기 자신이 트러블 슈팅한 경험(InputStream, 을 말해주셔서 흥미로웠다. 나도 앞으로 그렇게 공유할 수 있으면 좋겠다.
  • localhost:8080으로 요청해도 브라우저가 /경로로 호출해서
  • tomcat이 etag로 버전을 비교해서 캐싱된 리소스를 반환할 수 있다.
  • servlet mapping 로직을 이해하지 못하고 있는 것 같다.
    • IndexServlet mapping을 /로 하면 매핑되지 않은 url도 not found exception이 발생하지 않고, /index 요청이 /index.html로 매핑된다.
    • 반면에 ""로 설정하면 매핑되지 않은 url은 처리되는데 또 index요청도 매핑되지 않았는데 처리된다.
    • servlet mapping 로직을 제대로 알아봐야지 원하는대로 설정할 수 있겠다.

홍은기

  • 범용적인 예외 처리와 에러 페이지를 만들어주어야겠다고 생각했습니다.
  • 현재 직접적인 정적 파일 접근이 가능한데 WEB-INF 내부에 정적 리소스를 숨겨 직접 접근을 막을 수 있다는 것을 알았습니다.
  • jsp 파일에서 content-type 공백 여부에 따라서도 값이 다른 헤더로 인식하여 content-type이 중복으로 존재한다는 오류가 발생한다는 것을 알 수 있었습니다.
    실제 개발할때 이 오류가 발생했었는데 갑자기 해결되어서 원인도 몰랐던 것 같습니다. 공백 하나도 제대로 처리하지 못한다는 것에 충격 받았습니다.
  • ServletContext에 빈을 등록하고 요청을 받았을 때 servlet.init 실행을 통해 di를 해주어야겠다고 생각했습니다.

👼 개인 활동을 기록합시다.

개인 활동 페이지

🧑‍🧑‍🧒‍🧒 그룹 활동을 기록합시다.

그룹 활동 페이지

🎤 미니 세미나

미니 세미나

🤔 기술 블로그 활동

기술 블로그 활동

📚 도서를 추천해주세요

추천 도서 목록

🎸 기타

기타 유용한 학습 링크

Clone this wiki locally