Spring Boot 6

실시간 채팅 구현

이번에 실시간 채팅 구현을 처음 시작을 해봤는데 음,, 계속 오류가 뜬 문제에 대해 살펴보려 합니다. Spring Boot와 WebSocket으로 실시간 채팅을 구현하며 CORS 정책 위반, 잘못되 데이터 검증, 경로 오류, 메시지 브로드캐스트 누락, 경로 불일치 문제가 발생하였습니다.처음에는 저도 실시간 채팅은 "그냥 websocket 연결하고 메시지 주고받으면 되는거 아닌가?"에 대해 생각했지만 생각보다 오류가 많이 나왔습니다. 다시 회고하는 느낌으로 정리해보겠습니다먼저 개발 환경은 다음과 같았습니다. - Backend: Spring Boot 3.x, Spring Security, Spring WebSocket, STOMP- Frontend: Vanilla JavaScript, SockJS, STO..

Spring Boot 2025.08.27

Spring 5주차(회원 가입 기능 구현하기)

이 글은 3판을 참고하여 만들어졌습니다.3-06 회원 가입 기능 구현하기회원 가입 가능 구성하기회원 가입 기능을 구현하려면 회원 정보와 관련된 데이터를 저장하고 이를 관리하는 엔티티와 리포지터리 등을 만들어야 하고, 폼과 컨트롤러와 같은 요소를 생성해 사용자로부터 입력받은 데이터를 웹 프로그램에서 사용할 수 있도록 만들어야 한다.회원 엔티티 생성하기지금까지는 질문, 답변 엔티티만 사용했다면 이제 회원 정보와 관련된 데이터를 저장하는 엔티티가 필요하다. 즉, 회원 엔티티를 구상해야 한다.회원 엔티티에는 최소한 다음 속성이 필요하다속성 이름 설명username사용자 이름(또는 사용자ID)password비밀번호email이메일User 도메인을 만들어보자.package com.mysite.sbb.user;imp..

Spring Boot 2025.06.01

Spring 4주차(~스프링 시큐리티)

이 글은 3판을 참고하여 만들어졌습니다.3. SBB 서비스 개발하기3-01. 내비게이션 바 추가하기내비게이션 바 만들기내비게이션 바는 모든 화면에 고정되어 있는 부트스트랩의 컴포넌트 중 하나입니다. 내비게이션 바는 모든 페이지에서 공통적으로 보여야 하므로 다음과 같이 layout.html 템플릿에 내용을 추가합니다.layout.html⇒ 내비게이션 바의 SBB로고를 클릭하면 바로 메인 페이지인 질문 목록 페이지로 돌아갈 수 있다.내비게이션 바의 숨은 기능 알기햄버거 메뉴 버튼으로 링크나 메뉴를 숨기는 것은 부트스트랩의 반응형 웹 기능입니다. 반응형 웹은 웹 디자인 기법 중 하나로 UI 요소가 자동으로 배치되도록 설계한 웹을 의미합니다.햄버거 메뉴 버튼을 클릭하면 로그인 링크가 보여야 합니다. (boot..

Spring Boot 2025.06.01

Spring 3주차(게시판 기능 수정하기)

이 글은 3판을 참고하여 만들어졌습니다.2-11 URL 프리픽스 알아 두기⇒ 질문 상세 페이지에서 답변을 입력할 수 있도록 프로그램을 만들어 보자.QuestionController.java에는 다음 2개의 URL 매핑되어 있다.@GetMapping(”/question/list”)@GetMapping(value=”/question/detail/{id}”)⇒ URL 매핑 시 value 매개변수는 생략할 수 있다.URL의 프리픽스가 모두 /question으로 시작한다는 것을 알 수 있다.프리픽스(prefix)란? URL의 접두사 또는 시작 부분을 가리키는 말QuestionController에 속하는 URL 매핑은 항상 /question 프리픽스로 시작하도록 설정할 수 있다.QuestionController ..

Spring Boot 2025.05.11

Spring 2주차(~2-10 상세페이지 만들기)

이 글은 를 참고하여 만들어졌습니다.2-06. 도메인 별로 분류하기지금까지 작성한 모든 파일을 com.mysite.sbb라는 파일 안에 넣고 관리하는 것은 바람직하지 않다.⇒ 다음 표와 같이 sbb 프로젝트의 도메인 별로 패키지를 나누어 관리해 보자.도메인 이름 패키지 이름 설명questioncom.mysite.sbb.question게시판의 질문과 관련된 자바 파일 모음answercom.mysite.sbb.answer게시판의 답변과 관련된 자바 파일 모음usercom.mysite.sbb.user사용자와 관련된 자바 파일 모음com.mysite.sbb.answer(Answer.java, AnswerRepository.java)com.mysite.sbb.question(Question.java, Quest..

Spring Boot 2025.04.29

Spring 1주차(~2-05. 리포지터리로 데이터베이스 관리하기)

1. 스프링 부트 프로젝트의 구조 이해하기src/main/java 디렉터리 살펴보기src/main/java 디렉터리는 자바 파일을 저장하는 공간com.mysite.sbb 패키지컨트롤러는 URL 요청을 처리하고 폼은 사용자의 입력을 검증DTO, 엔티티, 서비스 파일은 데이터베이스 처리를 위한 파일sbb의 자바 파일을 저장하는 공간. (컨트롤러, 폼과 DTO, 데이터베이스 처리를 위한 엔티티, 서비스)SbbApplication.java 파일SbbApplication 클래스에는 반드시 @SpringBootApplication 애너테이션이 적용src/main/resources 디렉터리 살펴보기src/main/resources 디렉터리는 자바 파일을 제외한 HTML, CSS, Javascript, 환경설정 파일 ..

Spring Boot 2025.04.13