ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Web 개발 개요
    Search: WebService WebService 2023. 7. 9. 16:08

     

     

    Web Request&Response

    초기 순수 Web server는 단순하게 요청(request)와 응답(response) 위주로 구성 되어 있었다.

    필요한 정보별 html을 준비해두고 client로부터 단순 요청과 응답을 하면, client에게 필요한 정보를 제공할 수 있다.

    IIS와 Apache같은 제품들이 나와서 그 기능 위주로 제공한다.

     

    그러나 server에서 연산하거나 동적인 변화가 없어 항상 전체 내용이 전달되는 단점이 있다. 또한 요청의 세부 정보에따라 응답 양을 조절할 수 없어 항상 최대양으로 전송하게 된다.

    동적처리를 위해 Was(WebApplicationServer)가 등장했다.

     

    Html

     

    html 기본 구조

     

     

    IIS, Apache

    client가 요청하면 응답하는 정적인 방식이다.

     

    Was(WebApplicationServer)

    동적 처리를 위해 Servlet같은 것들이 등장했다. client의 요청의 내용을 보고 web server는 내용에 따라 필요한 연산을 처리하고 필요한 데이터를 제공할 수 있게 되었다.

     

    Java Servlet이 이에 해당한다. Java코드에 html을 넣는(출력하는)코드로 결과물을 만들어내는 방식이다.

    Tomcat, Jeus등은 Servlet등이 동작하기 위해 필요한 환경이나 기능을 제공하는 제품이다.

     

    Tomcat, Jeus

    Web(iis, apache)에서 request요청을 전달 받으면 Was(tomcat등)은 내부적으로 thread pool에서 하나의 thread가 선택되어 Jsp,Servlet을 실행하는 방식을 가진다.

     

    Tomcat에 포함된 경량Apache는 개발중 또는 간단한 서비스용으로 사용할 수 있다. 그러나 다양한 Web 기능이 필요한 경우 별도의 Apache구성으로 조합해야한다.

     

    Servlet

    Servlet (Java Web Server)

    //test.java
    
    writer.println("<html>");
    writer.println("<head>");
    
    ...
    
    writer.println("name: honggildong");
    writer.println("phone: 000-000-000");
    
    ...

    html내용이나 layout등이 복잡해지면 java소스코드가 많아지고 복잡해져 관리하기 어렵게 되는 단점이 있다.

    그래서 Jsp (Java Server Page)가 나왔다.

     

    Jsp (Java Server Page)

    Jsp(Java Server Pages)

     

    jsp는 html안에 java코드가 들어가는 형태다.

     

    test.jsp 구성 예제

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8" />
        <title>문서의 제목</title>
      </head>
      <body>
        웹페이지에 표시할 내용
        
        <% 여기에 자바 코드 삽입 %>
        <%
          for(...)
          { out.println(i); }
          if()...
        %>
    
      </body>
    </html>

     

    전체적으로 html문법의 구조를 유지하기에 web화면을 구성하고 관리하기 좋다. 그래서 MVC중 View의 역할로 많이 쓰이게 된다.

    test.jsp는 test.java(servlet방식)로 변환되고 컴파일하여 test.class가 만들어 진 뒤 실행 된다.

    ms에서는 test.asp가 비슷한 역할을 한다.

     

    실행되고 client에 전달되는 최종결과물은 html이다. 그러므로 동적 처리는 server side에서만 가능하다. client side에서 처리하려면 JavaScript가 필요하다.

     

    JavaScript

    별도의 script언어로, html에 포함될 수 있는 관계다.

    html속에서 포함되면 client side에서 동적 처리를 가능하게 한다. server side인 Jsp와 반대의 위치다.

     

    javascript(Html script) 기본구조

    TypeScript 소개

     

    Java Se/Ee

    Java Se: Java Standard edition
    Java Ee: Java Enterprise edition

    Se는 Ee보다 대중적인 여러 기능들이 들어가 있다. Web관련으로 본다면 Network기능을 이용해 간단한 Web정도는 가능하지만 Ee가 더 많은 기능을 제공하기에 Ee가 필요하다.

    Ee는 Se의 확장버전으로 Servlet관련 기능과, 웹서비스 규칙, 분산 컴포넌트, (Object Relational Mapping, ORM) 관련, EJB(Enterprise JavaBeans)등이 포함되어 있다.

     

    Java IDE 개발환경 소개

    Java SE, EE, SpringFramework

     

     

    'WebService' 카테고리의 다른 글

    Firebase firebaseConfig 적용  (0) 2023.01.23
    Firebase firebaseConfig(apiKey, authDomain, authDomain, messagingSenderId, appId) 얻기  (0) 2023.01.23
    Firebase Ex  (0) 2023.01.21
    Firebase - Backend application  (0) 2023.01.21
    url 구조  (0) 2023.01.20
    NginX (엔진엑스)  (0) 2023.01.12
    Jsp(Java Server Pages)  (0) 2023.01.11
    Servlet (Java Web Server)  (0) 2023.01.11

    댓글