프레임워크를 사용하다보면 쉽게 어플리케이션 개발이 가능해진다.
commands.properties
파일은 핸들러 클래스를 등록하는 파일이다.
이 파일이 모든 요청을 받는다.
url을 "*.do"로 등록했기 때문에 요청 url이 .do로 끝나면 이 요청들은 DispatcherServlet이 받는다.
요청을 받고 처리를 해준다.
요청을 실제로 처리하는 클래스는 핸들러 클래스들
이다.
이 핸들러 클래스들
은 서블릿이 아니라 일반 클래스로 만들어져 있다.
각 핸들러 클래스
는 요청을 처리하고 뷰 페이지 경로를 반환한다.
이 핸들러 클래스
들은 /WEB-INF/commands.properties
파일에 url과 함께 등록해야 한다.
init()은 이 서블릿이 실행될 때 한 번만 실행되는 메소드이다.
그리고 메서드에서 commands.properties
파일의 데이터를 하나씩 읽어서 맵에 저장한다.
그리고 핸들러에는 프로세스 메소드밖에 없다.
왜? 다 핸들러라는 인터페이스 상속을 받았기 때문에.
그리고 핸들러라는 인터페이스 속엔 추상메소드가 들어있지
왜 추상으로 만들었지?
상속해주는것만 선언해주고 각각 필요한것들은 다르게 구현하기 위해서 그렇게 만들었다.
반환타입은 왜 스트링일까?
항상 처리가 끝나면 뷰페이지로 이동하기 때문에 뷰페이지 경로를 알려줘야하기 때문에 뷰페이지 경로를 반환하기 위해서 스트링으로 쓴다.
홈화면
로그인 완
로그인하면 이렇게 보임
로그인>내정보확인
로그인>글쓰기
로그인>리스트
로그인>리스트>상세보기