day09 jsp

Lee·2023년 3월 27일
0

1. MyBatis

1-1. MyBatis

  • 객체 지향 언어인 자바의 관계형 데이터베이스
    프로그래밍을 좀 더 쉽게 할 수 있게 도와 주는 개발
    프레임워크로서 JDBC를 통해 데이터베이스에 엑세스하는
    작업을 캡슐화하고 일반 SQL쿼리, 저장 프로시저 및 고급
    매핑을 지원하며 모든 JDBC 코드 및 매개 변수의
    중복작업을 제거 한다.
  • MyBatis 에서는 프로그램에 있는 SQL쿼리들을 한
    구성파일에 구성하여 프로그램 코드와 SQL을
    분리할 수 있는 장점을 가지고 있다.
  • MyBatis는 기존 JDBC 방식과 달리 SQL문을 XML 파일에
    작성함으로써 코드가 줄어들고 SQL문만 따로 관리하기
    때문에 수정이 편해진다.
  • DBCP을 사용하기 때문에 JDBC만 사용하는 것보다
    작업 효율과 가독성이 좋다.

1-2. 결과 값

  • select
    -> select 문에 해당하는 결과
  • insert
    -> 1(다중 insert문도 마찬가지)
  • update
    -> update된 행의 갯수 반환(없으면 0)
  • delete
    -> delete된 행의 갯수 반환(없으면 0)

2. EL문과 JSTL

  • JSP페이지 내에 자바코드와 HTML코드가 섞여 있으면
    가독성이 떨어진다. EL문와 JSTL문을 사용하면 HTML과 같은
    태그로만 구성된 일관된 소스코드를 볼 수 있다는 장점이
    있다.

2-1. EL

  • Expression Language
  • 값을 간결하고 간편하게 출력할 수 있도록 해주는 언어
  • <%= %>, out.println() 과 같을 자바코드를 더 이상
    사용하지 않고 좀더 간편하게 출력을 지원하기 위한 도구.
  • EL 구문 : ${....}

2-2. 저장범위

  • 값을 찾을때는 작은 scope에서 큰 scope으로 찾습니다.
  • page > request > session > application

2-3. EL 표현식

  • pageContext : JSP내장객체의 pageContext
  • pageScope
  • requestScope
  • sessionScope
  • applicationScope
  • param
  • paramValues : 같은 이름으로 전달된 질의 문자열의 이름과
    값들을 저장하고 있는 map객체
  • header
  • headerValue
  • cookie
  • initParam

2-4. EL연산자

  • 산술연산자 : +, -, *, /(div), %(mode)
  • 논리연산자 : &&(and), ||(or), !(not)
  • 비교연산자 : ==(eq), !=(ne), <(lt), >(gt), <=(le), >=(ge)
  • empty연산자 : 값이 null 이거나 공백문자인지를 판단하는 연산자
    empty"">true{empty ""} -> true{empty null} -> true
    ${empty data} -> 값이 없으면 true, 값이 있으면 data

2-5. 예

  • request.setAttribute("cnt", 30);
    -> request.getAttribute("cnt");
    -> ${cnt}

  • List list = new ArrayList<>{"1", "test", >...};
    request.setAttribute("list", list);
    -> ((List)request.getAttribue("list")).get(0)
    -> ${list[0]}

profile
wow

0개의 댓글