728x90
Web Architecture
우리가 지금 사용하고 있는 웹 페이지는 이렇게 생겼음
클라이언트가 서버에 요청을 함 -> 그 요청이 괜찮은? 가능한? 요청인지 서버에 물어봄 -> 가능하면 서버에서 로직을 처리하고 데이터를 줌(응답)
뭐 이런식으로 굴러감
- 웹서버는 접속, 응답 처리 밖에 못해서 어플리케이션 서버(Web Container)가 필요함
- 어플리케이션 서버는 language 실행 가능(로직 처리)
- 요즘은 웹서버랑 어플리케이션 서버랑 같이 감(WAS라고 함)
- 우리는 톰캣이라는 WAS를 쓸 것임(WAS에는 웹로직, 웹스퀘어, 제우스 등 많은 서버가 있음) → 자바, 스프링은 얘네 다 쓸 수 있음)
- 순서?
- data get - 데이터를 받아라~
- logic - 로직을 처리하기 위함
- 비즈니스 로직(데이터베이스 로직을 제외한 나머지는 다 비즈니스로직) → MVC 배우면 얘를 처리하는데에 Service라는 클래스를 만들거임
- 데이터베이스 로직(데이터베이스를 처리하는 것들은 전부 DAO라는 클래스에 만들었음)
- 응답에 대한 처리(대답은 해줘야됨. 되냐 안되냐 성공이냐 아니냐). 응답은 html(보내줘야되니까, 클라이언트가 알아먹을 수 있는건 html 밖에 없으니까)
- 어플리케이션 서버의 자바는 로컬 컴퓨터가 아니라 웹이라는 특수 환경에서 돌아야되는 자바임 → 얘를 Servlet이라 함. 얘는 쓰기힘들어서 조금 더편하게 만들기 위해서 JSP라는 놈이 나온거!
DTO와 VO → 쌍벽을 이룸 근데 둘이 같지는 않음. 어떤 값을 일을 처리하기 위해서 넘겨주는 것을 DTO로 만듦(테이블이 10개면 DTO도 10개). 테이블을 조인해서 새로운게 생기면 VO로 처리. 엄밀히 따지면 DTO는 전달 객체, VO는 값을 담아서 다시 리턴받는 객체
728x90