본문 바로가기

1.프로그래밍/Java

(44)
[Spring Boot] @ResponseBody 사용하기 (Spring 에서 Ajax, Json 통신하기) [Spring Boot] @ResponseBody 사용하기 (Spring 에서 Ajax, Json 통신하기) Java에는 JSON 형식이 존재하지 않는다. 당연하다 JSON은 JavaScript Object Notation 이기 때문이다. 그래서 Spring에서 JSON 형식을 사용하기 위해 Jackson 혹은 Gson을 사용한다. 그렇다면 Javascript로 Ajax 혹은 Fetch API로 API를 개발 할 때, Controller에서 데이터를 보내 주려면 JSON 형식으로 보내야 되는데 그 때 사용하는게 @ResponseBody 이다. 혹은 @RestController을 사용해도 된다. @RestController는 단순히 말하자면 @Controller + @ResponseBody이다. @Resp..
[Spring Boot] Interceptor 설정 / 로그인 확인 (Gradle, HandlerInterceptor, WebMvcConfigurer) [Spring Boot] Interceptor 설정 / 로그인 확인 (Gradle, HandlerInterceptor, WebMvcConfigurer) 게시판을 개발 하던 중, Interceptor를 귀찮아서 설정 안하고 하고 있었다. 그런데, 서버를 재실행하고 다시 로그인창으로 가서 로그인을 하고 게시판 작성 페이지로 가는게 더 귀찮아졌다. 그래서 Interceptor 설정을 한김에 내가 Interceptor 글 작성을 안했길래 글로 남긴다. 상황은 이미 로그인이 되어 있는 유저가 다시 로그인 페이지에 접속할 경우와 로그인이 안된 유저가 게시글 작성 페이지에 들어올 경우 두 가지이다. Interceptor란? 먼저 Interceptor가 무엇인지 간단하게 집고 넘어가자면 Interceptor란 컨트롤러..
[Spring Boot] 로그인 Session 처리하기(HttpServletRequest, HttpSession) [Spring Boot] 로그인 Session 처리하기(HttpServletRequest, HttpSession) 로그인 기능을 구현하면서 Session처리를 하려고 한다. 그렇기에 Cookie 와 Session이 무엇인지 부터 바로 알고 싶어 공부하고 정리해 두었다. [Network] 간단히 알아보는 Cookie, Session Cookie 와 Session에 대한 개념은 위의 글로 대체하고 바로 진행하도록 하겠다. Login Controller @PostMapping(value = "login") public String loginPOST(UserDTO userDTO, HttpServletRequest request, RedirectAttributes rttr){ log.info("Controller..
[Spring Boot] 회원가입 Validation 처리하기 [Spring Boot] 회원가입 Validation 처리하기 현재 나의 첫 프로젝트를 진행 중, 회원가입 Validation 처리를 하고 싶었다. Validation 처리를 Javascript로 처리를 할까 생각도 들었지만, 전에 Javascript로 Validation을 처리 해 보았을 때 너무 노가다성이 짙고, 실수로 처리가 부족한 경우 submit 되버려 DB에 등록이 되는 경우도 생겼었다. 그렇기에 Spring Boot에 Validation 라이브러리가 있다는 걸 알고 한번 사용해 보기로 하였다. 내가 구현하고 싶은 것들은 단지 Empty일 때 그리고 Email 형식 Validation을 원했고 그렇게 사용 해보도록 하겠다. 그렇기에 이 글은 나처럼 처음 사용하는 사람이 따라하기에 적합할 것이다..
[Spring Boot] 스프링 이메일 이미지 전송 [Spring Boot] 스프링 이메일 이미지 전송 [Spring Boot] 스프링 이메일 전송 사용하기 (SMTP) 위의 링크는 필자가 이 전에 JavaMailSender을 이용하여 간단한 텍스트만 전송했던 글이다. 우선 필자가 위의 SMTP를 이용한 이메일 전송처리를 사용하는 이유는 아주 간단하다. 단지 회원가입시 이메일 인증을 위한 사용이다. 현재 해보고싶다고 생각이 든 첫 나만의 프로젝트를 진행하며 다시 JavaMailSender 을 이용하면서, 이미지 파일을 Mail Content에 넣어서 보내고 싶다는 생각을 하게 되어, 다시 공부하면서 코드를 다시 짜보았다. 그렇기에 기록의 용도로 작성한다. 기본적인 Spring Boot SMTP 사용은 위의 글에 정리해 놓았다. 참고 바란다. 이번 글은 위..
[Spring Boot] @Transactional 선언적 트랜잭션 [Spring Boot] @Transactional 선언적 트랜잭션 먼저 @Transactional을 사용하기에 앞서 Transaction 에 대해 궁금한 사람은 전에 글에 정리해 놨으니 참고 바란다. [DB] Transaction 이란? Transaction 에 대한 설명과 사용 상황에 대한것은 위에 작성해놨으므로 이 글에서는 생략하도록 하겠다. @Transactional Spring에서 지원하는 선언적 Transaction 으로, xml 혹은 Configuration 을 통해 설정 할 수 있다. Spring Boot 에서는 @Transactional 클래스 혹은 메서드 위에 해당 애노테이션을 선언하는 것으로 사용 할 수 있다. 하지만 수동으로 Configuration을 설정하고 싶은 분은 아래와 같이..
[Spring Boot] HttpEntiy, ResponseEntity 란? [Spring Boot] HttpEntity, ResponseEntity 란? 공부를 하던 중 ResponseEntity 를 사용하게 되었다. 그런데 Controller에서 View에 정보를 전송할 때 Http status, header를 조작 할 수 있는 메서드를 제공한다고만 알고 사용했다. 하지만 어떠한 구조로 이루어져 있는지 궁금하기도 해서 ResponseEntity 상위 클래스에 HttpEntity 라는 클래스가 있다는 것을 알게 되었고, 두 클래스 역할과 쓰임세를 알아보려 하였다. HttpEntity HttpEntity 공식문서 public class HttpEntity extends Object Represents an HTTP request or response entity, consisti..
[Spring Boot] Thumbnail 이미지 만들기 (Thumbnailator, Gradle) [Spring Boot] Thumbnail 이미지 만들기 (Thumbnailator, Gradle) 참고 블로그 VamPa 앞선 글에서 파일 업로드에 대해 작성하였다. 이미지 파일을 업로드시 미리 보여지는 이미지 즉, 썸네일은 필요하다. 그 이유는 하나의 페이지에 이미지가 한개라면 문제가 되지 않겠지만 만약 그 하나의 페이지에 수십만개의 이미지가 존재한다면 운영자의 입장에서는 많은 양의 트래픽으로 인해 서버 성능 저하, 많은 서버 비용이 발생 할 수 있고, 이용자의 입장에서는 긴 로딩 시간과 데이터 소모량이 증가하게 된다. 그렇기에 원본 이미지 파일보다 크기를 줄인 이미지를 보여주게 되면 이러한 문제가 해결 가능하다. 썸네일을 만드는 방법은 두가지로 BufferImage 된 이미지 객체를 Graphics..

728x90
반응형