순서 1. JDBC 연결 및 테스트 1.1 Oracle 1.2 JDBC 테스트 2. 커넥션 풀(HikariCP) 설정 및 테스트 3. MyBatis 라이브러리 추가 및 SQLSessionFactory 설정 4. Log4jdbc-log4j2 라이브러리 추가 및 설정 1. JDBC 연결 및 테스트 JDBC란? Java DataBase Connectivity의 약자로서 자바에서 데이터베이스와 관련된 작업을 처리할 때 사용하는 API이다. DBMS 종류에 상관없이 하나의 JDBC API를 사용해서 데이터베이스 작업을 처리할 수 있습니다. JDBC API를 사용하는 애플리케이션의 대략적인 구조는 아래와 같습니다. 자바(웹) 애플리케이션 ▶ JDBC API ▶ JDBC 드라이버 ▶ 데이터베이스 - 자바(웹) 애플리..
프로젝트 환경 WINDOW 10 STS3 Oracle 11g Apache Tomcat 9.0 JAVA 1.8 순서 이클립스 인코딩 설정 변경 MVC 프로젝트 생성 및 스프링 버전 변경 프로젝트 자바(JDK, 컴파일러) 버전 변경 라이브러리 추가 및 변경 1. 이클립스 인코딩 설정 변경 프로젝트 진행 중 '한글' 데이터가 깨지는 것을 방지하기 위해 이클립스(Eclipse)의 기본 인코딩(encoding) 설정을 UTF-8로 변경합니다. - Workspace - CSS Files - HTML Files - JSP Files - XML Files 변경 방법 상단 내비게이션 바의 Window를 클릭 후 Preferences 클릭합니다. 좌측 상단 검색 상자에 enco까지 타자를 쳐주면, 설정 변경해야 할 목록이..
순서 1. 업로드 UI 추가 2. 선택한 파일 접근하기(JavaScript) 3. 파일 체크(JavaScript) 1. 업로드 UI 추가 사용자가 이미지를 추가할 수 있는 인터페이스를 추가해줬습니다. 'insertProduct.jsp' 페이지에서 상품 카테고리 선택 부분의 상단에 새로운 항목 공간을 추가해줍니다. 위에서 추가한 태그는 1개의 파일만 추가할 수 있는 형식입니다. 만약 여러 개의 파일을 추가하고 싶다면 'multiple' 속성을 부여해줍니다. 서버를 구동시켜서 '상품 등록' 페이지로 이동을 하면 다음과 같이 출력된 것을 볼 수 있습니다. 2. 선택한 파일 접근하기 사용자가 선택한 파일을 서버에 전송을 하기 위해서 선택된 파일에 접근하는 방법을 알아야 합니다. 먼저 파일 정보가 어떠한 형태로 ..
순서 1. 전체적 방향 2. 라이브러리 추가 3. web.xml 4. multipartResolver 등록 1. 전체적 방향 '상품 등록 페이지'에서 사용자가 이미지를 선택을 하고 다른 상품 정보를 다 작성한 뒤 '등록 버튼'을 눌렀을 때 상품 이미지를 업로드하고, 업로드 이미지 정보를 DB 저장을 하는 방식으로 구현했습니다. 해당 방식으로 했을 때 동작 방식은 다음과 같습니다. (뷰) 사용자가 이미지를 선택 => (뷰) 선택된 이미지 서버로 전송 => (서버) 전송받은 이미지 저장 후, 저장 한 이미지 정보 뷰로 재전송 => (뷰) 전송받은 데이터를 활용하여 이미지 미리 보기, 태그에 데이터 저장 => (뷰) '등록 버튼' 클릭 => (서버) 이미지 정보 DB 저장 서버에서 첨부 파일을 처리하기 위해서..
순서 1. Mapper 메서드 2. Service 메서드 3. Controller 메서드 4. View 처리 1. Mapper 메서드 상품 정보 삭제 쿼리를 수행하는 메서드를 AdminMapper.java 인터페이스에 추가합니다. /* 상품 정보 삭제 */ public int productsDelete(int product_id); AdminMapper.xml 앞서 선언한 메서드가 실행해야 할 태그와 쿼리문을 작성합니다. delete from product where product_id = #{product_id} 2. Service 메서드 AdminService.java 삭제 Mappper 메서드를 호출하는 Service 메서드를 작성했습니다. AdminService.java에 아래의 메서드 선언부를 ..
순서 1. Mapper 메서드 2. Service 메서드 3. Controller 메서드 4. View 처리 4.1 버튼 동작 4.2 유효성 검사 적용 4.3 '상품 관리(목록) 페이지' 4.4 테스트 1. Mapper 메서드 수정 쿼리를 수행하는 Mapper, Service, Controller 메서드를 만들었습니다. 먼저 Mapper 단계의 메서드부터 작업했습니다. AdminMapper.java 상품 정보 수정 쿼리를 실행하는 메서드 선언부를 작성합니다. /* 상품 수정 */ public int productsModify(SwanVO vo); AdminMapper.xml 앞서 작성한 메서드가 실행할 태그와 쿼리문을 작성합니다. update product set product_title = #{prod..
상품 정보 수정에서 상품 카테고리 상품 카테고리는 '상품 조회' 페이지에서 처럼 DB에 저장된 카테고리가 출력이 되면서, '상품 등록' 페이지와 같이 대분류 선택에 따라 중분류가 초기화 및 변경되도록 해야 합니다. 따라서 '상품 조회', '상품 등록' 페이지에서의 사용한 상품 카테고리 관련 코드를 활용하여 작성했습니다. 먼저 DB에 저장된 카테고리가 선택된 상태로 출력시킬 코드를 추가해줍니다. 아래의 코드는 $(document). ready(function(){}) 메서드 내부에 반드시 작성해 주어야 합니다. /* 카테고리 */ let cateList = JSON.parse('${cateList}'); let cate1Array = new Array(); let cate2Array = new Array(..
순서 1. 수정 페이지 이동 2. 수정 페이지 출력 1. 수정 페이지 이동 수정 페이지로 이동할 수 있는 인터페이스인 버튼과 페이지 이동에 사용될 URL 매핑 메서드를 작성하겠습니다. 더불어 '상품 목록 페이지(admin.jsp)' 이동 버튼 기능도 구현을 합니다. product_detail.jsp 먼저 'product_detail.jsp'는 상품 등록 페이지 코드를 긁어 왔기 때문에 태그와 태그가 있습니다. 해당 코드를 아래의 코드로 각각 수정해줍니다. 태그의 button 속성을 동작시키기 위해서
순서 1. 기본 방향 및 필요 데이터 세팅 2. 중분류 카테고리 3. 대분류 카테고리 1. 기본 방향 및 필요 데이터 세팅 '상품 등록(admin.jsp)' 페이지 때는 카테고리 항목 사용자 선택에 따라 대분류, 중분류 순으로 출력이 되도록 구현을 했습니다. 하지만 '상품 조회(product_detail.jsp)' 페이지의 경우 카테고리는 DB에 등록되어 있는 카테고리에 따라 선택(selected)된 상태로 출력이 되어야 합니다. 지금 현재의 카테고리 출력에 사용할 수 있는 데이터는 사용자가 최종적으로 선택하였던 DB에 등록되어 있는 중분류의 코드만 있습니다. 문제는 해당 데이터만으로는 대분류 항목까지 출력시킬 수는 없습니다. 대분류를 출력시키기 위해선 카테고리 항목이 무엇이 담겨있는지 알 수 있는 카테..