-- INDEX --
1. WS 와 WAS | 2. 프레임워크 |
정적인 요청만을 처리 정적인 요청과 동적인 요청을 처리 |
개발자를 도와주는 툴 xml 문서를 통해 객체 생성 |
1. WS 와 WAS
1-1 : Live Server - WS
- WebServer인 live server를 사용했다.
- 우리가 만든 파일들을 다 live server에 올려놓았고
- 이 서버에 무슨무슨 파일 보여주세요 하면 – 보여주는 식으로 보았었다.
- live server 에 요청을 하려면?
- live server 프로세스가 실행되고 있는 곳까지 일단 찾아간 다음에 ( ip주소 : 포트번호 )
- 파일 요청 ( 파일 이름 입력해서 요청 )
live server 는 어떤 서버가 작동하는 것이었고,
정적인 파일들을 보여주는 WebServer 이다.
서버에다가 파일을 넣어놓고, 다른 사람들이 접근 가능하게 만들어놓으면
그것이 홈페이지 웹 서버 만든 것!
웹서버는 만들어진 것을 그대로 보여주는 것이 전부라는 한계점이 있다.
1-2 : Tomcat - WAS
- WebApplicationServer 인 Tomcat 사용했다.
- 어떤 파일을 그대로 가져와서 보여주는 것이 아니라.
- 문자열(data덩어리)을 가져와서 응답을 해주는 것이다 ( 브라우저에 보여주는 것이다. )
데이터 덩어리를 가져와서 브라우저에 보여주는 것이었다.
WS 는 존재하는 파일 내용을 그대로 문자열로 보내주는 것이었다.
클라이언트는 자신의 요청에 대하여 ㅡ 어떤 응답(데이터 문자열)만 받으면 된다,
WAS는 이 점을 이용 – 서버에 실제로 어떤 파일을 가지고 있지 않아도
클라이언트의 요청을 처리할
JAVA 프로그램을 만들어 처리한 후 응답을 넣어줄 수 있다.
1-3 : WS 와 WAS의 차이점
# 요청 방식
- 파일의 이름으로 요청을 보냈던 – WS
- 파일의 이름이 아닌 /hi처럼 url패턴을 매핑해놓은 값을 가지고 요청을 받아 응답 처리해 줄 수 있다. - WAS
- WAS는 WS처럼 정적인 파일 요청도 처리 가능.
# 응답 방식
- 기존에는 실제 파일을 통해 데이터를 응답했지만 - WS
- 실제 파일은 없지만 있는 것처럼 - 어떤 자바 프로그램을 통해 응답하도록 만들어 주자 – 이것이 WAS
- WAS는 실제 존재하는 파일의 요청도 처리할 수 있다.
2. 프레임워크
우리가 배울 프레임워크
2-1 : 프레임워크란?
2-2 : api, library 와 framework 의 차이
api = 어떤 기능 호출하는 것
library = api가 모여있으면 library
vs
framework = 개발자가 편리한 환경에서 개발할 수 있도록 제공하는 툴
이들의 차이는? - 호출의 주체
- 개발자가 직접 어떤 코드를 통해 기능을 호출한다. - api / library
- 개발자가 작성한 코드 뭉텅이를 공장(프레임워크)에 전달 ㅡ 공장이 알아서 처리해준다.- framework
2-3 : 프레임 워크의 객체 생성 방법
- 프레임워크 객체들은 자바 코드로 new xxx(); 이런 식으로 만들지 않는다.
- 그럼 어떻게 만드느냐?
- xml 문서로 만든다!
# tip
# 액션 태그와 지시자 태그의 차이점
실행되는 과정이 다르다
- 지시자 태그의 file 은 – 해당 file의 내용이 모두 복사 붙여 넣기 해서 그 자리에 들어온다.
- 액션 태그는 file에 가서 그 파일이 실행되게 놔두고 – 실행의 결과를 가져와서 보여준다.
즉 – 실행 시점에 관련해서 차이가 있다..
- 지시자 태그는 – 해당 file 가져와서 지금 파일에서 실행한 결과를 나타낸다. ( 서블릿이 1개 만들어진다 )
- 액션 태그는 – 해당 file 가서 쭉 실행하고 결과를 가져와서 보여준다. ( 서블릿이 2개 만들어진다 )
'Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원 > 8월' 카테고리의 다른 글
22.08.31 - [ Mybatis ] 새로운 워크시크에서 Mybatis 공장세우기 (0) | 2022.09.05 |
---|---|
22.08.30 - [ Mybatis ] 시작하기, config파일, mapper파일, SqlSession (0) | 2022.09.03 |
22.08.26 - [ 세미프로젝트 ] 프로젝트 발표 (0) | 2022.09.03 |
22.08.25 - [ 세미프로젝트 ] 코드 리뷰 (0) | 2022.09.03 |
22.08.23 ~ 08.24 [ 세미프로젝트 ] 백엔드 작업 및 마무리 작업 (0) | 2022.09.02 |