05_JSTL / DBCP

Hyunny ·2023년 7월 3일
0
post-thumbnail

📌 JSTL :

JSP에서 자주 사용되거나 공통적으로 사용되는 java코드를 쉽고, 표기법을 간단히 할 수 있도록 태그화 하여 표준으로 제공함

🧁 jsp에서 jstl 사용하려면 무조건 라이브러리 등록 후 taglib 작성

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
상단에 지시자 이용하여 라이브러리 등록 !

1. 변수 선언 (c:set)

변수를 선언하고 값을 초기화하는 태그(초기화는 무조건 수행)
특징 1 : 변수 타입을 지정하지 않음
특징 2 : 변수의 범위(scope) 지정할 수 있음

🧁 c:set 태그 속성
1) var : qustnaud
2) value : 대입될 값
3) scope : 변수 범위 (기본값 : page)


2. 변수 삭제 (c:remove)

지정한 변수(c:set / setAttribute() 추가된 변수) 삭제

  • scope 선택 가능 / 미작성 시 모든 scope에서 일치하는 변수명 모두 제거

🧁 c:remove 태그 속성
1) var : 삭제할 변수명
2) scope : 삭제할 범위 (기본값 모든 범위)


3. 조건문 (c:if)

  • 조건문을 작성할 수 있는 태그
  • if문만 가능하고 else는 불가능(c:else 존재하지 않음)

🧁 c:if 태그 속성
1) test : 조건식 작성하는 속성 단, EL로만 작성할 수 있다.


4. 조건문 (if~else if~else)

  • c:choose 내부에 c:when(if/else if),
    c:otherwise(else) 태그를 작성하는 형태

5. 반복문 (c:forEach)

  • java의 for문 + 추가 기능을 가지고 있는 태그

🧁 c:forEach 속성

1) var : 현재 반복 횟수에 해당하는 변수 (== int i)
2) begin : 반복 시작 값
3) end : 반복 종료 값
4) step : 반복 시 마다 증가할 값 (증감식), 미작성 시 기본값 1
5)items : 반복 접근할 객체 명(Collection 객체) // 향상된 for문

6) varStatus : 현재 반복에 해당되는 상태 정보
6-1) current : 현재 반복 횟수 또는 현재 접근 중인 객체
6-2) index : 현재 객체가 몇 번째 인덱스인지 반환(0부터 시작)
6-3) count : 현재 반복문이 몇 바퀴 반복 중인지 반환 (1부터 시작)
6-4) first : 첫 번재 반복일 경우 true 반환
6-5) last : 마지막 반복일 경우 true 반환


📌 DBCP :

미리 DB와 연결되어 있는 Connection을 일정 개수 만들어 두고 클라이언트 요청 시 만들어 둔 connection을 빌려주고 요청 처리 완료 시 다시 반환 받는 기법
장점 1) 미리 connection을 만들어두기 때문에 요청 시 속도가 빠름
장점 2) connection 개수에 제한을 두어 DB에 과도하게 요청되는 경우를 방지

  • name : JNDI 이름 Context의 lookup()을 사용하여 자원을 찾을때 사용한다. java:comp/env 디렉터리에서 찾을 수 있다.
  • auth : 자원 관리 주체 지정(Application 또는 Container)
  • type : Resource의 타입 지정
  • driverClassName : JDBC 드라이버 클래스 이름.
  • maxTotal : DataSource 에서 유지할 수 있는 최대 커넥션 수
  • maxIdle : 사용되지 않고 풀에 저장될 수 있는 최대 커넥션의 개수. 음수일 경우 제한이 없음
  • maxWaitMillis : 커넥션 반납을 기다리는 시간(-1은 반환될 때 까지 기다림)

🧁 JNDI : Java Naming and Directory Interface API

  • 디렉토리에 접근해 사용하는 Java API
  • 애플리케이션은 JNDI를 이용해서 파일 또는 서버 Resource를 찾을 수 있음
profile
개발 learning ... 📝

0개의 댓글