1. JSTL switch문 <c:choose>, <c:when>, <c:otherwise>

<c:choose>
 <c:when test="${num eq 50 }">
  50
 </c:when>
 <c:when test="${num > 50 }">
  50보다 큰 수
 </c:when>
 <c:when test="${num < 50 }">
  50보다 작은 수 
 </c:when>
 <c:otherwise>
  수가 아닙니다. 
 </c:otherwise>
</c:choose>

 

 

1. JSTL <c:forEach> 태그

<c:forEach var="list"  items="${list}"  [begin="0"] [end="10"] [step="1"] [varStatus="status"]>
 이름 : ${list.name}<br/> 
 나이 : ${list.age}<br/>
 주소 : ${list.addr}<br/> 
</c:forEach>

 

2. 사용되는 옵션 값

begin 

리스트, 배열 반복 시작 번호( 초기값 : 0 ) 

end

리스트, 배열 반복 마지막 번호(초기값 : items에 들어있는 리스트 size)

step

리스트, 배열이 반복을 할때 마다 증가되는 값(초기값 : 1)

varStatus

리스트, 배열을 반복시 상태가 들어있는 변수

 

3. varStatus 상태값 표기

index

현재 리스트, 배열의 번호(0부터 시작)

count

현재 리스트, 배열의 반복 횟수(1부터 시작)

first 

첫번째 반복인지 확인(true|false)

last

마지막 반복인지 확인(true|false)

 

1. JSTL <c:if> 태그

<c:if  test="${name eq '홍길동' }" [var="value"] [scope="page|request|session|application"] >
 ${name}
</c:if>

 

var - 결과 값을 담을 변수

scope - 결과 값을 담은 변수의 생명주기

 

2. 사용되는 비교 연산자

 eq(==)

${name eq '홍길동'}, ${name eq 10}, ${name eq null}

 ne(!=)

${name ne '홍길동'}, ${name ne 10}, ${name ne null} 

 empty(List,배열,문자열이 비어있으면 참)

${empty name}

 not empty(List,배열,문자열이 값이 있으면 참)

${not empty name}

 and(&&)

${name1 eq '홍길동1' and name2 eq '홍길동2'}

 or(||)

${name1 eq '홍길동2' or name2 eq '홍길동2'}

 not(!)

${not name eq '홍길동'}

 

1. JSTL <c:set> 태그

<c:set var="name" value="${name}" [property="property"] [scope="page|request|session|application"]/> 

property - 자바 빈 객체 또는 Map 객체

scope - 변수의 생명주기

 

 

2. JSTL <c:remove> 태그

<c:remove var="name" [scope="page|request|session|application"]/>

 

scope - 변수의 생명주기

 

 

3. JSTL <c:out> 태그

<c:out var="name" [default="default"] [escapeXML="true|false"] />

 

default = name 값이 없을때 표시되는 값

escapeXML = '<','>' 와 같은 특수문자 치환

JSTL 라이브러리 다운 및 프로젝트에 적용

1. JSTL 라이브러리 다운

Maven Repository 홈페이지 이용 - https://mvnrepository.com/artifact/javax.servlet/jstl

 

2. JSTL 프로젝트에 적용

위에서 받은 파일(.jar)을 프로젝트 /WEB-INF/LIB/ 아래에 추가해 줍니다. 또는 maven아래에 있는 소스를 pom.xml에 추가를 시켜 줍니다.

추가를 했으면 JSTL을 사용할 VIEW페이지 OR 공통 include페이지에 taglib 정의를 해줍니다.

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>

 

3. JSTL 사용 태그 모음

CORE

1. JSTL 변수 선언,수정,출력

2. JSTL if문 <c:if>

3. JSTL for문 및 varStatus 옵션 <c:forEach>

4. JSTL switch문 <c:choose>, <c:when>, <c:otherwise>

 

fmt

1. JSTL 숫자 포맷 <fmt:formatNumber>,<fmt:parseNumber>

2. JSTL 날짜 포맷 <fmt:formatDate> <fmt:parseDate>

 

functions

1. JSTL length 및 substring 함수 사용 

2. JSTL indexOf 사용

오라클(Oracle) ROLE 및 시스템권한 조회 및 부여

1. 유저 조회

SQL> SELECT * FROM all_users;

 

USERNAME    USER_ID    CREATED
------------------------------------------------
USER4           91            22-JAN-19
USER3           90            22-JAN-19
USER2           89            22-JAN-19
USER1           88            22-JAN-19

 

실행 쿼리 - SELECT * FROM all_users;

 

 

2. 유저 ROLE 조회 및 부여

2-1. 기본적인 ROLE 목록

ROLE

ROLE 설명

CONNECT

접속 세션 생성 및 테이블 생성, 조회 권한

RESOURCE

PL/SQL을 사용 권한

DBA

모든 시스템 권한

EXP_FULL_DATABASE

데이터베이스 익스포트 권한

IMP_FULL_DATABASE

데이터베이스 임포트 권한

 

ROLE에는 이것 말고도 더 많은 ROLE이 존재를 한다.

 

2-2. 계정에 적용중인 ROLE 확인

SQL> SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'USER4' ; -- 시스템 관리자 접속일 때 확인

SQL> SELECT * FROM USER_ROLE_PRIVS; -- ROLE을 확인하고자 하는 계정에 접속일 때 확인

 

USERNAME      GRANTED_ROLE      ADM      DEF 
------------------------------------------------------------------------------------
USER4             CONNECT              NO         YES
USER4             RESOURCE             NO         YES 

 

실행쿼리 

 - SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'USER4' ;

 - SELECT * FROM USER_ROLE_PRIVS;

 

