for문과 StringTokenizer가 결합된 태그.
CSV데이터를 자를 때 사용.(모든 문자열을 자를 수 있다.)
<c:forTokens var="변수명" items="${ 스콥객체명 }" delims="구분문자">
//or : 구분문자에 해당하는 모든 문자를 토큰으로 구분
${ 변수명 } //구분문자로 구분된 token하나 출력
</c:forTokens>
예외처리 시 사용.
scriptlet(<% %>)과 expression(<%= %>)은 _jspService method안에 try~catch블록안으로 코드가 생성된다. => 개발자가 사용하는 method가 예외를 발생시켜도 자동으로 처리된다.
(Throwable)=> 예외메시지가 그대로 웹 브라우저에 출력된다.
<c:catch>를 사용하면 발생되는 예외를 잡을 수 있다.
<c:if>를 사용하여 예외상황
<c:catch var=“객체명”>
<%
예외발생예상코드
%>
</c:catch>
<c:if test=“${ not empty 객체명}”> // ${ 객체명 != null }, ${ 객체명 ne null }
예외 발생시 제공할 코드
</c:if>
페이지이동 기술.
접속자에게 페이지를 응답한 후 접속자 브라우저가 자동 재 요청하는 방식.
웹 브라우저는 페이지의 이동을 알고 있다. (url이 변경된다.)
sendRedirect와 return이 합쳐진 태그.
사용법)
<c:redirect url="이동할 페이지 URL"/>
fmt
날짜, 숫자의 형식을 변경하여 출력할 때 사용.
사용법)
지시자 선언)
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
숫자변환) 숫자에 ,나 . 넣기
<fmt:formatNumber value="출력할 숫자" pattern="출력형식"/>
0: 해당자리에 데이터가 없으면 0출력
#: 데이터가 있을 것까지만 출력
날짜 변환) 원하는 형식의 날짜로 변환
<fmt:formatDate value=“날짜객체” pattern=“SimpleDateFormat의 날짜 패턴”/>
JDBC방식보다 향상된 Connection관리를 제공하는 개념을 가지고 만들어진 클래스
DB연동이 필요한 작업이 있을 때마다 DB연동을 계속하는 장식(커넥션을 재사용하지 않는다.)
장점 : 필요할 때 마다 연결을 얻고 해제하기 때문에 메모리를 절감할 수 있다.
단점 : 초기지연시간이 발생(DBMS을 찾고 연결하는 시간 - 사용자에게는 필요없는 시간)
커넥션을 일정 개수 미리 연결해두고, 필요할 때 꺼내서 사용하는 것.
장점 : 초기지연시간이 줄어든다. 커넥션의 재사용성 향상.
단점 : 메모리의 낭비
tomcat에서는 설정을 통해서 DBCP를 사용할 수 있다.
tomcat에서 제공하는 DBCP명은 project(<Context,,>)마다 설정하고 사용할 수 있다.
<Resource name="jdbc/myoracle" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"
username="scott" password="tiger" maxTotal="20" maxIdle="10"
maxWaitMillis="-1"/>