Servlet?
- Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술
- Servlet은 request와 Response의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 한다
Servlet의 주요 특징
- 클라이언트의 request에 동적으로 작동한다
- HTML을 이용하여 response한다
- Java의 스레드를 이용하여 동작한다
- MVC모델에서 컨트롤러 역할로 이용된다
Servlet Container?
- Servlet을 담고 관리해주는 컨테이너
- 컨테이너는 HttpServletRequest, HttpServletResponse을 생성하여 POST, GET여부에 따라 응답한다
HttpServletRequest
- HTTP포로토콜의 request정보를 servlet에게 전달하기 위한 목적
- 헤더정보, 파라미터, URL 등의 정보를 읽어 드린다
HttpServletResponse
- WAS는 어떤 클라이언트가 요청을 보냈는지 알고 있고, 해당 클라이언트에게 응답을 보내기 위해 객체 생성 후 servlet에 전달하고 이 객체를 활용하여 응답코드, 응답 메시지 등을 전송
Servlet Container의 주요기능
- 생명주기 관리
- 통신 지원
- 멀티 스레딩 관리
- 선언적인 보안관리
JSP?
- HTML코드에 Java코드를 넣어 동적인 웹 페이지를 생성하는 도구
- JSP를 통해 정적인 HTML과 동적으로 생성된 contents(HTTP 요청 파라미터)를 혼합하여 사용한다
- JSP문서는 백그라운드에서 Servlet으로 자동으로 변환된다
JSP의 주요 툭징
- 스크립트 언어이기에 자바 기능을 그대로 사용가능
- WAS에 이미 만들어놓은 객체를 사용한다
ex)request, response 등
- 사용자 정의 태그를 사용하여, 효율적으로 웹 사이트를 구성 가능
- HTML코드 안에 Java코드가 있기 때문에 코드 작성이 쉽다
JSP문법
<% code fragment %>
- 임의의 Java코드를 사용가능