[TIL] 2020.07.13_TIL-200713
To-Do
- [복습] JSP Architecture 이해
- [목업] 최종프로젝트 목업 수정
TIL
리눅스 진도가 모두 끝나고 WEB 수업을 다시 시작했다. 지난번에 배웠던 Servlet 복습과 JSP 기본적인 개념과 코드작성 진도를 나갔다. 첫 시간인 만큼 JSP Architecture를 확실히 이해하는데 시간을 쏟았다.
JSP(Java Server Pages)
- 개념
- Java 언어를 기반으로 하는 Server Side 스크립트 언어
- HTML 코드에 Java 코드를 넣어 동적인 웹 페이지를 생성하는 웹 어플리케이션 도구
- JSP를 통해 정적인 HTML과 동적으로 생성된 contents(HTTP 요청 파라미터)를 혼합하여 사용할 수 있다.
- 즉, 사용자가 입력한 contents에 맞게 동적인 웹 페이지를 생성한다.
- 서블릿 기술을 확장한 것이 JSP이다.
- 서블릿을 보완한 스크립트 방식 표준
- 서블릿의 모든 기능 + 추가적인 기능 제공
- All features of Servlet + Implicit object, predefined tags, expression language, custom tags
-
JSP의 내부적인 동작 과정
- JSP 문서는 백그라운드에서 Servlet으로 자동으로 변환된다.
- WAS는 변환한 Servlet을 동작하여 필요한 기능을 수행한다.
- WAS는 사용자 요청에 맞는 적절한 서블릿 파일을 컴파일(.class 파일 생성)한다.
- class 파일을 메모리에 올려 서블릿 객체를 만든다.
- 메모리에 로드될 때 서블릿 객체를 초기화하는 init( ) 메소드가 실행
- WAS는 Request가 올 때마다 thread를 생성하여 처리
- 각 thread는 서블릿의 단일 객체에 대한 service( ) 메서드를 실행
- service( ) 메소드는 요청에 맞는 적절한 메소드(doGet( ), doPost( )등)을 호출
- 수행 완료 후 생성된 데이터를 웹 페이지와 함께 클라이언트로 응답한다.
-
JSP의 특징
- 스크립트 언어이기 때문에 자바 기능을 그대로 사용할 수 있다.
- 톰캣이 이미 만들어놓은 객체(predefined values)를 사용한다.
- ex) request, response, session 등
- 사용자 정의 태그(custom tags)를 사용하여, 보다 효율적으로 웹사이트를 구성할 수 있다.
- HTML 코드 안에 Java 코드가 있기 때문에 HTML 코드를 작성하기 쉽다.
- 서블릿과 다르게 JSP는 수정된 경우 재배포할 필요 없이 톰캣이 알아서 처리해준다.
- 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
- 미리 정의된 객체로, WAS가 제공하는 객체를 의미
댓글남기기