웹프로그래밍이란
요청을 받아 웹 페이지를 찾아서 보내주는 일을 하는 컴퓨터나 프로그램을 웹 서버라고 하고, 요청된 페이지를 받아보는 브라우저나 컴퓨터를 클라이언트라고 한다.
웹프로그래밍 예시
웹 애플리케이션이란
웹 애플리케이션은 웹(인터넷)을 기반으로 실행되는 애플리케이션(프로그램)을 말한다.
즉, 웹 브라우저로 접근하여 사용되는 애플리케이션을 말한다.
웹 프로그래밍(Web Programming)이 바로 웹 애플리케이션을 제작하는 과정을 뜻한다.
정적페이지
브라우저를 통해서 각종 정보를 제공해주는 웹 페이지는 HTML을 이용하여 웹 프로구래밍을 한 것이다. 하지만 HTML만으로는 시시각각 변경되는 새로운 정보를 제공해주지 못한다. 왜냐하면 HTML은 같은 내용만 표시해주는 정적인 페이지이다.
동적페이지
우리가 사용하는 인터넷은 바로바로 새로운 내용을 제공해주어야 하기 때문에 HTML만 가지고 웹 프로그맹이르 하는데는 문제가 있다. 그래서 등장한 것이 동적인 페이지라고 한다.
동적인 페이지는 새로운 정보를 제공해주기 위해서는 방대한 정보를 관리할 데이터 베이스가 필요하다.
동적페이지 예시
게시판에 게시되는 글은 데이터베이스에 저장되었다가 보여주는 것이다. 이렇듯 다양한 정보를 데이터베이스에서 얻거나 저장하기 위해서 등장하 언어가 PHP, ASP, JSP/Servlet 이다.
서버
일반적으로 사용자(클라이언트)의 요청이 들어오면 이에 대한 처리를 한 결과 페이지를 전송하는 웹 서버(Web Server)와 실질적으로 요청한 페이지의 로직이나 데이터 베이스와의 연동을 처리할 수 있는 비즈니스 로직(업무 프로세스)이 구현되어야 하는 웹 애플리케이션 서버(Web Application Server: WAS)로 이루어져 있다.
대표적은 WAS는 BEA사의 웹로직(WebLogic), IBM사의 웹스피어(WebSphere), SUN사의 iPlanet, Oracle사의 9iAS, 티맥스의 제우스(Jeus), 톰캣(Tomcat) 등이 있다.
서버 동작 예시
서버 동작 설명
-
사용자가 브라우저 주소 입력란에 특정 사이트의 주소를 입력 하게 되면 브라우저가 해당 웹 서버에 웹 페이지를 요청하는 것이된다. 단 요청한 페이지가 단순한 정적인 페이지라면 웹 서버에서 바로 클라이언트에게 해당 페이지를 전송한다.
-
해당 웹 서버는 입력된 회원 정보를 웹 애플리케이션 서버(WAS: Web Application Server)로 전송한다.
-
요청한 페이는 웹 서버에서 바로 제공되지 못하고 웹 애플리케이션 서버에서 다양한 로직이나 데이터 베이스와의 연동을 통해서 완성되어야만 제공된다. 웹 애플리케이션 서버는 웹 서버가 클라이언트에게 제공할 페이지를 완성하기 위해, 이에 필요한 로직이나 데이터 베이스와의 연동과 데이터 처리를 담당한다.
-
로직이나 데이터 베이스 작업 처리결과를 웹 애플리케이션 서버에게 보낸다.
-
웹 서버는 이 결과를 다시 클라이언트 측 브라우저에응답하게 된다.
-
회원가입이 성공적으로 이루어졌다면 가입 당시에 입력된 정보를 확인하기 위해서 출력한다. 또는 다음 단계로 진행하도록 출력해준다.
웹 애플리케이션 개발 환경 구축하기
-
JDK(Java Develpment Kit) : 제일 먼저 무료로 제공해주는 자바 개발도구를 다운받아 설치해야한다. 자바는 플랫폼에 독립적이므로 어떠한 플랫폼에서도 설치할 수 있다. (우리는 JDK를 설치하기 위한 개발 플랫폼으로 Windows를 선택.)
-
톰캣(Apache Tomcat) : 톰캣은 아파치와 썬 마이크로시스템즈에서 공동 프로젝트로 만든 웹 애플리케이션 서버이다.
-
이클립스(Eclipse) : 이클립스는 애플리케이션 개발을 위한 코딩과 컴파일을 함께 할 수 있는 종합 개발 툴(IDE)이다. (최근 개발자들이 가장 많이 사용하고 있는 툴)
웹 애플리케이션 작성 방법
'web > JSP' 카테고리의 다른 글
[JSP]JSP 지시자(지시어), 페이지에 공통요소(header,footer) include하기 (0) | 2020.07.20 |
---|---|
[JSP] 쿼리 스트링( 파라미터) (0) | 2020.07.17 |
[JSP]서버 오류코드의 의미-상태 코드(Status Code) (0) | 2020.07.17 |
서블릿 동작 과정 (0) | 2020.07.15 |
서블릿(Servlet) (0) | 2020.07.14 |
댓글