본문 바로가기

728x90

전체보기

(65)
파이널 프로젝트를 마치며 학원에서의 마지막 프로젝트가 끝났다.6월 초부터 8월 초까지 약 두달간 진행했던 프로젝트였다.세미프로젝트와 주제가 같은 숙소 임대, 예약 프로젝트를 진행했다.왜 같은 주제로 했냐면 해당 주제에 사용되는 기능을 구현하는 재미가 있었다.숙소 등록, 숙소 예약 등 해당 주제의 필수 로직프로필 등록하거나 수정 하는 것. 호스트와의 대화(메시지 기능)세미프로젝트는 JSP, java로 구현을 했었는데 Spring으로도 구현해보고싶었다.view파일에서 java코드를 아예 제거해버리는 등, 좀 더 명확하게 mvc패턴을 구현해보고싶었다등등등...의 이유가 있었다. 프로젝트 초반 3주동안은 설계만 진행했다.메뉴구조도, 와이어프레임, ERD 설계, ERD 규칙 정의서(코드그룹, 코드키) 등등...특히 ERD는 2주동안 하니..
VO, DTO, DAO 값(데이터)을 주고받는 방법에는 VO, DTO, DAO가 있습니다. VOVO는 Value Object로써,DTO와 유사하다고 할 수 있습니다.그러나 DTO와 다른 점은 Read-Only 특징(getter만 가능하다)입니다.VO는 값의 수정이 불가능합니다. DTODTO는 Data Transfer Object로써,계층( Controller, Service, 등)간 데이터를 이동할 때 사용되는 객체입니다.로직을 갖고 있지 않는 순수한 데이터 객체이며, getter/setter 메서드만을 갖습니다.DAO DAO는 Data Access Object로써,데이터베이스와 가장 가까운 객체라고 할 수 있습니다.데이터베이스에서 값을 CRUD할때 이용되는 객체입니다.
스프링이란 스프링의 종류스프링 프레임워크 - 스프링의 가장 핵심 스프링 부트 - 여러가지 스프링 기술들을 편리하게 사용할 수 있게 도와주는 것스프링 데이터 - CRUD를 좀 더 편리하게 사용할 수 있게 도와주는 것스프링 세션 - 세션 기능을 편리하게 사용할 수 있도록 해주는 것스프링 시큐리티 - 보안과 관련된 것스프링 Rest Docs - API 문서와 테스트를 엮어 문서화를 편하게 해주는 것스프링 Batch - 대량의 데이터 업데이트를 처리하는 것에 도움을 주는 것스프링 클라우드 - 클라우드 기술에 특화된 기술등등이 존재한다. 보통 스프링 부트를 많이 사용한다. 스프링 부트는 스프링을 편리하게 사용할 수 있도록 도와주는 기술이다.스프링 부트가 외부 라이브러리 버전 등이나 설정 같은 것을 알아서 맞춰서 설정해준다...
스프링 시작하기 현재 IDE로는 sts 이클립스를 사용하고 있다.sts내부에서 스프링 부트를 사용해서 프로젝트를 생성할 수 있다.https://start.spring.io/ 위의 사이트 형식 그대로 sts에서 사용할 수 있도록 되어있다.    가장 처음에는 프로젝트 이름과 패키지명을 정하고, 빌드 타입(maven, gradle), 패키징(jar, war), java버전, 언어(java,kotlin,groovy)를 선택한다.다음으로 어떤 라이브러리를 포함할지 선택한다.여기서 선택하지 않아도 추후에 추가가 가능하다.finish를 누르면 프로젝트가 생성된다.프로젝트이름Application.java 파일을 spring boot app으로 실행시키면 서버가 구동된다. 로컬일경우 localhost:8080으로 접속하면 아래의 페이..
쇼핑몰 만들기를 마치며 다이어리 이후의 두번째 개인프로젝트를 마쳤다순수하게 html,css와 jsp로 웹을 만들었고 CRUD기능을 사용했다 코드로 구현하면 구현할수록 추가되고, 수정되어야 할게 늘어났다.그럴때마다 처음 설계할 때 제대로 해야겠다는 생각이 들었다.물론 100% 완벽한 설계는 없고, 구현하다보면 분명 추가할 것들이 생길 것이다.그러나 설계서같은 문서나, 마인드맵 등 기초 작업을 잘 해놓는다면 크게 어려움 없이 추가 및 수정이 가능할것 같다고 생각이 들었다. 마무리를 조금 더 빨리 적었어야 했는데, 세미 팀 프로젝트를 하는 바람에 텀이 좀 길어진 거같다. 앞으로 Spring, MyBatis, JPA, JavaScript와 같은 웹개발 필수 요소들을 배우는 대로쇼핑몰 프로젝트나 다이어리 프로젝트에 적용 해보고자 한다!
쇼핑몰 만들기(13)-고객 페이지(구매확정, 리뷰 기능, pw히스토리 테이블 생성) 이번에는 고객이 구매를 확정하는 기능,리뷰를 작성하는 기능을 구현하고자한다.또한 비밀번호를 변경 할 경우 이전에 사용했던 비밀번호를 관리하기위해(이전에 사용했던 pw 사용못하게 하는 등) pw히스토리 테이블을 만들고 만들었던 기능을 좀 변경하도록 하겠다 리뷰를 작성하기 위해 따로 리뷰 테이블을 생성한다.리뷰 테이블의 기본키를 주문 테이블의 주문 번호로 설정해서, 주문 번호 하나당 리뷰 하나를 작성 할 수 있도록 한다.그리고 상품 상세페이지에 들어갈때 해당 리뷰도 같이 출력하게 할것이다 아래는 리뷰 테이블을 생성한 것이다.orders_no는 주문테이블의 기본키이고 리뷰테이블에서는 기본키이자 외래키이다. 리뷰 테이블을 생성했으니 구매확정 기능을 통해 구매확정을 하고, 리뷰를 작성하는 기능을 구현하겠다. up..
쇼핑몰 만들기(12)-관리자 페이지(주문관리, 주문 상태 변경, 주문취소) 이번에는 emp가 고객의 주문상태를 변경하는 기능, 고객의 주문을 취소하는 기능을 만들어보 그 전에 앞서 관리자 페이지에 주문관리 페이지를 만들었다.주문관리 페이지는 고객들의 주문이 리스트로 보여진다. empOrdersList.jsp> ordersList = OrdersDAO.selectTotalOrdersList(startRow, rowPerPage);%> 전체 고객 주문 목록 상품정보 주문일자 주문고객 주문번호 주문금액 주문상태 m : ordersList) { // 이미지를 출력하기 위해 상품 데이터를 가져오는 메서드 실행 String imgName = (String)GoodsDAO.select..
쇼핑몰 만들기(11)-고객 페이지(주문하기) 이번에는 고객이 상품을 주문할 수 있도록 해보겠다단 몇가지 조건을 두고 구현하고자 한다.일단 상품은 한가지씩만 구매할 수 있다. 개수는 여러개가 가능하다장바구니 없이 바로 구매하게된다.상품을 선택하면 상품 상세 페이지로 이동하게 되고, 주문하기 버튼을 누르면 주문 폼으로 이동한다 주문을 하게되면 [DB]shop.orders로 데이터가 insert된다.아래에 orders의 테이블 구조이다주문번호와, 고객의 id, 상품번호, 전체 수량 및 가격, 주소, 상태(결제완료, 배송중, 구매확정), 수정일, 생성일로 구성돼있다. 그럼 주문 폼의 코드를 보겠다.customerOrdersForm.jsp loginCustomer = (HashMap)session.getAttribute("loginCustomer");%> ..

728x90