목록Spring (9)
today_is
오늘의 목표프로젝트에서 사용해봤던 mail 보내기 과정을 정리해보겠다 먼저 설정해주어야할 작업 1) 프로젝트 내에서 바로 id, password 를 임의로 작성해줄 것이기 때문에편의성을 위해서는 2차인증을 "해제" 해두자. 2) 네이버 메일 -> 환경설정 -> POP3/IMAP 설정에서, POP3/SMTP 설정 , IMAP/SMTP 설정 둘다 사용함으로 체크해둔 후, "저장"해두자. 꼭, 네이버가 아니더라도2번에서 언급한 환경설정만 해둔다면 메일 보내기 가능하다 3) 프로젝트에 필요한 설정들 해주기 pom.xml : 의존성 추가( ... 중략 ...) org.springframework spring-websocket ${org.springframework-version} ..
1달 동안 같은 목표를 향해 달려온 팀원들에게 너무 고마웠다 봄에 프로젝트를 진행했던 터라,하루는 날잡고 다같이 꽃구경도 갔었다 !! 매일같이 만나서 소통하면서 하나의 결과물을 만든 경험을 하고나니까정말 소중한 '전우'를 얻은 기분이 든다 ㅎㅎ 프로젝트 끝나고도 자주 만날정도로 아주 친밀한 사이가 되었다 수줍게 브이하고 있는 나 뿌듯했던 점 프로젝트가 끝나고 나서, 팀 내 기여도 투표를 했는데 조원들이 나를 1등으로 뽑았다 앞장서서 의견내고 피드백 내용들 정리해서 보여줬던 것들이 너무 도움이 되었다고 말해주셔서 감동이었다 프로젝트 회고를 쓰기 위해서 그간 나누었던 대화들을 보니까 내가 정말 노력을 많이 했다는것을 느낄 수 있었다 이번 프로젝트는 기술적 역량을 높였던 과..
이메일 인증 javax.mail 을 이용하여 mailComponent 를 만들어서 이메일 인증 기능을 추가해보겠다 초기에는 왼쪽화면처럼 아이디만 입력할 수 있도록 하고"계정이 존재합니다" 라는 조건을 만족하면,이메일 입력창이 활성화 된다 이전 실습에서 배웠던 hidden을 이용하여, 입력을 비활성화 하는 방법을 떠올렸다 3가지의 분기를 이용하여, 반환값이 -1 이라면 빈 문자열을 입력한 상태.반환값이 1 이라면 재설정할 비밀번호를 2번 입력한 것이 일치할때.반환값이 0 이라면 입력이 불일치할때로 나뉜다 이전 실습과 다르게 추가된 부분이 있다면, 숫자와 대문자 중에서 랜덤으로 값을 받아와서 총 7글자 문자열을 인증번호로 이용한다. list 출력 나는..
오늘의 목표product 테이블을 만들어서 간단하게 상품관리, 매출 등을 볼 수 있는 페이지를 만들어보자 1 테이블로 구성해야 하는 항목 : CRUD 작업의 대상 1) 상품 테이블 (Product) 2) 매출 테이블 (Sales) 2 각 테이블에 대한 스키마(뼈대)를 구성 상품테이블상품번호(primary key)상품명이미지단가수량NUMBERVARCHAR2VARCHAR2NUMBERNUMBER (default 0) 매출테이블매출번호(primary key)날짜상품번호(foreign key)판매수량NUMBERDATENUMBERNUMBER 3 각 테이블에 대해서 구현할 CRUD기능 상품테이블기능설명insert상품 등록select상품 조회 (전체 목록 / 단일 ..
오늘의 목표json 와 ajax 에 대해서 알아보고, ajax 전용 컨트롤러인 @RestController를 사용해보자.JSON: javaScript Object Notation 자바스크립트 토대로 개발되었으며, 여러 프로그래밍언어에도 사용할 수 있는 독립형 언어이다. 데이터 객체의 형태는 속성 - 값 쌍 형태 주로, 웹 브라우저와 웹 서버간 비동기 통신, 데이터 교환 등에 사용된다 home.jspday10 ex01 - ajax(1) 정수반환 ex02 - ajax(2) 문자열 반환 ex03 - ajax(3) map 반환 ex04 - ajax(4) List< DTO 반환(DB 이용 O) Ex01Controller: 일반적인 스프링 컨트롤러 함수는 viewName을 반환해서, JSP로 포워딩 혹..
오늘의 목표 투표 기능을 추가한 설문지를 만들어보자SurveyDTOpackage com.itbank.model;import org.springframework.web.multipart.MultipartFile;// TABLE : SURVEY// IDX NOT NULL NUMBER // TITLE NOT NULL VARCHAR2(500) // WRITER VARCHAR2(500) // OPTION1 NOT NULL VARCHAR2(500) // OPTION2 NOT NULL VARCHAR2(500) // IMAGE1 NOT NULL VARCHAR2(500) // IMAGE2 NOT NULL VARCHAR2(500) public class SurveyDTO { ..
오늘의 목표Interceptor 를 만들어서 일부 기능은 조건에 부합하는 사용자만 이용할 수 있도록 제한을 걸어보자 인터셉터가 필요한 이유ex) 로그인 필요한 컨트롤러 함수에는 같은 코드를 일괄 적용 가능 if(session.getAttribute("login") == null) { return "redirect:/member/login"; } 그러나, 컨트롤러 함수마다 반환형이 서로 다르고 HttpSession 을 매개변수로 추가해줘야 하기 때문에 번거롭다 메뉴의 개수가 늘어날수록 작업은 점점 더 번거로워지기 때문에이 부분을 담당할 인터셉터가 필요하다. Handle컨트롤러의 실행함수PreHandle컨트롤러 실행하기 전에 작동하는 것PostHandle컨트롤러가 끝나고 jsp로 넘어가기 전에 실행..
오늘의 목표HashComponent 를 이용하여, 비밀번호에 해시함수를 적용시켜보자 HashComponent : userpw 를 sha-512 해시 알고리즘이 적용된 상태로 바꿔주기 위한 컴포넌트 (보안을 위해서) @Component: Controller, Service, Repository 에 해당하지 않지만, 특정 내용에 대한 코드를 수행하기 위해 작동하는 스프링 빈package com.itbank.component;import java.math.BigInteger;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import org.springframework.stereotype.Component;@..