E-Commerce

😎 STS3 Spring 쇼핑몰

STS3 쇼핑몰 프로젝트[27] 업로드 이미지 정보 등록 - 4(트랜잭션 적용)

트랜잭션(Transaction) 적용 Service 단계의 swanEnroll() 메서드는 내부적으로 각각 쿼리를 실행하는 Mapper 단계의 메서드를 2개 호출합니다. 그런데 앞서 작성된 코드에서 2개의 Mapper 메서드 중 하나의 메서드에서 에러가 발생한다면, 에러가 발생하지 않은 메서드의 쿼리문만 실행되고, 에러가 발생한 메서드의 쿼리문은 실행되지 않게 됩니다. 만약 해당 상황이 결제와 관련됐다고 가정한다면, 매우 심각한 문제가 될 것입니다. 이러한 문제가 발생할 수 있는 상황에서 사용할 수 있는 기능이 바로 스프링의 트랜잭션(Transaction) 기능입니다. 트랜잭션 기능을 사용하면, 내부적으로 2개 혹은 그 이상의 작업 단위로 묶인 메서드가 하나의 단위처럼 동작할 수 있게 되고, 그 결과를 ..

😎 STS3 Spring 쇼핑몰

STS3 쇼핑몰 프로젝트[27] 업로드 이미지 정보 등록 - 2

순서 1. 방향성 2. imageEnroll() Mapper 3. swanEnroll() 적용 [Mapper 단계] 1. 방향성 제일 먼저 이미지 정보 테이블에 삽입 쿼리를 실행하는 Mapper 메서드인 imageEnroll()를 작성했습니다. 보통의 경우 imageEnroll() 메서드를 호출하는 Service 단계의 메서드를 새로 작성했지만, 이번 경우엔 상품 정보 등록 Mapper 메서드를 호출하는 Service 단계의 swanEnroll() 메서드에서 imageEnroll() 메서드를 호출하도록 했습니다. Service 단계의 swanEnroll() 메서드는 뷰(VIEW)로부터 전달받은 데이터 SwanVO를 활용하여 상품 정보와 이미지 정보를 DB에 등록하는 작업을 하게 했습니다. 필요한 prod..

😎 STS3 Spring 쇼핑몰

STS3 쇼핑몰 프로젝트[25] 업로드 된 이미지 출력 - 2

순서 1. 태그 추가 및 CSS 설정 추가 2. 이미지 출력 메서드 작성(showUploadImage()) 3. 사용자가 정의한 값 즉 이미지만 선택할 수 있도록 태그에 속성 추가 4. encodeURIComponent() 메서드 적용 1. 태그 추가 및 CSS 설정 추가 업로드 파일 선택 태그 바로 아래 업로드 한 이미지를 볼 수 있도록 코드를 추가했습니다. 이후 CSS 설정을 추가했는데, 따로 작성하지 않고 해당 insertProduct.jsp 파일에 바로 추가했습니다. 2. 이미지 출력 메서드 작성(showUploadImage()) AJAX success 속성의 콜백 함수에 전달받은 이미지 데이터를 활용하여 이미지가 출력되도록 코드를 작성했습니다. 작성할 코드량이 많았기 때문에 콜백 함수 내부에 작..

😎 STS3 Spring 쇼핑몰

STS3 쇼핑몰 프로젝트[25] 업로드 된 이미지 출력 - 1

순서 1. 전체 방향 2. URL 매핑 메서드 작성 및 File 객체 생성 3. 'Content Type' 명시 및 데이터 파일 변환 4. 테스트 1. 전체 방향 '파일 경로(유동 경로)' + '파일 이름' 데이터를 파라미터로 전달받고, 해당 데이터에 맞는 이미지 파일을 찾아 뷰(VIEW)에 이미지 데이터를 전송했습니다. 이미지 파일을 주고받기 위한 데이터 타입은 byte 배열(byte [])로 했습니다. 이미지 파일은 바이너리 파일 범주에 들어가기 때문입니다. URL 매핑 메서드의 반환 타입은 ResponseEntity 객체를 사용했습니다. ResponseEntity의 경우 HTTP response 메시지의 header와 status를 조작할 수 있기 때문입니다. 이미지 출력 메서드 구현 방식 파라미터..

개발자 린다씨
'E-Commerce' 태그의 글 목록