language/Servlet&JSP
-
서블릿(Servlet)의 동작구조language/Servlet&JSP 2019. 2. 15. 10:15
웹 서버의 주된 기능은 웹 페이지를 클라이언트로 전달하는 것입니다. 주로 그림, CSS, 자바스크립트를 포함한 HTML 문서가 클라이언트로 전달됩니다. 하지만 이런 웹 서버의 경우 이미 존재하는 즉, 정적인 페이지를 제공하는 역할만 할 수 있습니다. 실시간으로 작성된 페이지를 제공하거나 서버 상에 데이터를 저장하는 것은 웹 서버가 할 수 없는 일입니다. 때문에 이런 역할을 해 주는 다른 도우미 애플리케이션이 필요합니다. 이런 도우미 애플리케이션을 사용하면 웹 서버는 도우미 애플리케이션에 요청을 전달하기만 합니다. 그러면 도우미 애플리케이션은 요청받은 작업을 수행하거나 정적인 페이지를 만들어서 웹서버로 전달합니다. 웹서버는 이를 다시 클라이언트로 전해줍니다. 자바에서는 이 역할을 해 주는 것이 서블릿입니다..
-
HTTP 프로토콜 요청/응답language/Servlet&JSP 2019. 2. 15. 10:10
이제 java를 웹의 세계로 확장시켜 보도록 하겠습니다. 인터넷이나 인트라넷을 통해 웹브라우저에서 이용할 수 있는 소프트웨어를 웹 애플리케이션이라고 합니다. 웹 애플리케이션의 장점은 사용자의 컴퓨터에 굳이 소프트웨어를 배포해서 설치하지 않아도 유지 관리할 수 있다는 것입니다. 웹 애플리케이션은 이메일, 전자상거래, 인터넷 게시판, 게임 등 다양한 기능을 구현할 수 있습니다. 웹 애플리케이션이 동작하는 방식은 위 그림과 같습니다. 클라이언트가 웹브라우저를 통해 웹 서버에 필요한 자원을 요청합니다. 그러면 서버에서 사용자가 요청한 것을 넘겨 주게 됩니다. 자원(resource)이라고 하는 것은 HTML 페이지나 그림파일 혹은 PDF 파일이 될 수도 있습니다. 중요한 것은 클라이언트가 요청하면 서버는 그 요청..
-
스레드(Thread)의 실행제어language/Servlet&JSP 2019. 2. 15. 10:08
멀티스레드 환경이라는 것은 다시말해 호출 스택이 여러개 존재하는 것이다 라는 이야기를 지난번에 했었습니다. 하지만 실제로 이렇게 만들어진 다중 스택들은 동시에 작업을 수행하는 것이 아니고 싱글 코어 환경이거나 혹은 스레드의 숫자가 코어의 숫자보다 더 많은 경우에는 스레드 스케줄러에 의해서 순차적으로 번갈아 가며 작업이 수행되게 됩니다. JVM은 우선순위(Priority)방식과 순환할당(Round-Robin)방식을 사용해 스레드 스케줄링을 합니다. 우선순위 방식은 우선순위가 높은 스레드에 더 많은 시간을 할당하는 방법이고, 순환할당 방식은 각각의 스레드에 정해진 시간만큼을 할당하고 돌아가면서 수행하는 것을 의미합니다. 우선순위 방식을 통해 해당하는 스레드의 할당 시간을 조절하려면 Thread 클래스에 있는..