[TIL] 2020.07.13_TIL-200713

To-Do

  • [복습] JSP Architecture 이해
  • [목업] 최종프로젝트 목업 수정

TIL

리눅스 진도가 모두 끝나고 WEB 수업을 다시 시작했다. 지난번에 배웠던 Servlet 복습과 JSP 기본적인 개념과 코드작성 진도를 나갔다. 첫 시간인 만큼 JSP Architecture를 확실히 이해하는데 시간을 쏟았다.

JSP(Java Server Pages)

  1. 개념
    • Java 언어를 기반으로 하는 Server Side 스크립트 언어
    • HTML 코드에 Java 코드를 넣어 동적인 웹 페이지를 생성하는 웹 어플리케이션 도구
    • JSP를 통해 정적인 HTML과 동적으로 생성된 contents(HTTP 요청 파라미터)를 혼합하여 사용할 수 있다.
    • 즉, 사용자가 입력한 contents에 맞게 동적인 웹 페이지를 생성한다.
    • 서블릿 기술을 확장한 것이 JSP이다.
      • 서블릿을 보완한 스크립트 방식 표준
      • 서블릿의 모든 기능 + 추가적인 기능 제공
      • All features of Servlet + Implicit object, predefined tags, expression language, custom tags
  2. JSP의 내부적인 동작 과정

    • JSP 문서는 백그라운드에서 Servlet으로 자동으로 변환된다.
    • WAS는 변환한 Servlet을 동작하여 필요한 기능을 수행한다.
      • WAS는 사용자 요청에 맞는 적절한 서블릿 파일을 컴파일(.class 파일 생성)한다.
      • class 파일을 메모리에 올려 서블릿 객체를 만든다.
      • 메모리에 로드될 때 서블릿 객체를 초기화하는 init( ) 메소드가 실행
      • WAS는 Request가 올 때마다 thread를 생성하여 처리
      • 각 thread는 서블릿의 단일 객체에 대한 service( ) 메서드를 실행
      • service( ) 메소드는 요청에 맞는 적절한 메소드(doGet( ), doPost( )등)을 호출
    • 수행 완료 후 생성된 데이터를 웹 페이지와 함께 클라이언트로 응답한다.
  3. JSP의 특징

    • 스크립트 언어이기 때문에 자바 기능을 그대로 사용할 수 있다.
    • 톰캣이 이미 만들어놓은 객체(predefined values)를 사용한다.
    • ex) request, response, session 등
    • 사용자 정의 태그(custom tags)를 사용하여, 보다 효율적으로 웹사이트를 구성할 수 있다.
    • HTML 코드 안에 Java 코드가 있기 때문에 HTML 코드를 작성하기 쉽다.
    • 서블릿과 다르게 JSP는 수정된 경우 재배포할 필요 없이 톰캣이 알아서 처리해준다.
  4. Predefined Values(또는 Implicit Object)
    • 미리 정의된 객체로, WAS가 제공하는 객체를 의미
      • request : the HttpServletRequest Object
      • response : the HttpSerlvetResponse Object
      • session : the HttpSession Object
      • out : the PrintWriter Object
      • application : the ServletContext Object

태그: ,

카테고리:

업데이트:

댓글남기기