[Spring] 리프래쉬 토큰 vs 블랙리스트 방식
·
Project/WhiteMonday
리프레시 토큰 삭제 방식 로그아웃 시 서버에서 사용자의 리프레시 토큰을 삭제하여 더 이상 새로운 액세스 토큰(access token)을 발급받을 수 없게 만드는 방식을 말합니다.클라이언트 측에서 리프레시 토큰을 폐기하고 서버에서도 이를 무효화 처리합니다.리프레시 토큰의 장점간단한 구현:서버에서 토큰을 단순히 삭제하면 되므로 구현이 상대적으로 쉽습니다.효율성:별도의 추가 데이터베이스(블랙리스트)를 유지할 필요가 없습니다.빠른 무효화:토큰이 삭제되면 즉시 무효화되어 추가적인 보안 우려가 적습니다. 리프레시 토큰의 단점 세션 관리 필요:서버에서 세션과 연계된 리프레시 토큰을 관리해야 합니다. 따라서 서버 부담이 증가할 수 있습니다.토큰 분실 문제:리프레시 토큰을 클라이언트가 잃어버리면 서버는 이를 즉시 알 수..
[Spring] @Controller vs @RestController
·
Devlopment/Spring
@Controller Controller는 주로 View를 반환하기 위해 사용합니다.아래의 과정으로 Spring MVC Container는 Client의 요청으로부터 View를 반환합니다. 1. Client는 URI 형식으로 웹 서비스에 요청을 보냅니다.2. DispatcherServlet이 요청을 처리할 대상을 찾습니다.3. HandlerAdapter을 통해 요청을 Controller로 위임합니다.4. Controller는 요청을 처리한 후에 ViewName을 반환합니다.5. DispatcherServlet은 ViewResolver를 통해 ViewName에 해당하는 View를 찾아 사용자에게 반환합니다. Controller가 반환하는 뷰의 이름으로부터 View를 렌더링하기 위해서 ViewResolver..
[MyBatis] Invalid bound statement (not found)
·
ETC/Error
Invalid bound statement (not found) 해결 방법 1. Mapper 인터페이스와 XML 오타 확인 ID값이나 Mapper 인터페이스의 메서드명과 다른지 확인해보는 것이 좋다.혹은 인터페이스의 이름과 XML 파일에 선언된 이름이 달라서 생기는 경우도 있다. 2. mapper-locations 쿼리가 작성되어 있는 mapper XML이 위치한 경로를 application.properties에 정의하지 않거나또는 잘못 선언된 경우 발생한다. mapper가 있는 경로로 application.properties에 정확한 경로로 변경해주면 된다. mybatis.mapper-locations:classpath:mapper/*.xml 3. 동일한 이름이나 다른 패키지 경로 Mapper의 이름은..
[Java] DTO, VO, DAO 차이점
·
Devlopment/Java
DAO (Data Access Object) 데이터베이스와 상호작용을 담당하는 객체를 말합니다.데이터베이스에 접근하기 위한 로직을 분리하기 위해 사용합니다.직접 데이터베이스에 접근하여 데이터를 삽입, 삭제, 조회 등 조작할 수 있는 기능을 수행합니다. DAO 예시 코드 public class UserDAO { public void createUser(User user) { // 데이터베이스에 유저 정보를 저장 } public User getUserById(int userId) { // 데이터베이스에서 유저 정보 조회 } public void updateUser(User user) { // 데이터베이스에서 유저 정보 업데이트 } p..
[SpringBoot] sts4 프로젝트 생성 및 환경설정
·
Devlopment/Spring
인프런 강의로는 인텔리제이 프로젝트 생성 설정만 있었다 나는 인텔리제이를 사용하기 힘들었던 환경이라서 sts4로 일단 프로젝트를 생성하고자 한다. 다른 사람에게도 도움이 될 수 있으면 한다. 프로젝트 생성 1번. new → Spring Starter Project로 프로젝트 생성 프로젝트 이름(Name)과 Artifact, Package/Group 설정 Java 버전은 안정적인 17로 설정한다 2번 라이브러리 추가 Spring Web MVC 패턴의 웹 프로젝트 개발할 때 필요한 기본 의존성 Tomcat 포함 Thymeleaf 자바 템플릿 엔진 Spring Boot DevTools 프로젝트 개발에 필요한 편리한 기능들을 제공 대표적으로 코드에서 무언가 변경사항이 발생할 경우 바뀐 부분을 즉시 적용하도록 도..