본문 바로가기

Java2

[Java] Spring MVC와 레이어드 아키텍처에 대한 정리 1. MVC 패턴 Model - View - Controller 소프트웨어 개발에는 디자인 패턴이라는 개념이 있다. 필요한 기능에 대한 코드를 무턱대고 만드는것이 아니라, 일정한 형식이나 패턴에 맞게 코드를 만들어서 기능을 구현해야 한다. 이를 '관심사의 분리'라고 한다. 관심사가 분리되면 각 기능별 수정이 필요할때, 전체 코드를 고칠 필요 없이 해당 관심사에 관련된 코드만 수정하면 된다. 웹 사이트 개발을 백엔드(서버) / 프론트엔드(클라이언트)로 나누면, 백엔드 개발자가 Java의 Spring / Spring boot 프레임워크를 사용할때 주로 MVC 패턴을 활용한다. 모델 (Model) - 데이터 담당 계층 뷰 (View) - 사용자가 보는 인터페이스(UI) 담당 계층. - 모델이 처리한 데이터를 .. 2023. 12. 6.
[Java] JWT로 자동 로그인 기능을 위한 API 구현하기 * JWT란? JWT = JSON Web Token JWT는 웹 애플리케이션 간에 정보를 안전하게 전송하기 위한 표준 방식 중 하나로, 토큰 기반의 인증 시스템에서 보편적으로 사용된다고 한다. egov환경에서 백엔드 개발 중 API 구현 요구사항을 통해 처음 알게되었다. 내용은 페이지 안에서 버튼을 클릭하면 링크를 통해 다른 사이트로 넘어가야하는데, 이때 넘어간 사이트에서도 같은 사용자 정보로 자동 로그인이 되도록 구현하는 것이다. 1. 서버 : 사용자ID, 비밀번호를 JWT로 base64로 인코딩한 값을 return하는 API 구현 2. 클라이언트 : 해당 API를 호출하여 응답결과의 JWT토큰 값을 decoding 해서 자동 로그인 기능을 구현 * 구현 과정 1. Maven 종속성 추가 pom.xml.. 2023. 11. 17.