자바 웹 프로그래밍

gojaebeom·2021년 3월 30일
0
post-thumbnail

이전 자바 카테고리 에서는 자바 언어를 배우고 자바 프로그램을 만드는 과정을 진행하였다.

하지만 자바의 주 사용 목적은 웹 프로그램을 만드는 것이고 앞으로 자바 웹 프로그램을 만드는 것을 목표로 할 것이다.

그렇다면 자바 프로그램과 자바 웹 프로그램은 다른점이 무엇일까? 먼저 자바 프로그램은 콘솔, 윈도우를 통해 사용자가 입, 출력을 하여 프로그램과 상호작용을 하는 것을 말한다.

지금까지 다루었던 예제들은 IDE에서 지원하는 터미널이나 콘솔창등을 통해 Scanner로 입력을 받거나 출력받아 볼 수 있었을 것 이다.

웹 프로그램은 말 그대로 웹을 통하여 사용자와 상호작용을 하는 프로그램이다. 콘솔을 통해 입력을 받고 결과를 출력 받는 곳이 웹의 브라우저로 바뀐것 뿐이다.

웹 서버(web server)

클라이언트에서 웹서버에게 주소(url)를 가지고 통신규칙(http)에 맞게 요청하면 그에 따른 응답을 받는다. 여기서 응답은 보통 정적인 html문서를 보여주게 된다.

여기서 문제가 발생한다. html은 프로그래밍 언어가 아니다. 정적인 파일이다보니 데이터의 변화를 줄 수 있는 방법이 없는 것이다. 이때 웹 어플리케이션 서버가 등장한다.

웹 어플리케이션 서버(WAS: web applicatioin server)

웹 어플리케이션이란?
- 웹에서 실행되는 응용 프로그램

그렇다면 웹 어플리케이션 서버는 다음같이 설명할 수 있다.

  • 웹 어플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크이다.
  • 웹 어플리케이션을 실행시켜 필요한 기능을 수행하고 그 결과를 웹 서버에게 전달한다.

위의 이미지에서 알 수 있듯 동적인 기능을 서비스하기 위해서 WAS를 이용하여 Servlet을 활용하는 것을 볼 수 있다.

서블릿(Servlet)

서블릿은 서버 쪽에서 실행되고 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스 를 말한다.

서블릿의 특징

  • 서버쪽에서 실행되면서 기능을 수행

  • 기존의 정적인 웹 프로그램의 문제점을 보완

  • 스레드 방식으로 실행

  • 자바로 만들어짐

  • 컨테이너에서 실행

  • 컨테이너 종류에 상관없이 실행됨(플랫폼 독립적)

  • 보안 기능을 적용하기 쉬움

  • 웹 브라우저에서 요청 시 기능을 수행함

    다음 글 부터 본격적으로 servlet 예제들을 다루도록 하겠다.

profile
게으른 개발자 🦥

0개의 댓글