💡 학습 목표intercepter란 뭘까?인터셉터 구현 클래스 만드는 방법과 인터셉트를 등록 처리AccountController 인증 검사 제거 및 테스트 1. intercepter란 뭘까?인터셉터는 Spring MVC의 핵심 기능 중 하나로, 웹 애플리케이션에서 공통적인 처리를 재사용할 수 있게 해주는 강력한 도구입니다.인터셉터(Interceptor)는 들어오는 요청과 나가는 응답을 가로채어 특정 로직을 수행할 수 있게 해주는 매커니즘을 제공합니다. 이는 AOP(Aspect-Oriented Programming)의 일종으로 볼 수 있으며, 컨트롤러(Controller)로 요청이 도달하기 전, 후 또는 완료된 후에 추가적인 처리를 하기 위해 사용됩니다. 대표적인 활용 사례인증 및 권한 부여: 사용자..
💡 학습 목표CSS와 부트스트랩을 활용한 중앙 정렬: 플렉스박스(d-flex)와 부트스트랩의 유틸리티 클래스를 사용해 요소를 중앙에 정렬하는 방법.JSP에서 동적 콘텐츠 처리: JSP에서 동적 데이터를 처리하고 화면에 표시하는 방법.페이징(Pagination) 구현 사전 기반 지식 부트스트랩의 그리드 시스템:개념: 부트스트랩은 화면을 12개의 컬럼으로 나누어 레이아웃을 구성할 수 있도록 돕는 그리드 시스템을 제공합니다. col-sm-8은 작은 화면에서 8개의 컬럼을 차지하는 레이아웃을 의미합니다.사용 방법: col-sm-8, col-md-6 등의 클래스를 사용해 반응형 레이아웃을 쉽게 구성할 수 있습니다.예제: col-sm-8은 12개의 그리드 중 8개를 차지하며, 이는 전체 화면의 약 66.67..
💡 작업 목표시간, 금액에 대한 포멧 적용하기account/detail.jsp 파일 코드 수정 하기 1. 시간, 금액에 대한 포멧 적용하기 package com.tenco.bank.utils;import java.sql.Timestamp;import java.text.DecimalFormat;import java.text.SimpleDateFormat;public abstract class ValueFormatter { // 시간 포맷 public String timestampToString(Timestamp timestamp) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return sdf.format(timesta..
💡 학습 목표사용자 요청 list.jsp 에서 해당 계좌 번호 선택 - (list.jsp 링크 수정 해야 함)detail.jsp 만들기account/list.jsp 파일에 링크 추가 하기계좌 상세 보기 기능 구현AccountController 주소 설계 및 코드 추가거래 내역 쿼리 확인 후 DTO 설계 - HistoryDTOAccountService 상세 보기 기능 구현 단일 계좌 검색 기능 추가 거래 내역 확인 기능 추가 (동적 쿼리 생성)utils/TimestampUtil 클래스 추가 - 시간 포맷 기능#,### 금액 단위 포맷 기능 추가 - HistoryDto 클래스에 기능 추가 코드상에서 사용할 쿼리 다시 확인 -- 코드상에서 사용할 쿼리 생성 -- 출금에 대한 쿼리 출력 -- receiver..
💡 작업 순서계좌 상세 보기 쿼리를 만들기 위한 단계 별 학습입니다.(쿼리를 작성하는 실력은 꾸준한 연습이 필요 합니다. 1일1쿼리 연습을 습관화 합시다)출금, 이체(출금) 또는 입금,이체(입금)계좌 번호 함께 출력 하기COALESCE 함수와 CAST 함수 사용해 보기입,출금에 대한 모든 정보 출력 하기 (CASE 구문에 활용)코드상에서 사용할 쿼리 확인위 내용은 마이바티스에서 동적 쿼리(사용자 선택)를 생성하기 활동 입니다.: 이번 프로젝트에서 가장 힘든 부분이 될 수 있습니다. 천천히 만들어 봅시다. 1. 출금, 이체(출금) 또는 입금,이체(입금)select * from history_tb;-- 1번계좌에서 출금 내역 select * from history_tb where w_account_id ..
💡transfer.jsp 파일 생성이체 기능 만들기주요 파일 전체 코드 확인동작 테스트 1. transfer.jsp 파일 생성화면 확인 하기 이체 요청(인증) Bank App에 오신걸 환영합니다 이체 금액: 출금 계좌 번호: 출금 계좌 비밀 번호: 입금(이체) 계좌번호: 이체하기 2. 이체 기능 만들기 TransferDTO package com.tenco.bank.dto;import lombok.Data;@Datapublic class TransferDTO { private Long amount; // 거래 금액 private String wAccountNumber; // 출금계좌 번호 private String dAccount..
💡 작업 순서account/deposit.jsp 파일 생성DepositDTO 파일 생성입금 기능 만들어 보기전체 코드 확인 하기오류 테스트 확인 하기 1. account/deposit.jsp 파일 생성생성 될 파일 확인 결과 화면 미리 보기 2. DepositDTO 파일 생성 deposit.jsp 입금 요청(인증) Bank App에 오신걸 환영합니다 입금 금액: 입금 계좌 번호: 입금 3. 입금 기능 만들어 보기 DepositDTO package com.tenco.bank.dto;import lombok.Data;@Datapublic cla..
💡 학습 목표withdrawal.jsp 파일 생성 및 코드 추가출금 화면 요청 및 기능 구현전체 코드 확인디버그 모드 동작 시켜 보기 1. withdrawal.jsp 파일 생성 및 코드 추가 withdrawal.jsp 출금 요청(인증) Bank App에 오신걸 환영합니다 출금 금액: 출금 계좌 번호: 출금 계좌 비밀 번호 : 출금 요청 결과 화면 확인 2.출금 화면 요청 및 기능 구현 WithdrawalDTO package com.tenco.bank.dto;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgs..
💡 리백토링이란(Refactoring)소프트웨어의 외부 동작을 변경하지 않으면서 내부 구조를 체계적으로 개선하는 과정을 말합니다. 이 과정은 코드의 가독성을 높이고, 유지보수를 용이하게 하며, 오류 발견 및 수정을 용이하게 하는 것을 목표로 합니다. 리팩토링은 소프트웨어 개발의 중요한 부분으로, 코드의 품질을 지속적으로 향상시키기 위해 필요합니다. 리팩토링의 목적가독성 향상: 코드를 더 이해하기 쉽게 만들어 다른 개발자가 코드를 빠르게 이해하고 수정할 수 있도록 합니다.유지보수성 개선: 코드의 구조를 개선하여 나중에 버그를 수정하거나 새로운 기능을 추가할 때 필요한 노력을 줄입니다.성능 최적화: 비효율적인 코드를 개선하여 애플리케이션의 실행 성능을 향상시킬 수 있습니다.재사용성 증가: 코드의 모듈성을..
💡 작업 순서AccountRepository, account.xml 코드 확인하기계좌 목록 기능 만들기account/list.jsp 파일을 생성(코드 복사 후 수정) package com.tenco.bank.repository.interfaces;import java.util.List;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Param;import com.tenco.bank.repository.model.Account;//AccountRepository 인터페이스와 account.xml 파일을 매칭 시킨다. @Mapper public interface AccountRepository { public..