분류 전체보기

Spring/SpringMVC

[Spring MVC] 예외처리

예외처리 스프링은 try-catch문 뿐만 아니라 다양한 예외처리 방법을 제공한다. 스프링에서 제공하는 다양한 예외처리 방법에 대해 알아보겠다. 1.@ExceptionHandler와 @ControllerAdvice 1-1@ExceptionHandler main메서드와 main2메서드를 살펴보면, 각각 Exception, NullPointerException이 발생할 걸 알 수 있다. 일반적인 예외처리 방식인 try-catch문을 쓰면 각 메서드에 추가적인 코드가 생기지만 @ExceptionHandler를 사용하면 위와 같이 메서드의 예외에 해당하는 예외처리 메서드로 이동하여 코드를 좀더 간결하게 만들 수 있다. 만약 하나의 메서드에서 여러개의 예외를 처리 하고 싶다면 catcher2메서드와 같이 '{}'..

Spring/SpringMVC

[Spring MVC] 쿠키와 세션

1.쿠키(Cookie) 쿠키는 이름과 값의 쌍으로 구성된 작은 정보다. 아스키 문자로만 가능하고 서버에서 생성 후 전송된다. 저장은 브라우저에 가능하고 유효기간이 지난 후에는 자동으로 삭제된다. 서버에 요청할 때 domain, path가 일치하는 경우에만 자동전송된다. 쿠키의 작동과정 쿠키는 브라우저에서 요청하면 서버에서 만든다. 서버에서 만들어진 쿠키는 (1) 브라우저로 전송되며 저장된다. 한번 생성, 저장된 쿠키는 브라우저에 저장되어 따로 (2) 생성할 필요 없이 유효기간이 지나거나 삭제할 때 까지 사용가능하다. 쿠키의 생성,삭제와 변경, 읽어오기 쿠키의 생성 쿠키의 삭제와 변경 쿠키 읽어오기 2.세션(Session) 세션의 정의 "a collection of realated HTTP transact..

MyBatis

[MyBatis] 엘리먼트와 동적 SQL

SQL 맵퍼 파일 작성 MyBatis의 가장 중요한 목적 중 하나는 DAO에서부터 SQL을 분리하는 것이다. , , 등 다양한 엘리먼트를 사용해서 맵퍼 파일을 작성한다. SQL 맵퍼 파일은 XML이기 때문에 XML 선언이 가장 먼저 온다. 그 다음으로는 태그 규칙을 정의한 DTD 선언이 온다. 1. 루트 엘리먼트 SQL 맵퍼 파일은 루트 엘리먼트 를 작성하는 것으로 시작한다. 태그의 namespace 속성은 SQL문을 묶는 용도로 사용한다. 맵퍼 파일에 작성하는 모든 SQL 문은 태그에 놓인다. ... 2., , , 엘리먼트 SQL 문을 작성할 때 명령어에 따라 사용하는 태그가 다르다. SELECT 문은 태그에 작성하고, INSERT 문은 , UPDATE 문은 , DELETE 문은 태그를 사용하여 작성한..

Servlet & JSP

[JSP] JSTL

I.JSTL 주요 태그 사용법 JSTL 확장 태그를 사용하려면 태그 라이브러리를 사용해야한다. 위는 JSTL 태그 라이브러리다. 는 JSP의 지시자 태그다. uri 속성은 태그 라이브러리의 네임스페이스 이름이다. 네임스페이스 이름은 URI로 되어있다. prefix 속성은 JSTL 태그를 사용할 때 태그 이름 앞에 붙일 접두사다. 1.태그 라이브러리와 URI, 접두사 태그 라이브러리 접두사 네임스페이스의 URI 식별자 Core c http://java.sun.com/jsp/jstl/core XML x http://java.sun.com/jsp/jstl/xml I18N fmt http://java.sun.com/jsp/jstl/fmt Database sql http://java.sun.com/jsp/jstl..

Servlet & JSP

[JSP] EL

EL EL(Expression Language)은 콤마(.)와 대괄호([])를 사용하여 자바 빈의 프로퍼티나 맵, 리스트, 배열의 값을 보다 쉽게 꺼내주는 기술이다. JSP에서는 주로 보관소에 들어있는 값을 꺼낼 때 사용한다. 을 ${값} 형식으로 간단히 사용하기 위해 쓴다. 1.EL 표기법 EL은 ${}와 #{}를 사용하여 값을 표현한다. ${}을 '즉시 적용(immediate evaluation)'이라 부르고 #{}을 '지연 적용(deferred evaluation)'이라 부른다. ${}은 객체 프로퍼티 값을 '꺼낼 때', #{}은 객체 프로퍼티 값을 '담을 때' 사용한다. ${} : 즉시적용, 객체 프로퍼티 값을 꺼낼 때 #{} : 지연적용, 객체 프로퍼티 값을 담을 때 2.리터럴 표현식 EL 블록..

DB/Oracle

[서브쿼리] 다중열 서브쿼리/FROM절에 사용하는 서브쿼리와 WITH절

다중열 서브쿼리 다중열 서브쿼리는 서브쿼리의 SELECT절에 비교할 데이터를 여러 개 지정하는 방식이다. SELECT * FROM EMP WHERE (DEPTNO, SAL) IN (SELECT DEPTNO, MAX(SAL) FROM EMP GROUP BY DEPTNO); FROM절에 사용하는 서브쿼리와 WITH절 앞서 살펴본 서브쿼리는 WHERE절에서 조건식 대상으로 사용했다. 그런데 FROM절 역시 WHERE절과 마찬가지로 서브쿼리를 사용할 수 있다. FROM절에 사용하는 서브쿼리는 인라인 뷰라고 부른다. 인라인 뷰는 특정 테이블 전체 데이터가 아닌 SELECT문을 통해 일부 데이터를 먼저 추출한 후 별칭을 주어 아래와 같이 작성할 수 있다. SELECT E10.EMPNO, E10.ENAME, E10...

DB/Oracle

[서브쿼리] 다중행 서브쿼리

다중행 서브쿼리 다중행 서브쿼리는 실행 결과 행이 여러 개 나오는 서브쿼리입니다. 다중행 서브쿼리에 사용되는 연산자는 아래와 같다. 다중행 연산자 설명 IN 메인쿼리의 데이터가 서브쿼리의 결과 중 하나라도 일치한 데이터가 있다면 true ANY, SOME 메인쿼리의 조건식을 만족하는 서브쿼리의 결과가 하나 이상이면 true ALL 메인쿼리의 조건식을 서브쿼리의 결과 모두가 만족하면 true EXISTS 서브쿼리의 결과가 존재하면(즉, 행이 1개 이상일 경우) true IN 연산자 IN 연산자를 서브쿼리와 함께 쓰면 메인쿼리의 데이터가 서브쿼리의 결과 중 하나라도 일치한 데이터가 있다면 실행된다. 예를들어 IN 연산자와 서브쿼리를 사용하여 각 부서별 최고 급여와 동일한 급여를 받는 사원 정보를 출력하는 쿼..

DB/Oracle

[서브쿼리] 단일행 서브쿼리

단일행 서브쿼리 단일행 서브쿼리는 실행 결과가 단 하나의 행으로 나오는 서브쿼리다. 단일행 서브쿼리는 단일행 연산자를 사용하여 비교한다. 단일행 연산자 > >= =

각시탈코더
'분류 전체보기' 카테고리의 글 목록 (20 Page)