본문 바로가기
프로그래밍 놀이터/Web

Chap 05. 필수 이해 요소

by 돼지왕 왕돼지 2015. 1. 4.
반응형

Chap 05. 필수 이해 요소


* JSP의 처리 과정


클라이언트의 요청


-> 서블릿 없는 경우 -> JSP 페이지 -> 컴파일된 자바 소스 코드 참조


-> 서블릿이 있는 경우 -> 서블릿에 요청 전달 -> 요청결과 전송




* 출력 버퍼와 응답


JSP 페이지는 생성된 결과를 곧바로 웹 브라우저에 전송하지 않고, 출력 버퍼( buffer ) 라고 불리는 곳에 임시로 출력 결과를 저장했다가 한번에 웹 브라우저에 전송한다.


buffer 를 이용하는 장점은 다음과 같다.

- 데이터 전송 성능 향상

- JSP 실행 도중 버퍼를 비우고 새로운 내용으로 대체하여 전송할 수 있다.

- 버퍼가 다 차기 전까지 헤더를 계속 변경할 수 있다.



-

page 디렉티브에서 버퍼 설정하기 : buffer 속성과 autoFlush 속성


<%@ page buffer = "4kb" autoFlush="true" %>


buffer 크기를 킬로바이트 단위로 지정할 수 있다. 꼭 kb 단위를 붙여주어야 한다.

buffer 속성을 지정하지 않은 경우는 기본적으로 최소 8KB 이상의 크기를 갖는 버퍼를 사용한다.

실험 결과 대부분의 출력 결과가 8KB 내외이고, 8KB 일때 평균적으로 가장 높은 성능을 보였기 때문.


buffer 를 사용하지 않을 경우에는 none 을 지정해주면 된다.



autoFlush 값이 true 일때는 버퍼가 가득 찼을 때, 내용을 브라우저에 전송한 후 계속 처리를 진행한다.

false 일 때는 예외를 발생시키고 작업을 중지한다.




* 웹 어플리케이션 디렉터리 구성과 URL 매핑


기본적인 디렉토리 구조는 


WEB-INF - classes

  - lib


WEB-INF 폴더에는 web.xml 파일이 위치한다.

WEB-INF/classes 폴더에는 자바 클래스 파일들이 위치한다.

WEB-INF/lib 폴더에는 jar 파일들이 위치한다.


서블릿 2.5/JSP 2.1 이후로부터는 web.xml 이 필수는 아니다.


단, 다음의 경우에는 web.xml 을 넣어줘야 한다.

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

- 리스너(Listener)를 직접 설정하는 경우

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




* 웹 어플리케이션의 배포


개발된 웹 어플리케이션을 실 서버에 배포하는 방법은 크게 다음 2가지 방법


- 대상 디렉터리에 파일들 직접 복사

- war 파일로 묶어서 배포



-

war 파일을 이용한 배포

war 는 Web Application Archive 의 약자로 웹 어플리케이션 구성 요소를 하나로 묶어 놓은 파일이다.

webapps 하위폴더에 복사하면 끝!








반응형

댓글