정적 웹 페이지 동작
1. 사용자가 브라우저에 url(서버,페이지 등)을 입력하면 브라우저는 서버에다가
특정 페이지(html 등)를 달라고 요청합니다.
2. 이 때 서버는 미리 페이지(html 등)를 미리 만들어 놓은 상태이고
브라우저가 요청한 페이지(html 등)를 전달합니다.
(브라우저가 요청한 페이지를 서버가 미리 만들어 놓지 않았다면 에러가 발생합다)
3. 브라우저는 전달받은 페이지(html 등)을 해석해 사용자에게 화면으로 보여줍니다.
html,javascript등으로 웹 사이트를 만들어 봤을텐데 대체 java와 오라클은 왜 배운것일까요?
웹 사이트를 만드는데 java와 오라클은 어디에 사용될까요?
그걸 알아보기 위해 정부24 홈페이지의 자료실로 가보겠습니다.
https://www.gov.kr/main?a=AA100DataDownListAppNew
여기서 주목할 건 밑에 있는 번호와 상단의 url주소입니다.
1,2,3 ~~10 을 누를 때마다 url이 바뀌는 걸 볼 수 있고 또
해당글을 누를 때마다 url이 바뀌면서 서로다른 상세화면을 볼 수 있습니다.
url이 바뀐다는건 브라우저가 정부24서버에 계속 요청을 보내고
정부24서버는 계속 그 요청을 처리한다는 것입니다.
이 때 과연 정부24서버는 1~10에 해당하는 웹 페이지를 미리 만들어 놓았을까요?
당연히 아닙니다.
저렇게 많은 페이지를 미리 다 만들어 놓기가 사실상 쉽지않습니다.
그래서 이렇게 요청에 따른 수 많은 페이지를 제공하기 위해 동적인 웹 페이지 방식이 등장했습니다.
동적 웹 페이지 동작
1. 사용자가 브라우저에 url을 입력하면 브라우저는 서버에다가 해당 url에 맞게 요청을 합니다.
2. 동적 웹 서버는 요청에 맞게 페이지를 새로 생성해서 브라우저에게 전달합니다.
3. 브라우저는 전달받은 페이지(html 등)을 해석해 사용자에게 화면으로 보여줍니다.
이 때 우리는 요청에 따라 DB에서 서로다른 데이터를 뽑아 화면에 보여주기 위해 java와 오라클을 배운겁니다.
이렇게 JAVA,HTML(화면)이 모두 필요하고 이를 합친게 JSP입니다.
JSP 란 JavaServer Pages 의 약자이며 HTML 코드에 JAVA 코드를 넣어
동적웹페이지를 생성하는 웹어플리케이션 도구입니다.
또 아파치는 정적 웹서버이기때문에 동적 웹페이지처럼 동작할 수 없습니다.
따라서 동적 서버인 WAS(WEB Application Server)인 Tomcat을 사용할 것입니다.
이렇게 jsp,톰캣을 사용해 동적 웹 페이지를 제공해주는
웹 사이트를 만드는게 저희 최종목표입니다.
DB에서 데이터를 가져와 보여주고 수정하고 삭제하기도하고
또 새로운 글을 등록하기도 할 것입니다.(CRUD)
로그인 여부에 따라 특정 기능을 이용할 수 있거나 못하거나 하게 할 것입니다.
※동적 웹 페이지는 요청에 따라 WAS(WEB Application Server)가
페이지를 새로 생성한다는 의미의 동적.
javascrip는 이렇게 만들어진 페이지 내에서
브라우저가 서버에 새로 요청하는거 없이(ajax제외)
버튼클릭 등의 이벤트를 통해 페이지가 동적으로 움직이게 해준다는 의미에서의 동적.
※톰캣(서버)은 java,jsp를 이용해 브라우저에게 html을 그때 그때 만들어서 전달.
브라우저(크롬,익스폴로어)는 html을 받음.
브라우저는 서버가 어떻게 나한테 데이터를 주는지 관심없음.
서버가 자바를 이용하든,C를 이용하든
브라우저입장에서는 html을 받아서 해석 후 화면에 띄우는 역할만 함.
물론 브라우저는 html뿐만아니라 text,json,xml 데이터등을 받을 수도 있지만
일단은 html만 해석할 줄 안다고 생각합시다.