반응형

spring boot 18

[spring boot] jsonview bean 적용방법

Controller로 ajax 등의 요청을 했을 때, json형식으로 return 해주는 방식은 크게 두 가지가 있다. 1. Controller return type을 String으로 하고, 별도의 Json API를 사용해 parsing해서 json 형식으로 return 해준다. 2. MappingJackson2JsonView를 사용해서 ModelAndView를 json 형식으로 반환해 준다. 1번의 경우에는 매우 귀찮게 일일이 map object에 담아서 for 돌려서 만들어 주는 방법도 있고 Gson 등 Json API들을 사용해서 만들어 주는 경우도 있다. 나의 경우 spring boot를 주로 사용하므로 jsonview를 bean에 등록하고 ModelAndView에 담아서 사용하는 것으로 사용한다..

spring boot 2021.07.24

[springboot] 문자+숫자, 숫자 6자리 난수 만들기

회원가입 시 이메일 인증을 사용하면서 6자리를 만들어주는 난수발생기가 필요했다. import java.util.Random; public class HelloWorld{ public static void main(String []args){ StringBuffer key = new StringBuffer(); Random rnd = new Random(); for (int i = 0; i < 6; i++) { int index = rnd.nextInt(3); switch (index) { case 0: key.append(((int) (rnd.nextInt(26)) + 97)); break; case 1: key.append(((int) (rnd.nextInt(26)) + 65)); break; case..

spring boot 2021.07.22

[spring boot] yml로 값 가져와서 static 클래스변수에 값넣기

프로젝트 도중 properties에 있는 값을 가져와 java static 변수로 초기화 해서 사용해야 하는 상황이 왔습니다. 하지만 아직도 저는 @value로 가져오는 값 초기화와 static 클래스 변수 초기화의 순서 차이를 뚜렷하게 알지를 못합니다. 저의 경우 static 블록으로 static 변수를 초기화 해주는 SET메소드를 불러와 static 클래스 변수를 초기화 하기 때문에 아래에 써내려갈 해결책과는 케이스가 달라서 저는 적용을 못했습니다. 이러한 해결책을 찾으시는 분들에게 도움이 되고자 링크를 적겠습니다. 1. bean으로 해결 https://stay-hungry.tistory.com/26 [Spring boot yml 파일에서 값 가져오기] Spring boot load data from..

spring boot 2021.07.22

[Spring boot] Server Port 변경 방법

Spring boot를 사용하다 보면 가끔 Port 8080 was already in use라는 오류가 나오곤 하는데 해당 포트는 웹에서 너가 이미 사용중이다.라는 뜻이다. 하지만 포트를 계속 잘 쓰다가 오류가 발생하는 경우가 있다. 내 경험상 해결방법은 첫째로는 아예 이클립스를 껏다가 켜보거나 컴퓨터를 껏다가 켜본다. 내 생각으로는 이클립스에 설치되어 있는 톰캣이 이클립스가 종료되면서 톰캣을 제대로 종료를 안해서 포트를 안닫고 나와 버려 다시 서버를 키면 포트가 사용중이다라는 오류가 발생하는것 같다. 첫번째 방법으로는 안된다면 어쩔수 없이 포트번호를 바꿔서 사용을 해야 합니다. 포트 변경 spring boot에서 대부분의 설정들은 resources 디렉토리 아래 application.propertie..

spring boot 2021.07.22

[spring security] spring boot에 가장 빠르게 적용해 보자[1]

예전에 spring boot에 spring security를 이론은 제쳐두고 적용해서 글을 쓴적이 있는데 다시 프로젝트에 사용할 일이 있어서 오랜만에 제 글을 다시 보니 역시 뭐가 뭔지 하나도 모르겠더라고요;;; 다시 공부하는겸 이번 글은 간단하게 이론편으로 글을 올리고 예전적어둔 글을 적용편으로 사용하도록 하겠습니다. Spring Security(스프링 시큐리티)란? 스프링 시큐리티는 스프링 기반의 애플리케이션의 보안(인증과 권한,인가 등)을 담당하는 스프링 하위 프레임워크이다. 주로 서블릿 필터와 이들로 구성된 필터체인으로의 위임모델을 사용한다. 그리고 보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에 개발자 입장에서는 일일이 보안관련 로직을 작성하지 않아도 된다. 출처: https://cod..

spring boot 2020.06.28

[springboot] 이미지를 프로젝트 내의 폴더에 지정해서 업로드 해보자(폴더가 없으면 자동으로 생성)

기능설명 개인 포폴용도로 만드는 쇼핑몰 개발중 이미지 업로드는 필수였습니다. 이미지를 업로드 하는것 뿐만 아니라 같은 이미지를 또 활용할 수 있으므로 이름도 무작위로 변경하여 저장하였습니다. 썸네일 이미지를 따로 만들어 admin 페이지에서 상품목록을 볼때, user가 상품들이 모여져 있는 페이지에서 활용할 용도로 기능을 추가 했습니다. admin이 상품의 이미지를 업로드를 하지 않으면 미리 준비해둔 이미지로 대체하는것으로 했습니다. 폴더는 관리자가 상품을 언제 등록했는지 알수 있게 년/월/일로 나누어 폴더를 자동 생성할 수 있게 했습니다. 결과물 register.jsp Upload Choose file 저장경로 &nbsp&nbsp 등록 AdminController.class //상품 등록 @PostMa..

spring boot 2020.05.21

[spring boot] 쇼핑몰 장바구니 선택한 상품만 금액 계산 및 주문

이 글을 적는 이유 저는 쇼핑몰 업무의 전문성을 가진 개발자가 되는게 목표입니다. 그래서 개인 포트폴리오도 쇼핑몰로 주제 선정하여 구현하게 되었습니다. 개인 쇼핑몰 프로젝트에서 제일 중요하고 개인적으로 어려웠던 부분은 장바구니 기능인 것 같습니다. 특히, 선택한 주문만 바로 금액이 합계가 되는 스크립트 부분과 선택한 상품만 DB에 보내는 두 개의 부분이 어려웠습니다. 관련 글을 참고하고자 인터넷검색으로 찾기도 너무 어려웠습니다. (아직 검색 능력이 부족한탓인가?) 이러한 장바구니 기능을 필요로 하는 개발자들에게 도움이 되기를 바라며, 나 스스로는 다음에 비슷한 기능을 더 능숙하게 다루기를... +@ 기존 글에는 cartList.jsp를 잘라서 보여드렸는데 스크립트의 부분적인 모습보다는 장바구니 전체 소스..

spring boot 2020.05.20

[spring boot] 이메일 본인 인증 만들기

쇼핑몰 토이 프로젝트를 만들면서 회원가입시 이메일 본인 인증이 필요했다. email로 아이디를 만들고 아이디 중복 확인 후 유저가 작성한 이메일로 인증 코드를 보내고 메일로 보낸 코드와 유저가 메일을 받고 작성한 코드가 일치되면 계속해서 회원가입을 작성하게하는 방식으로 만들어봤다. 1. mail.properties 작성 2. EmailConfig 작성 3. EmailServiceImpl 작성 4. controller작성 5. 작동 확인 mail.properties mail.smtp.auth=true mail.smtp.starttls.required=true mail.smtp.starttls.enable=true mail.smtp.socketFactory.class=javax.net.ssl.SSLSocke..

spring boot 2020.04.28

[ckeditor] spring boot + jsp에 글쓰기 플러그인 적용(이미지경로 설정)

서론 지금 하는 프로젝트에 위지윅 에디터를 적용할 생각입니다. 적용하는 부분은 쉬웠지만 이미지 경로 때문에 며칠을 날려버렸습니다. 원래는 이미지 파일을 이클립스 외부에 저장하고 가져올 생각이었지만 길고 긴시행착오 끝에 이클립스 내부에 저장시키는 방법으로 적용하였습니다. 위지윅 에디터 위의 사이트에서 다운로드하셔서 적용시키시면 됩니다. cdn으로 적용시키기보단 프로젝트를 만들 때에는 최대한 오류를 지양하기 위해 직접 다운 받아서 적용시키는 것을 추천합니다. 다운 받으신 후 위와 비슷한 경로에 넣어 주시고 html에 적용시켜 줍시다. 상품소개 Json형태의 변수인 ckeditor_config를 선언 및 설정하고, 마지막 줄의 코드 CKEDITOR.replace([텍스트에어리어의 ID, 변수]) 빠뜨리지 말고..

spring boot 2020.03.24
반응형