JSP(Java Server Page) 개념 DEV / WEB
2018-08-20 posted by sang12
- JSP란?
구글에서 JSP로 검색을 해보면
-> JAVA SERVER PAGES의 약자로 서버사이드에서 동작하는 언어이다.
-> HTML 코드에 JAVA 코드를 넣어 웹서버에서 동적으로 웹페이지를 만들어준다.
라는 설명들을 볼 수 있습니다. 해당 설명만을 보고도 이해가 가는 분들은 해당 글을 읽을 필요가 없습니다.
JSP를 알기위해서 우리는 우선적으로 HTML이 무엇인지 알 필요가 있습니다.
HTML이란 Hyper Text Markup Language의 약자로 마크업 언어입니다. 그럼 마크업 언어(markup language)란 무엇일까요? 태그등을 사용하여 문서의 구조를 표현하는언어입니다. 태그등을 사용하여 문서의 구조를 표현한다..? 직접 확인해봅시다. 지금 보고있는 화면도 실제로는 HTML로 명시된 규약에 따라 웹브라우저가 해당 태그를 해석하여 화면을 보여주고 있는데 F12를 눌러 개발자 모드에서 봐봅시다. <html>로 시작해서 </html>로 끝나는 HTML 코드를 볼 수 있습니다. 자.. 그러면 저희가 정상적으로 웹사이트를 보기위해선,어떤 액션을 취했을때(URL 입력/화면 이동 등) 규약에 맞는 HTML언어를 받아 와야 정상적인 화면을 출력해 줄 수 있겠죠? 물론 HTML언어만 사용되지는 않고 더욱 동적이고 스타일리쉬한 페이지를 만들기 위해 CSS/JAVASCRIPT와 같은 스타일시트/스크립트 언어도 사용됩니다. 일단 HTML 설명은 여기까지면 된거 같고, HTML언어의 태그 사용 방법등은 검색해보시면 많은 자료를 볼 수 있으실 겁니다.
그럼 이제 다시 JSP로 돌아와서, JSP란 무엇일까요?
이를 설명하기 위해 하나의 예를 들겠습니다. 블로그에 하루에 1편씩 연재되는 웹툰페이지를 만들었습니다. 이때 HTML만을 사용해서 서비스를 하고자 한다면 사용자가 sang12.co.kr/webtoon/list 란 URL로 들어 왔을 때 서버에서 웹툰 리스트를 볼 수 있는 HTML을 만들어 브라우저에게 전달하는 방법을 생각해 볼 수 있습니다. 그렇다면 웹툰은 하루에 1편씩 연재가 되니, 하루가 지날때마다 새로운 웹툰을 포함란 리스트의 HTML을 다시 만들어 사용자에게 전달해야 사용자는 새로 연재된 웹툰을 볼 수가 있습니다. 상상만해도 엄청 불편합니다. 하루에 1편은 큰맘먹고 할 수있다고 하나, 웹툰이 많아 질수록 작업량은 커질겁니다.
그렇다면 JSP를 이용하면 어떻게 될까요? 사용자가 sang12.co.kr/webtoon/list란 URL로 접속하면 웹서버는 웹툰 정보가 저장 되어있는 데이터베이스(Database)에 접근하여 웹툰 리스트를 가져와 webtownList.jsp란 뷰로 가져온 데이터를 전달합니다. 실제로는 서버에는 webtownList.jsp가 자바로 변환되어 있으며 전달 받은 데이터를 JSP에 명시된 문법에 맞춰 셋팅해주고, 최종적으로 html로 사용자에게 반환하게 됩니다.
자, 그럼 다시 구글에서 검색한 JSP의 설명을 봐봅시다.
-> HTML 코드에 JAVA 코드를 넣어 웹서버에서 동적으로 웹페이지를 만들어준다.
-> JAVA SERVER PAGES의 약자로 서버사이드에서 동작하는 언어이다.
위의 예를 바탕으로 본다면, 실제로 JSP가 사용되는 부분은 서버라는 것을 알 수 있습니다. 또한 매일 HTML파일을 변경 해 줄 필요 없이 셋팅되는 웹툰을 가져와 HTML 코드를 더욱 동적으로 만들어 사용자에게 전달 할 수 있습니다. 이로인하여 개발자가 얻을 수 있는 장점은 무엇일까요?