본문 바로가기
Web/JSP

JSP

by Jacob93 2017. 1. 17.

오늘은 JSP(JavaServer Pages)에 대해서 알아보도록 하겠습니다.


JSP에 대해서 알기 전에 웹 프로그래밍웹 어플리케이션을 먼저 구분해 보도록 하겠습니다.


웹 프로그래밍이란?


웹 어플리케이션을 구분하는 행위 입니다.


그렇다면 웹 어플리케이션이란 무엇일까요?


웹 어플리케이션이란 웹을 기반으로 작동되는 프로그램을 말합니다. 


따라서 쉽게 말해서 웹 프로그래밍은 HTML5를 말하는 것이고 웹 어플리케이션이란 JSP, ASP, PHP 등 을 말합니다.


그렇다면 웹 프로그램은 어떻게 동작을 할까요??


먼저 Client가 주소창에 인터넷 주소를 치게 되면 웹서버에 Request가 되게 됩니다. 그러나 웹서버는 바로 응답을 해주지 못합니다.


데이터 베이스의 내용을 가져오기 위해 웹어플리케이션 서버로 요청을 하게됩니다. 


웹어플리케이션에서 데이터베이스로 가서 정보를 가지고 다시 웹서버로 내용을 보내주게 됩니다.


그러고 난 후에 Client에게 Response해주게 되는 방식입니다.


그림으로 나타내보면 이렇게 됩니다.


다음은 프로세스스레드의 개념을 정리하도록 하겠습니다.


Process(프로세스)란?


실행중인 프로그램을 말합니다. 그렇다면 프로그램이란? 명령어들의 집합을 말합니다.


운영체제(OS)는 프로그램을 프로세스 단위로 메모리를 관리합니다.


프로세스는 Code 영역, Data 영역, Stack 영역, Heap 영역으로 나누어집니다.


Code 영역은 실행파일(exe, bin, com 등)을 구성하는 명령어들이 올라가는 메모리 영역을 말합니다.


Data 영역은 전역변수, static변수의 할당을 위해 존재하는 영역을 말합니다.


Stack 영역은 함수 내 지역변수, 함수 호출시 전달되는 인자(파라미터)값들의 저장을 위해 존재하는 영역입니다.


Heap 영역은 동적할당을 위해 존재하는 영역으로 프로그래머가 할당하게 됩니다.


그럼 이번엔 Thread(스레드)에 대해서 알아보겠습니다.


Thread(스레드)란?


프로세스내 실행되는 흐름의 단위입니다.


하나의 프로세스는 하나의 스레드를 가지지만, 환경에 따라 두개 이상의 스레드를 가질 수 있습니다. 이러한 경우를 멀티 스레드라 부릅니다.


스레드는 독립적은 Stack 영역을 가지고 Code, Data, Heap역역을 서로 공유합니다.


그래서 스레드가 프로세스보다 더 효율적인 방법이라 할 수 있습니다. (메모리를 적게 차지하기 때문에...)


오늘은 여기까지 하도록 하겠습니다.


읽어주셔서 감사합니다! 

'Web > JSP' 카테고리의 다른 글

자바 및 이클립스 설치법  (0) 2017.01.22
JSP 개발환경  (0) 2017.01.19

댓글