본문 바로가기

프로그래밍/JSP

[JSP 요약 정리] 5. 필수 이해 요소

5. 필수 이해 요소

1) JSP처리 과정

- WAS에 JSP 페이지에 대한 요청이 들어올 경우 다음과 같이 처리한다

- JSP에 해당하는 서블릿 미존재시

JSP 페이지로부터 자바 코드를 생성 // 변환(translation)

자바 코드를 컴파일해서 서블릿 클래스를 생성 // 컴파일(compile)

서블릿에 클라이언트 요청을 전달

서블릿이 요청 처리한 결과를 응답으로 생성

응답을 웹 브라우저에 전송


- JSP에 해당하는 서블릿 존재시

서블릿에 클라이언트 요청 전달

서블릿이 요청 처리한 결과를 응답으로 생성

응답을 웹 브라우저에 전송


*JSP를 변환한 서블릿 경로: 톰캣\work\Catalina\localhost\프로젝트\org\apache\jsp


2) 출력 버퍼와 응답

- JSP 페이지는 응답 결과를 출력 버퍼(buffer)에 임시 저장 후 한꺼번에 웹브라우저에 전송

- 장점

데이터 전송 성능 향상

JSP 실행 도중 버퍼를 비우고 새로운 내용 전송 가능

버퍼를 다 채우기 전까지 헤더 변경 가능

- page 디렉티브를 통한 버퍼 설정 방법

<% page buffer="버퍼용량" autoFlush="자동비움 여부" %>


3) 웹 어플리케이션 폴더 구성과 URL 매핑

- 웹 어플리케이션 폴더: WEB-INF 및 하위폴더(classes, lib)

*톰캣의 webapps 폴더 내 존재


- web.xml 파일을 작성해야하는 경우

서블릿을 직접 설정하는 경우

리스너를 직접 설정하는 경우

특정 URL에 속하는 JSP들에 대해 공통 속성값을 설정하는 경우


4) 웹 어플리케이션 배포

- 웹어플리케이션을 WAS에 배포하는 방법

대상 폴더에 파일을 직접 복사 // 톰캣의 webapps 폴더에 파일을 직접 복사

war파일로 묶어서 배포 // 톰캣의 webapps 폴더에 war파일 복사


- war(Web Application Archive) : 웹 어플리케이션의 구성 요소를 하나로 묶어놓은 파일

-> JDK의 jar.exe 파일을 통해 생성 가능(대상 폴더에서 jar cvf chap04.war *)