본문 바로가기

전체

(219)
[MyBatis] 매퍼 바인딩 / package 엘리먼트 매퍼 바인딩 XML 기반의 매퍼파일은 SqlSession 객체로 SQL 명령을 제공받아 사용하기 불편하다는 단점이 있다. 때문에 XML 기반의 매퍼파일은 DAO를 만들어줄 때 오타 때문에 오류가 날 가능성이 큰 반면에 인터페이스 기반의 매퍼는 DAO를 만들어줄 때 자동완성 기능으로 오류 날 가능성이 적다. 이처럼 인터페이스 기반의 매퍼파일의 가장 큰 장점은 SqlSession 객체로 SQL 명령을 제공받아 사용하기 때문에 DAO를 만드는 것이 더 쉽다는 것이다. 대신 XML 기반의 매퍼 파일은 수동 매핑 설정과 동적 SQL 설정에 대한 기능 구현이 편리하다는 장점이 있다. 반대로 인터페이스 기반의 매퍼파일은 수동 매핑 설정과 동적 SQL 설정에 대한 기능 구현이 불편하다. 이런 문제점을 해결하기 위해 X..
[MyBatis] 예제 테이블 생성 create table mymember(id varchar2(50) primary key, name varchar2(50) ,phone varchar2(20), email varchar2(100)); 테이블의 행을 표현할 수 있는 클래스, DTO 클래스 생성 package xyz.itwill.dto; //create table mymember(id varchar2(50) primary key, name varchar2(50),phone varchar2(20), email varchar2(100)); public class MyMember { private String id; private String name; private String phone; private String email; p..
[MyBatis] MyBatis란? / 예제 https://blog.mybatis.org/ The MyBatis Blog A blog about the the MyBatis data mapper framework. blog.mybatis.org 다운로드 후 빌드 처리 slf4j-log4j12-1.7.21.jar 파일은 없어서 따로 빌드처리 해주었다. 마이바티스 참조 문서 :https://mybatis.org/mybatis-3/ko/ 먼저 mybatis 환경설정파일 [mybatis-config.xml]을 만들어보자. mybatis 환경설정파일은 SqlSessionFactofy 객체를 생성하기 위해 필요한 정보를 제공하는 파일이다. 먼저 선언문을 추가한다. 이제 엘리먼트를 등록해보자. environments : environment 엘리먼트를 등록하기..
[MVC] 필터(Filter) 필터(Filter) 필터는 클라이언트 요청에 대한 웹프로그램 실행 전 또는 후에 실행될 기능을 제공한다. 필터는 WAS(웹컨테이너)에 의해 관리되며 XSS 방어, 인코딩 변환처리, 요청에 대한 인증, 권한 검사 등에 사용한다. 필터를 사용하기 위해서는 필터 기능을 제공해주는 필터 클래스를 선언해주어야 한다. 필터 클래스 필터 클래스는 클라이언트 요청에 대한 웹프로그램 실행 전 또는 후에 동작될 명령을 작성하기 위한 클래스이며 Filter 인터페이스를 상속받아 작성해야 한다. 필터 클래스는 @WebFilter 어노테이션 또는 [web.xml] 파일의 엘리먼트를 사용하여 필터 클래스를 필터로 등록하고, URL 패턴 정보를 매핑 처리해야 사용이 가능하다. (서블릿과 유사) 예시) 예시로 클라이언트가 요청하는 ..
[MVC] Functions 태그 라이브러리 Functions 태그 라이브러리를 JSP 문서에 포함시킨다. 접두사로 [fn]을 사용한다. [functions.jsp] Functions - EL 함수 전화번호 = ${phone } split 함수 split 함수는 매개변수로 전달받은 문자열을 구분자로 분리하여 배열로 반환하는 함수이다. ${num } substring substring 함수는 매개변수로 전달받은 문자열을 시작첨자(첨자 위치의 문자 포함)와 종료첨자(첨자 위치의 문자 미포함)로 분리하여 반환하는 함수이다. ${fn:substring(phone, 0, 3) } ${fn:substring(phone, 4, 8) } ${fn:substring(phone, 9, 13) } replace 함수 replace 함수는 매개변수로 전달받은 문자열에서..
[MVC] Formatter 태그 라이브러리 Formatter 태그 라이브러리 날짜와 시간 변환태그 [fmt_formatDate.jsp] Formatter - 날짜와 시간 변환 태그 now = ${now } formatDate 태그 Date 객체에 저장된 날짜와 시간을 원하는 패턴의 문자열로 변환하여 제공하는 태그이다. SimpleDateFormat 클래스와 유사한 기능을 제공한다. - value 속성 : Date 객체를 속성값으로 설정한다. - EL을 사용하여 Date 객체를 제공받아 속성값으로 사용해도 된다. - type 속성 : date(날짜), time(시간), both(날짜와 시간) 중 하나를 속성값으로 설정하면 된다. → time 속성값을 [date]로 설정한 경우 기본적으로 [yyyy.M.d] 패턴의 문자열로 변환하여 제공된다. now..
[MVC] JSTL(Java Standard Tag Library) / Core 라이브러리 JSTL(Java Standard Tag Library) JSTL은 JSP 문서에서 많이 사용되는 EL 함수와 커스텀 태그를 제공하기 위한 라이브러리를 뜻한다. JSP 문서에서 JSTL이 제공하는 EL 함수 또는 커스텀 태그를 사용하기 위해서는 라이브러리 파일을 다운로드 받아 프로젝트에 빌드 처리해야한다. - https://tomcat.apache.org 사이트 참조 4개의 jar 파일을 다운로드 받아 빌드처리하기 JSTL이 제공하는 라이브러리 파일 종류 Core : EL 지원 태그, 프로그램의 흐름을 제어 태그, URL 주소 관리하는 태그등을 제공 Formatter : 숫자 또는 날짜와 시간의 형식을 변경 태그, 국제화 태그, 다국어 지원 태그등을 제공 SQL : 테이블에 대한 행 삽입,변경,삭제,검색..
[MVC] 커스텀 태그(Cutom Tag) 커스텀 태그(Cutom Tag) 커스텀 태그는 JSP 문서에서 스크립트 요소 대신 사용하기 위해 프로그래머가 생성한 태그이다. 순서 1.태그 클래스를 작성 2.TLD 파일에 커스텀 태그를 등록 3.JSP 문서에서 커스터 태그 사용 1 .태그 클래스를 작성한다. 태그 클래스는 JSP 문서에서 커스텀 태그를 사용할 경우 호출될 메소드가 선언된 클래스이다. 태그 클래스는 TagSupport 클래스, BodyTagSupport 클래스, SimpleTagSupport 클래스 중 하나를 상속받아 작성한다. 커스텀 태그 사용시 호출되는 메소드는 부모클래스의 메소드를 오버라이드 선언하여 작성한다. 태그 속성과 태그 내용이 없는 커스텀 태그의 클래스 HelloTag를 작성해보자. //태그 속성과 태그 내용이 없는 커스텀..