강의노트

관련 글 69
JSTL XML 태그
1. xml 태그와 XPathxml 태그를 사용하기 위해서는 XPath 를 먼저 이해할 필요가 있다. xml 소스 트리의 정확한 위치를 지정해주기 위한 경로지정 문법이며 XSLT와 XPointer 를 위해서 만들어진 것이다. xml 엘리먼트들을 노드(node) 로 접근한다. 파일 시스템과 유사하며 다음과 같은 특성이 있다. / 로 시작하면 절대경로처럼 root node 에서 시작된다. //로 시작할 경우는 모든 영역에서 해당 엘리먼트를 선택하게 된다. * 표시는 이전 엘리먼트 아래의 모든 자식 엘리먼트를 나타낸다. 동일한 엘리먼트들이 있을 경우, [] 안에 포함된 숫자는 엘리먼트의 순번이다. 조건식이 올 경우 해당하는 것이 선택된다. last() 일 경우는 맨 마지막 엘리먼트를 표시한다. 속성은 @ 로 ..
JSTL SQL 태그
DataSource 를 이용해서 SQL을 처리하는 sql 태그는 다음과 같은 것들이 있다. Syntax 오라클에서 사용을 한다면 다음과 같이 DataSource 를 설정할 수 있다. 이미 컨텍스트에 JNDI 설정이 되어있다면 다음과 같이 바로 불러서 사용하거나 에서 바로 사용할 수 있다.기존의 dataSource 를 불러와 사용하는 경우 에서 바로 사용하는 경우 2. java 와는 달리 sql 문장을 문자열로 연결하지 않아도 가독성을 높여서 작성할 수 있다. 태그의 형식은 다음과 같다. Syntax Syntax 1: value 속성에 파라메터 값이 지정된 경우 Syntax 2: body 내용에 파라메터 값이 지정된 경우 parameter value 은 java.sql.PreparedStatement.se..
JSTL 국제화 지역화 태그
다국어 문서를 처리할 때 유용하고, 날짜와 숫자 형식을 다루는 fmt 태그는 다음과 같은 종류가 있다. Syntax 다국어 페이지를 만들 경우 사용할 경우 ResourceBundle 로 불러오는 *.properties 파일들과 연계되어서 사용할 수 있다. value 속성에 들어가는 locale 값은 [1][1]언어코드와 [2][2]국가코드로 이루어진다. 생략될 경우 톰캣 서버의 기본값으로 설정이 되고, 둘 중에 하나만 사용할 수도 있다. Syntax 파라메터를 MS949 로 인코딩하는 경우 다음과 같이 사용하면 된다. 예제 12. jstlfmt02b.jsp 파라메터: 3. properties 확장자를 사용하는 자원 파일을 읽어오는 역할을 하는 에 대해서 알아보자. 형식은 다음과 같다. Syntax 1: ..
JSTL core
core 태그 사용하기 body 없는 경우 body 있는 경우 기본값 [] 으로 둘러 쌓인 부분은 생략 가능한 부분이다. value 와 default 값은 일반 문자열이나 EL 이 들어간다. value 안에 JSP의 표현식을 사용하려 한다면 RT 기반의 을 사용해야 된다는 것은 이전 예제에서 살펴 보았다. escapeXml 속성은 값 중에 포함된 & ' " 문자들을 각각 & ' " 로 출력한다. 생략될 경우 true 가 기본 값이다.null 값의 처리에 대해서 JSP 의 expression 의 경우는 "null" 문자열로 출력이 되었던 것을 jstl의 스펙에서는 이 경우 빈 문자열("")또는 기본값으로 처리한다고 명시되어있다. 2. , 의 기본형식은 다음과 같다. scope 속성이..
JSTL_EL
표현언어 EL (Expression Language)EL은 다양한 위치에 있는 데이터에 접근하기 위한 언어이다. 문법체계가 직관적으로 아주 쉽다. jsp 에서는 모든 변수의 생성과 선언을 반드시 표시를 해주어야 되지만 EL은 그 과정 없이 바로 접근이 가능하다. 1. EL 의 표시형식EL임을 표시하는 형식은 ${} 이다. 이 안에 들어있는 것은 EL 로 처리된다. 내장객체의 접근이 가능하고, 산술연산과 비교연산이 가능하다. 자바스크립트와 비슷한 방법으로 객체 내부의 자원에 접근이 가능하다. dot(.) 과 bracket([]) 모두를 이용해서 접근할 수 있으며, 예를 들면 ${header.cookie} 와 ${header['cookie']} 는 같은 결과 값을 얻을 수 있다. 만일 user-agent 처..
JSTL(JSP Standard Tag Library)
[JSTL 개요]1. JSTL 이란커스텀태그를 공부하면서 jsp페이지에서 자바코드를 추출하는데 탁월한 성능을 발휘하는 모습을 보았다. 허나 이것을 만든다고 생각하면, 아직도 좀 아찔한 감이 남아있다. 개발시간은 촉박한데, 로직 부분을 빼낸다고, tld 만들고, 태그 핸들러 만들고, 컴파일하고, 잘 동작하는지 테스트해보고 하려면 사실 시간이 더 많이 소요되기 때문에 망설여지는 것이 사실이다.하지만 커스텀 태그 소개하면서 계속 얘기했던 것은 자주 쓰이는 커스텀 태그들을 표준으로 정해서 모아놓은 것이 있으니까, 이것들만 잘 찾아서 쓰면 된다고 얘기했다. 정말 알짜들만 모아놓았다. 최정예 커스텀 태그들을 모아서 이름을 붙여준 것이 JSP Stadard Tag Library 이고, 줄여서 JSTL 이라고 부른다...
DTO와 DAO 패턴
DTO(Data Transfer Object) 데이터를 담아 전송하는 객체 __ 데이터 하나하나를 따로 보내는것은 비효율적=> DTO클래스에는 데이터를 저장하거나 불러오는 setter()와 getter()메서드가 필요 DAO(Data Access Object) DTO에 담겨서 넘어온 데이터들을 실제로 처리하는 객체 => DBMS로 저장,수정,삭제 등의 작업을 처리=> DAO클래스의 메서드는 당연히 DTO를 매개변수로 하여 각각의 데이터를 처리
JOIN
JOIN >>>> 카타시안곱 " x "같은 컬럼이 있으면 곱함....(공통점이 존재해야함)SELECT * FROM department, employee; >>>> 4X14 >>>공통점 dno EQUAL JOIN >>>> WHERE절에 " = "SELECT * FROM department, employee WHERE employee.dno = department.dno; >>>>중복배제(14출력)//사원번호,사원이름,소속부서 출력SELECT eno, ename, dname FROM employee, department WHERE employee.dno = department.dno and eno=7788;//테이블과 컬럼SELECT employee.eno, employee.ename, department...
예제#4
//그룹함수COUNT 행의개수SUM 열의 합 AVG 열의평균MIN 열의최소MAX열의 최대 //최근에 입사한사원, 가장 오래전에 입사한사원의 입사일출력SELECT MAX(hiredate), MIN(hiredate) FROM employee;//커미션총액SELECT SUM(commission) as "커미션총액" FROM employee;//전체사원의수SELECT COUNT(*) AS "사원의수" FROM employee;//커미션받는 사원의수 구하기 //널값은 빠짐SELECT COUNT(commission) as "커미션받는사원의수" FROM employee;//직업종류의 개수 출력SELECT COUNT(DISTINCT job) as "직업종류의 개수" FROM employee; //ORDER BY 컬럼기..
연습문제#2
SELECT ename, SUBSTR(hiredate, 1, 5) as "입사일" FROM employee; SELECT ename, hiredate FROM employee WHERE SUBSTR(hiredate, 4, 2)='04'; SELECT ename, eno FROM employee WHERE MOD(eno,2)=0; SELECT hiredate, TO_CHAR(hiredate, 'YY-MM DAY') FROM employee; SELECT ROUND(SYSDATE-TO_DATE('13/01/01')) FROM dual; SELECT manager, nvl(manager,'0') FROM employee; SELECT job, salary, DECODE(job, 'ANALYST', salary..