자바 웹 프로그래밍 Next Step (9)

송성우·2024년 1월 29일

중간 점검

책의 절반 이상을 끝내가는 시점에서 9장은 중간점검을 하는 파트이다
학습한 부분을 복기하면서 리팩토링을 진행하자


1. 로컬 개발 환경에서 톰캣 서버를 시작하면 서블릿 컨테이너의 초기화 과정이 진행되는데 소스코드에서 초기화되는 과정에 대해 설명하라

  • Servlet Container는 웹 애플리케이션의 상태를 관리하는 ServletContext를 생성한다.
  • Servlet Container와 ServletContext의 차이점
    • 서블릿 컨테이너는 서블릿이 실행될 런타임 환경을 제공
    • 서블릿 컨텍스트는 웹 응용프로그램을 나타내는 개체이며, 웹 응용프로그램이 배포될 때 서블릿 컨테이너에 의해 생성

서블릿 컨테이너는 서블릿의 실행을 관리하는 전체적인 환경
서블릿 컨텍스트는 특정 웹 애플리케이션을 나타내는 서블릿 컨테이너 내의 개체이며 구성 요소가 정보와 리소스를 공유할 수 있는 방법을 제공

localhost8080으로 접근해서 질문 목록이 보이기까지 소스코드의 호출 순서 및 흐름을 설명하라

질문하기 기능의 구현

로그인한 유저만 질문이 가능하도록 수정, 질문할 때 로그인한 유저 정보를 가져와 글쓴이 이름으로 사용하도록 구현하라

답변 목록을 정적인 HTML이 아니라 데이터베이스에 저장되어 있는 답변을 출력하도록 구현하라

자바 기반으로 웹 프로그래밍을 할 경우 한글이 깨진다. ServletFilter를 통해 해결하라

  • @WebFilter("/*")를 사용하면 해결가능

@WEBFILTER 어노테이션으로 필터 설정하기

멀티스레드 상황에서 문제가 발생하지 않도록 ShowController를 수정하라

답변을 추가할 경우 댓글의 수를 증가시켜라

특정 URL로 접근하면 질문 목록을 Json 데이터로 조회할 수 있도록 구현하라

답변 삭제 시에 화면을 깜빡이지 않고 구현이 가능하도록 AJAX로 구현하라

권한을 가진 사람이 질문 수정이 가능하도록 수정하라

DAO에서 데이터베이스 접근 로직을 구현할 때 사용하는 JdbcTemplate은 인스턴스를 여러 개 생성할 필요없다. 인스턴스를 하나만 생성하도록 구현하라

조건에 부합하게 질문 삭제 기능을 구현하라

profile
소통을 지향하며 성장하는 것이 목표입니다.

0개의 댓글