본문 바로가기
Programming/JSP

[ JSP ] Web Programming 이란? | JSP 동작 원리

by 코뮤(commu) 2020. 5. 5.
728x90
반응형

 

Web Programming ?

 

- 동적으로 변화하는 데이터를 처리하고 표시하기 위해서 개발된 프로그래밍 언어

  : CGI , ASP , PHP , JSP

 

- 웹 프로그래밍은 기본적으로 클라이언트(Client)/ 서버(Server) 방식

 

 

 

 

 

 

 

 

HTML 과 Script

 

 

-HTML : WWW 서비스를 표현하기 위해 사용되는 언어.

 

HTML 은 웹 브라우저가 해석하고, www를 통해 서비스하는 모든 내용은 HTML 로 표현되어야 한다.

HTML 은 텍스트 파일로, 정적인 정보만 처리할 수 있다. 

동적인 컨텐츠를 처리하기 위해서는 CGI, PHP, ASP, JSP 등의 기술이 사용된다.

 

 

 

 

- 클라이언트 스크립트

 

자바스크립트 등이 있고, 웹 브라우저가 스크립트 해석의 주체가 된다.

 

 

 

- 서버 스크립트

 

웹 서버에서 해석 후 HTML 형태로 변환된다. 또한 DB에서 연동 처리 등의 다양한 구현이 가능하다.

 

 

 

 

 

 

 

 

웹 프로그래밍 언어의 종류

 

 

 

1. ASP (Active Server Page)

 

  - VB 언어를 기반으로 스크립트 방식으로 동적인 웹 페이지를 작성할 수 있도록 지원하는 기술

  - ASP 는 ActiveX 라는 제공된 컴포넌트를 사용할 수도 있고, 이것을 직접 개발하기 위한 기능도 제공한다.

  - ASP 의 단점은 특적 플랫폼과 특정 웹 서버에서만 동작한다는 점이다.

    - 오직 Windows 플랫폼, IIS(Internet Information Server) 웹서버만을 사용한다.

 

 

2. PHP (Personal HomePage tools, Professional Hypertext Preprocessor)

 

  - PHP 는 ASP 와 달리 특정 플랫폼에서만 동작하지 않는다.

  - PHP 는 C언어를 기반으로 만들어진 서버에서 실행되는 스크립트 언어로 기존의 C 언어에

    익숙한 개발자들이 쉽게 접근할 수 있다.

  - PHP의 단점은 보안에 취약하여 PHP 기반의 웹사이트가 해킹의 목표가 된다는 것에 있다.

 

 

 

3. Servlet 과 JSP (Java Server Page)

 

  - JSP 와 Servlet 은 자바 기반으로 만들어진 웹 프로그래밍 언어이다.

  - Servlet 이 자바코드에 의존적이라면 JSP는 덜 의존적이라 프로그래밍하기 더 쉽고 편하다.

  - JSP 와 Servlet 은 같은 처리 구조를 가진다.

  - JSP 는 실행 시 Servlet 으로 변환된다. 단 한번만 Servlet 으로 변경 되면 코드를 수정하기 전까지

    재 변환작업이 일어나지 않기 때문에 수행속도가 JSP 와 Servlet 사이에 크게 차이나지 않는다.

 

 

 

 

<JSP>

 

<%@ page contentType="text/html;charset=euc-kr" %>

<HTML>

<HEAD><TITLE>Hello World</TITLE></HEAD>

<BODY><H2>Hello World!</H2>

오늘의 날짜와 시간은 : <%= new java.util.Date() %>

</BODY>

</HTML>

 

 

 

<Servlet>

 

public class CMemberTest extends HttpServlet {

 

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

 

response.setContentType("text/html; charset=EUC_KR");

PrintWriter out = response.getWriter();

out.println("<HTML><HEAD><TITLE>로그인</TITLE></HEAD></HTML>");

out.println<BODY><H2>Hello World!</H2>");

out.println(“오늘의 날짜와 시간은 : “+new java.util.Date());

out.println("</BODY></HTML>");

}

}

 

 

 

 

 

 

 

웹 프로그래밍과 웹 어플리케이션

 

 

- 웹 어플리케이션이란 웹을 기반으로 실행되는 프로그램을 말한다.

- 웹 프로그래밍을 통해 웹 어플리케이션을 구현한다고 할 수 있다.

 

 

 

 

 

 

웹 어플리케이션의 구성 요소 기능
웹 브라우저

웹에서 클라이언트이며, 사용자의 작업창이라고 할 수 있음.

모든 사용자의 요청은 웹 브라우저를 통해 웹서버로 전달됨.

웹 서버

웹 브라우저의 요청을 받아들이는 곳으로, 웹 브라우저가 요청한 작업의 결과를 웹 브라우저에게 응답값으로 넘겨주는 곳.

또한 요청된 페이지의 로직 수행 및 DB와의 연동을 위해 웹 어플리케이션 서버에 처리를 요청하는 작업을 수행함.

웹 어플리케이션 서버 (WAS) 웹 브라우저가 요청한 작업에 필요한 프로그래밍 로직 처리 및 DB 와의 연동을 처리하는 부분. 이때 처리결과를 웹 브라우저로 응답하기 위해서 처리 결과를 웹 서버로 보냄.
DB 데이터의 저장소로 웹에서 발생한 데이터는 모두 이 곳에 저장됨. 사용자 입장에서 가장 안쪽에 있기 때문에 데이터베이스 서버를 Back-end Server 라고도 불림.

 

 

 

 

 

 

웹 어플리케이션 서버(WAS) 작동원리

 

 

- 웹 어플리케이션 서버 방식은 웹 서버가 직접 어플리케이션 프로그램을 처리하는 것이 아니라,

  웹 어플리케이션 서버에게 처리를 넘겨주고 어플리케이션 서버가 어플리케이션 프로그램을 처리한다.

 

- 웹 어플리케이션 서버 방식은 여러명의 사용자가 동일한 페이지를 요청하여 같은 어플리케이션

  프로그램을 처리할 때 오직 한개의 프로세스만을 할당하고 사용자의 요청을 쓰레드방식으로 처리한다.

 

 

 

 

 

 

 

WWW 서비스의 동작 과정

 

 

 

 

 

 

 

 

 

JSP 의 동작과정

 

 

 

 

 

 

 

 

 

728x90
반응형