전체 글
[스프링]쇼핑몰 - 상품 등록
이번 프로젝트는 남성의류 쇼핑몰이다. 스프링과 오라클 , jsp를 사용해 구현했다. 저번 프로젝트에서 구현했던 회원이나 게시판등의 기능들도 구현했지만 쇼핑몰 기능 부분만 작성해보려고 한다. 먼저 로직의 설명이다. 기본정보에서 상품페이지에 표시 될 정보들을 입력한다 ( 카테고리 , 제목 , 내용 등...) 기본정보를 입력 후 , 옵션설정에서 옵션추가를 눌러서 원하는 만큼의 옵션과 수량을 입력 할 수 있다. 상품자체의 수량이 아닌, 상품의 옵션 ( 95, red / 100,blue ) 등 같은 제품이라도 옵션에 따라 수량이 다를 수 있기 때문 에, 쇼핑몰 재고관리의 편의성을 높이기 위해 이런 방식으로 구현했다. 다음은 이미지 설정이다. 메인이미지와 서브이미지를 올릴 수 있다. 로직순서는 상품테이블에 inse..
스프링에서 ajax 사용의 유형들
저번 프로젝트를 진행하면서 , ajax를 일부로 많이 사용해봤는데 , 역시 익숙하지 않은 방식이라 손에 겨우익은, 한가지 방식만을 사용해서 데이터를 주고 받았다. (그냥 map으로 넘기기) 프로젝트를 마무리하고 , 부족했던 부분이라고 생각했던 JS와 ajax를 더 공부하면서 여러가지 ajax의 데이터를 서버로 넘기는 유형들을 알게 되었고, 아 이렇게 사용했으면 훨씬 코드를 간결하고 , 개발자인 내가 정말 읽기도 , 사용하기도 편했겠구나.. 하고 느꼈다. 특히 success 부분을 사용해서, 프로젝트를 좀 더 이쁘게(?) 만들 수 있었을텐데... 라고 많이 생각이 났다. 일단 Ajax를 사용할때엔, @RequestMapping 이아니라 @ResponseBody 또는 @RestController를 이용했다...
[스프링] AWS로 프로젝트 배포하기 - 6 (파일 외부저장)
이번엔 배포 후 파일 외부저장 위치를 바꿔보았다. 프로필사진이나 , 게시글 첨부파일 업로드, 다운로드에 사용하는 파일 외부저장소의 위치를 배포하게 되면 로컬에서 AWS 서버로 위치를 바꿔줘야 한다. 1. filezilla 접속 2. $ sudo su 로 root 계정 접속 3. cd /var/lib/tomcat9/webapps 로 이동 4. 마우스 오른쪽 클릭으로 디렉토리 생성 - upload - 이제 AWS 서버에 파일을 올릴 디렉토리를 만들어줬다. 5.Spring 코드 수정 - 첨부파일 폴더에 저장한 이미지를 로 불러올때 , servelt-context의 설정파일값을 사용한다. location의 위치를 새로만든 폴더로 바꿔준다. 파일 업/다운로드시에 사용할 파일 저장위치도 지정해준다. 이렇게까지 하면..
[스프링] AWS로 프로젝트 배포하기 - 5 (AWS RDS, DB 연결 )
전 글에서 프로젝트를 IP주소를 입력해서, 접속할 수 있도록 서버에 올렸다. 이번엔 DB연결을 해서 , 기능들이 정상적으로 작동하도록 해보겠다 . (오라클) 1. RDS 생성 - AWS 홈페이지에서 서비스 - RDS로 들어간다 - 데이터베이스 생성 클릭 - 엔진유형 오라클을 선택하고 버전을 12.1.0.2 로 설정한다 오라클은 12.1.0.2 버전까지만 프리티어가 적용된다. 꼭 ! 프리 티어로 설정해주자 2. 설정 - DB 인스턴스 식별자는 편한 이름으로. - 자격 증명 설정에서 마스터 사용자 이름, 마스터 암호는 꼭 메모해놓자. 3.DB 인스턴스 클래스 - 프리티어 선택시 자동으로 설정됨 4. 연결 퍼블릭 액세스를 예로 해준다. 생성버튼 클릭. 5. 보안그룹 설정 - 만들어진 데이터베이스를 클릭 - 중..
[스프링] AWS로 프로젝트 배포하기 - 4 ( FileZilla 설치 및 프로젝트 배포)
전 글에 이어, 이번엔 FileZilla를 설치해서 리눅스서버 파일 관리를 윈도우에서 하려고 한다. FileZilla는 FTP 프로토콜로 원격파일관리를 할 수 있도록 해주는 프로그램인데, 원래라면 리눅스로 접속해서 war파일을 올리고 ,설정을 하고 해야겠지만 이 프로그램을 이용하면 쉽게 관리할 수 있다. 1. 파일질라 다운로드 ( 클라이언트 ) FileZilla - The free FTP solution (filezilla-project.org) FileZilla - The free FTP solution Overview Welcome to the homepage of FileZilla®, the free FTP solution. The FileZilla Client not only supports FT..
[스프링] AWS로 프로젝트 배포하기 - 3 (Java, 톰캣설치)
전 글에 이어, 이번엔 설치하고 , 설정해서 접속한 puTTy에서 프로젝트 구동에 필요한 JDK , JRE , 톰켓 을 설치해보려고 한다. 1. $sudo apt-get install openjdk-11-jre 입력 (중간에 Y 누르기) - 자신의 버전에 따라 7 , 8 , 11 등 입력 2.$sudo apt-get install openjdk-11-jdk 입력 3.자바 환경변수 설정 $sudo nano /etc/profile 입력 -> 나노편집기 접속 방향키로 제일 아래로 내려와서 3줄 입력 export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export PATH=$JAVA_HOME/bin/:$PATH export CLASS_PATH=$JAVA_HOME/lib:..
[스프링] AWS로 프로젝트 배포하기 - 2 (puTTy 설치)
전 글에 이어, puTTy를 설치해 AWS 우분투 리눅스서버에 외부접속 (SSH 프로토콜) 을 해보려고 한다. 1. 푸티 설치 (클라이언트) PuTTY - 다운로드 (softonic.kr) 2. 설치된 프로그램 중 , puTTygen을 실행 3. Load클릭 후 인스턴스 생성 할 때 만든 키페어 열기 , 나오는 창들 다 [확인] 누르기 4. 그 후 Save private key를 눌러서 찾기 편한 위치에 저장 5. putty 실행 - ubuntu@탄력적IP (할당된 IPv4 주소) - Saved Sessions 에 원하는 이름 입력 후 Save버튼 누르기 6. Connection- SSH - Auth- Browse 클릭 7. private key 설정 후 Open을 눌러 서버에 접속 8.정상적으로 접속 ..
[스프링] AWS로 프로젝트 배포하기 - 1
이번엔 완성한 프로젝트를 AWS를 통해 배포했다. 처음엔 배포를 생각하지 않고 제작한 프로젝트라 수정하는데 하루가 꼬박 걸려버렸다.. 생각보다 난이도는 쉬웠지만 , 신경써야할게 한두가지가 아니고, 과정도 여러가지가 있어서 복잡했다. 나중에 제작할 프로젝트 배포를 위해 블로그에 기록을... (오라클 사용) 전체적인 과정을 설명하자면 - AWS 홈페이지에서 가서 회원가입 ( 프리티어 계정 ) - AWS EC2로 인스턴스 생성 (ubuntu 서버 생성) - puTTy를 이용해서 인스턴스 서버로 접속 (SSH 프로토콜) - puTTy로 인스턴스서버 ( Liunx ) 에 JAVA , Tomcat 설치 - fileZilla 라는 FTP 프로그램으로 war파일로 변환한 프로젝트를 리눅스서버에 업로드 - AWS RDS..
ORA-01861:literal does not match format string 에러
쿼리가 적힌 Mapper.xml 에서, ORA-01861:literal does not match format string 오류가 출력됐다. 확인해보니 날짜를 비교하는 쿼리에 문제가 있었다. where REGDATE >= TO_CHAR(SYSDATE-7,'YYYYMMDD' ) where 조건문에 REGDATE 는 DATE 타입인데 비교되는 값은 String 타입인 TO_CHAR 이기 때문이였다. where TO_CHAR(REGDATE,'YYYYMMDD') >= TO_CHAR(SYSDATE-7,'YYYYMMDD' ) 데이터 타입을 맞춰줘서 해결, 로컬 톰캣서버를 구동할때엔 잘 구동했지만, AWS로 배포 후에는 에러가 나왔다. 자바 또는 다른 응용프로그램에서는 에러가 발생 할 수 있다고 하니, 현재 에러가 ..
IceWater 커뮤니티 프로젝트 마무리
IceWater 기능 구현이 마무리 됐다. 추가한 거의 모든기능에 대한 글을 작성했다. 누구에게 알려주기 위한 친절한 글은 아니였지만 , 그래도 글을 쓰기위해 머릿속에서 다시한번 정리하고, 로직을 생각하며 글을 생각한 덕분에 시간은 많이 걸렸지만 훨씬 깊은 이해를 하게됐다. 특히, 이해를 통한 응용에 참 많은 도움을 받았다. 중간엔 블로그에 이런 글로써 기록하는게 의미가 있을까 싶었지만, 나중을 위한 기록을 포함, 복습에도 좋았다. * 회원가입 비동기 유효성 검사 비밀번호 암호화 이메일 인증 -인증 비밀번호 암호화 * 로그인 인터셉터 활용 - 세션부여 - 자동로그인 - 로그인,비로그인시 접속 제한 아이디 찾기 비밀번호 찾기 - (임시비밀번호 메일) 소셜로그인 * 게시판 다중게시판 페이징 검색 정렬 - 최..