포워딩
- 서블릿 프로그래밍시 서블릿끼리 혹은 서블릿과 JSP사이에 정보를 공유하거나 정보를 전달하는 등의 연동 작업이 필요할 때 사용하는 기능이다.
- 한마디로 포워딩이 없다면, 서로 다른 서블릿이나 JSP는 정보교환이나 요청 전달등의 연동 작업이 불가하다. 따라서 프로그래밍 시 포워딩은 필수적이며 핵심적인 기능이라 할 수 있다.
dispatch 포워딩 = 포워딩
: 클라이언트 서버의 브라우저를 거치지 않고 서버에서 서버로 바로 포워딩 진행
바인딩
: 연결 짝짓기 맵핑
바인딩 범위
에러종류
서블릿 속성과 스코프
filter API
필터
응답 필터 사용
Listener API
- 서블릿에서 발생하는 이벤트에 대해서 처리를 할수 있는 기능
JSP
- 서블릿에서는 자바코드를 기반으로 문자열을 이용해 HTML과 자바스크립트로 화면을 구현했음
- JSP는 이와 반대로 HTML,CSS와 자바스크립트를 기반으로 JSP요소들을 사용해 화면을 구현함
JSP의 문제점
- 웹프로그램의 화면기능이 복잡해지므로 서블릿의 자바기반으로 화면기능 구현시 어려움이 발생함
- 디자이너 입장에서 화면 구현시 자바코드로 인해 작업이 어려워짐
- 서블릿에 비지니스 로직과 화면 기능이 같이 있다보니 개발후 유지관리가 불편함
해결책 -> MVC패턴
- 서블릿의 비즈니스로직과 결과를 보여주는 화면을 분리
- 비지니스 로직과 화면을 분리함으로써 개발자는 비즈니스 로직구현에 집중하고 디자이너는 화면 기능 구현에만 집중
- 개발후 재사용성과 유지관리가 훨씬 수월해짐.
JSP의 구성요소
- HTML태그 CSS태그 그리고 자바스크립코드
- JSP 기본태그
- JSP 액션태그
- 개발자가 직접 만들거나 프레임워크에서 제공하는 커스텀(Custuom) 태그
톰캣 컨테이너에서 JSP 변환과정
- 변환 단계(Translation Step) : 컨테이너는 JSP 파일을 자바 파일로 변환
- 컴파일 단계(Compile Step) : 컨테이너는 변환된 java 파일을 class 파일로 컴파일
- 실행 단계(Interpret Step) : 컨테이너는 class 파일을 실행 하여 그 결과(HTML, CSS, 자바스크립트 코드)를 브라우저로 전송해 출력
JSP페이지 구성요소
디랙티브 태그
디랙티브 태그의 종류
- 페이지 디렉티브 태그
- 인클루드 디렉티브 태그
- 태그 라이브 디랙티프 태그
페이지 디렉티브 태그 정의와 사용법
- JSP 페이지의 여러가지 속성을 설정하는데 사용
페이지 디렉티브 태그 사용형식
인클루드 디렉티브 태그 정의와 사용법
- 여러 웹 페이지에서 공통으로 사용되는 JSP페이지를 미리 만들어놓고 요청시 부모 웹페이지에 추가해서 용하는 방법
특징
- 재사용성이 높다
- JSP 페이지의 유지 관리가 쉽다.
인클루드 디렉티브 태그 사용형식
인클루드 디랙티브 태그 실행 과정
- 인클루드 디렉티브 태그를 이용해 JSP페이지를 요청하면 요청하는 JSP페이지에 대해 실행하는 자바 파일은 단 한개만 생성됨
JSP스크립트 요소, 기능
JSP 스크립트 요소(Scripting Element)
스크립틀릿 종류
선언문(Declaration Tag)
선언문 형식
<%! 멤버 변수 OR 멤버 메서드 %>