USER4 사용자에게 적용된 ROLE

 - CONNECT, RESOURCE 

 

2-3. 계정에 ROLE 부여

SQL> GRANT DBA TO USER4;

 

USER4 사용자에게 ROLE 추가

 - DBA

 

 

3. 유저 시스템권한 조회 및 부여

3-1 시스템 권한 목록

시스템 권한명

권한 설명

 SELECT ANY TABLE

모든 유저의 테이블 조회 권한 

 CREATE ANY TABLE

모든 유저의 테이블 생성 권한 

 CREATE USER

유저 생성 권한 

 CREATE SESSION

접속 권한 

 CREATE TABLE

테이블 생성 권한 

 CREATE VIEW

뷰 생성 권한 

 CREATE PROCED USER

프로시저 생성 권한 

 CREATE SEQUENCE

시퀀스 생성 권한 

 SYSDBA

DBA 권한 부여 

 SYSOPER

DB 관리 권한 

 

시스템 권한에는 이 것 말고도 더 많은 권한이 있다.

 

3-2. 계정에 적용중인 시스템 권한 확인

SQL> SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'USER4'; -- 시스템 관리자 접속일 때 확인

SQL> SELECT * FROM USER_SYS_PRIVS; -- 시스템권한을 확인하고자 하는 계정에 접속일 때 확인

 

GRANTEE      PRIVILEGE                            ADM
----------------------------------------------------------
USER4          CREATE VIEW                       NO
USER4          UNLIMITED TABLESPACE        NO

 

실행쿼리

 - SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'USER4';

 - SELECT * FROM USER_SYS_PRIVS;

USER4 적용된 시스템 권한

 - CREATE VIEW, UNLIMITED TABLESPACE

 

3-3. 계정에 시스템 권한 부여

 SQL> GRANT SYSOPER TO USER4;

 

USER4 사용자에게 시스템권한 추가

 - SYSOPER

오라클(Oracle) 테이블 스페이스, 유저 생성

1. 테이블스페이스 물리적 경로 확인

테이블 스페이스를 생성을 할려면 물리적 경로를 먼저 알아야 합니다.

물리적 경로를 확인하는 포스팅이 올라가져 있으니 참고해 주세요 -> 오라클(Oracle) 테이블스페이스 이름 및 물리적 경로 확인 

 

2. 테이블 스페이스 생성

SQL> create tablespace SPACE_NAME4 datafile '/home/server/oracle/oradata/db_sid/spaceNameFile4.dbf‘ size 100m;

 

실행 쿼리 - create tablespace SPACE_NAME4 datafile '/home/server/oracle/oradata/db_sid/spaceNameFile4.dbf‘ size 100m;

테이블 스페이스 이름 - SPACE_NAME4

테이블 스페이스 물리적 경로 - /home/server/oracle/oradata/db_sid/

테이블 스페이스 파일 이름 - spaceNameFile4.dbf

테이블 스페이스 용량 - 100m

 

3. 유저 생성(테이블 스페이스에 추가)

SQL>  create user USER4 identified by USER4PW default tablespace SPACE_NAME4;

 

실행 쿼리 - create user USER4 identified by USER4PW default tablespace SPACE_NAME4;

생성되는 유저 아이디 - USER4

생성되는 유저 패스워드 - USER4PW

생성되는 유저가 들어간 테이블스페이스 - SPACE_NAME4;

 

 

4. 테이블스페이스에 들어있는 유저 목록(생성된 유저 확인)

SQL> SELECT USERNAME, DEFAULT_TABLESPACE FROM dba_users;

 

USERNAME       DEFAULT_TABLESPACE
----------------------------------------------
USER1             SPACE_NAME1
USER2             SPACE_NAME2
USER3             SPACE_NAME3
USER4             SPACE_NAME4

 

실행 쿼리 - SELECT USERNAME, DEFAULT_TABLESPACE FROM dba_users;

유저 목록 - USER1, USER2, USER3 ...

테이블스페이스 목록 - SPACE_NAME1, SPACE_NAME2, SPACE_NAME3 ....

 

오라클(Oracle) 테이블스페이스 이름 및 물리적 경로 확인

1. 테이블스페이스 이름

SQL> SELECT TABLESPACE_NAME FROM dba_tablespaces;

 

TABLESPACE_NAME
------------------------------
SPACE_NAME1
SPACE_NAME2
SPACE_NAME3

 

실행 쿼리 - SELECT TABLESPACE_NAME FROM dba_tablespaces;

테이블 스페이스 이름 - SPACE_NAME1, SPACE_NAME2 ....

 

2. 테이블스페이스 물리적 경로, 파일이름

 SQL> SELECT FILE_ID,TABLESPACE_NAME,FILE_NAME from dba_data_files;

 

FILE_ID     TABLESPACE_NAME   FILE_NAME
-----------------------------------------------------------------------------------------------------------------
28             SPACE_NAME1           /home/server/oracle/oradata/db_sid/spaceNameFile1.dbf
29             SPACE_NAME2           /home/server/oracle/oradata/db_sid/spaceNameFile2.dbf
30             SPACE_NAME3           /home/server/oracle/oradata/db_sid/spaceNameFile3.dbf

 

실행 쿼리 - SELECT FILE_ID,TABLESPACE_NAME,FILE_NAME from dba_data_files;

테이블 스페이스 물리적 경로 - /home/server/oracle/oradata/db_sid/

테이블 스페이스 파일 이름 - spaceNameFile1.dbf, spaceNameFile2.dbf, spaceNameFile3.dbf ....

+ Recent posts