JSP 필수 이해 요소



1. JSP 처리 과정








2. 출력 버퍼와 응답


출력 버퍼 - JSP가 생성한 응답 결과를 임시로 저장


출력 버퍼의 장점

- 데이터 전송 성능 향상

- 버퍼가 다 차기 전까지 헤더 변경 가능

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




page 디렉티브의 buffer 속성


buffer 속성 : 버퍼 사용 여부 및 크기 지정

<%@ page buffer="8kb" %> : 버퍼 크기를 8Kbyte로 지정

<%@ page buffer="none" %> : 버퍼 사용 안 함

<jsp:forward> 사용 못함, 출력 내용 취소 불가


버퍼 처리 과정


플러시(Flush) : 버퍼가 다 찼을 때 버퍼에 쌓인 데이터를 실제로 전송(저장)되어야 할 곳에 전송(저장)하고 버퍼를 비우는 것.



page 디렉티브의 autoFlush 속성

버퍼가 다 찼을 때 처리 방식 지정
<%@ page buffer="1kb" autoFlush="false" %>
true : 버퍼가 다 찼을 경우 버퍼를 플러시하고 계속해서 작업을 진행한다.
false :버퍼가 다 찼을 경우 예외를 발생시키고 작업을 중지한다.




웹 어플리케이션 디렉터리 구성

일반적 구성


디렉터리 설명
WEB-INF : web.xml 파일이 위치
WEB-INF\classes : 웹 어플리케이션에서 사용하는 클래스 파일이 위치
WEB-INF\lib : 웹 어플리케이션에서 사용하는 jar 파일이 위치
JSP 2.1(서블릿2.5)부터는 web.xml 파일 선택적 필요
- 필요한 경우는 교재
(Note) 참고


웹 어플리케이션 디렉터리와 URL의 관계


웹 어플리케이션 디렉터리 이름 → 컨텍스트 경로

컨텍스트 경로 → URL

예) 컨텍스트 경로가 /chap02인 경우     URL은 http://host:port/chap02로 매핑


톰캣의 경우 [톰캣]\webapps 디렉터리에 어플리케이션 디렉터리 위치




웹 어플리케이션 배포
보통 두 가지 방식으로 배포한다.

1) 대상 디렉터리에 직접 복사
2) war 파일로 묶어서 배포
톰캣의 경우 [톰캣]\webapps에 war 파일 복사
war 파일의 이름이 보통 컨텍스트 경로가 됨

컨테이너에 따라 배포 툴을 제공하기도 함






Posted by netyhobby
,