Web
[공부] JSP
아이탬
2020. 5. 4. 22:10
JSP
- 특징
- 프레젠테이션 로직과 비즈니스 로직의 분리
- 웹 페이지의 디자인이 변경되더라도 내부 비즈니스 로직을 처리하는 코드를 변경할 필요가 없는 장점
- 비즈니스 로직의 Javabeans컴포넌트 모델을 통하여 구현할 수 있다.
- 컴포넌의 재사용 : 공통적으로 사용되는 컴포넌트를 만들어서 재사용할 수 있다.
- JSTL, EL, 커스텀 태그 등을 활용한 개발 용이성
- JSTL (Java Statandard Tag Library)
- EL (Expression Language)
- 서버 자원의 효율적 관리
- 최초 요청시 컴파일을 통해서 서브릿이 구성되고 메모리에 적재
- 이후, 이미 적재되어 있는 서블릿에서 바로 응답 줍니다.
- 처리과정
- 최초요청시 JSP파일을 서블릿으로, 서블릿클래스 컴파일 클래스파일을 메모리에 적재
- 재요청시 적재된 Servlet클래스 이용합니다.
- 스크립팅 요소
- scriptlet : 자바코드 구현, 로컬변수
- declaration : 변수, 메소드 선언 사용
- expression : 간단한 데이터 출력이나 메소드 호출을 통한 데이터 출력
- comment : 코드 상에 부가적인 설명을 덧붙이기 위해서 사용하다.
- html 주석 :
- JSP 주석 : < %-- --%>
- 지시자(Directive)
- JSP 페이지 자체에 대해서 JSP 엔진 및 컨테이너에게 각종 처리 정보 전달하고 수행해야 할 기능을 정함.
- 태그 종류
- Page : JSP페이즈를 어떻게 처리할 것인가
- include: 공통적인 내용이 있을 때 매번 공통적인 내용을 삽입할 때
- taglib : JAVA package
- 기본 객체
- 코드를 심플하게 만들어 주기 위해 자동 정의된 변수.
- 종류
- request : 요청
- response :응답
- pageContext
- session
- application
- out
- config
- page
- 활성범위와 정보공유
- page scope : 각 페이지의 pageContext에 저장되고 객체를 생성한 JSP페이지를 통해서만 접근할 수 있다.
- request scrope : HTTP요청이 있을 때 마다 Resquest 객체를 생성
- session scope : 다수의 요청에 걸쳐 존재
- application: ServletContext는 모든 애플리케이션에서 애플리케이션 객체를 조회하고 저장
- JavaBeans
- Java 객체 데이터베이스와 JSP 중간에서 데이터 관리의 매게체 역할
- 데이터를 개체 단위로 한데 묶어서 관리하는 데에 편리성
- Error
- page 지시문 : errorPage, isErrorPage
- : https 에러 코드별
- : JAVA 고유의 예외 종류별 에러 페이지 지정
- 우선순위 : page > error,exception > tomcat 엔진
- 커스텀 태그(Custom Tag)
- JSP 페이지에서 스크립팅 요소들로부터 자유롭게 반들어 준다.
- 재사용성과 의존성(가독성이 높아진다)
- 작성하는 것이 쉽지 않다.
- JSTL
- 커스텀 태그 라이브러리 모음, 자주 사용되는 것들을 모아서 표준으로 정한 것
- 종류
- core : 데이터 관리, 콘텐츠의 반복과 조건화
- out, set, remove
- catch, if
- remove
- format : 숫자와 날짜 포맷팅
- xml : XML을 통해 표현된 데이터를 조작
- sql : 관계형 데이터베이스를 쿼리
- EL
- 속성 값을 쉽게 출력하도록 고안
- 표시법 -> ${value}
- request, session, application 객체 순서로 해당 객체가 저장된 범위