안녕하세요🖐 오늘은 스프링부트 환경에서 스프링 시큐리티를 활용한 로그인&로그아웃을 구현해보겠습니다. 스프링 시큐리티는 내용이 정말 많은 것 같아요😂 그만큼 공부할 부분이 많고, 활용범위가 넓다는 뜻입니다. 그만큼 한번 잘 공부해두면 두고두고 잘 사용할 수 있습니다. 스프링 시큐리티는 방대한 프레임워크이다. 따라서 스프링 시큐리티가 내부적으로 어떻게 동작하는지 알기 위해서는 스프링 시큐리티에 대해서 자세히 공부해야 한다. (스프링 시큐리티는 책 1권 분량으로 나올만큼 방대한 프레임워크이다. 실제로 스프링 시큐리티에 대한 책은 많이 출판되었다.) 이 책은 스프링 시큐리티 자체에 대한 내용보다는 활용적인 측면에 대해서만 다룰 것이다. 하지만 개략적인 개념 설명을 추가했으니 이해에 도움이 되기를 바란다. 기능구..
오늘은 JPA를 활용하여 게시판을 페이징 해보도록 하겠습니다. 1) 서론1-1) 페이징을 하는 이유 여러분들은 페이징을 왜 해야하는가에 대해서 생각해본적이 있나요❓컴퓨터 공학을 전공한 분이라면 페이징이라고 하면 두가지를 떠올릴 수 있습니다. 1) 게시판 같은, 웹 페이지에서 페이지가 넘어가는 페이징2) 가상메모리 관리 기술인 페이징 두가지를 생각할 수 있습니다.여기서 제가 설명할 것은 1번인 웹 페이지에서 페이지를 이동시키는 페이징을 진행 해보도록 할 것 입니다. 📢 결과적으로 제가 페이징을 하면서 느꼈던 것을 바탕으로 페이징을 필요성 대해서 적어보겠습니다.1) 사용자 경험 향상페이징을 하지 않으면 모든 글들이 한번에 나열되게됩니다. 글이 200개 300개 라면은 사..
스프링부트가 무엇인지에 대한 글을 한번 적어보겠습니다. 1) 내가 생각하는 스프링부트 ❓ 스프링 프레임워크를 써본사람은 스프링의 명확한 단점을 알 거라고 생각합니다. 바로 기존 스프링은, 서버 설정 및 여러 세팅을 귀찮게 프로젝트 생성시 매번 개발자가 직접 해줘야 합니다ㅠㅠ 그러나 스프링부트는 , 스프링을 쓸 때하는 이런 세팅을 할 필요가 없죠 스프링부트는 우리가 개발하는데 있어 더 편한 환경을 제공합니다. 1️⃣ 톰캣 서버를 내장하고 있다. 기존 스프링은, WAS를 내장하고 있지않아, 우리가 직접 WAS인 아파치 톰캣을 설정을 해줘야 했습니다 그러나 스프링부트는 직접 내장하고 있어 우리가 따로 서버를 설정할 필요가 없습니다. 2️⃣ 기존 스프링보다 설정이 쉽다 3️⃣ 기본적인 보안에 좋다 4️⃣ 스프링..
Java 언어 에서의 멀티 스레드Java에서의 Thread 와 Spring에서의 Thread에는 차이가 있다. Java자바에서 멀티 스레딩은 java.lang.Thread 클래스를 사용하여 구현된다. Thread 클래스를 상속받거나 Runnable 인터페이스를 구현하여 스레드를 생성하고 실행할 수 있는데, 스레드의 우선순위 및 동기화 등을 수동으로 관리할 수 있다.Spring스프링은 자바의 Thread 클래스를 직접 사용하지 않고, 스레드 풀(스레드를 미리 여러 개 만들어 둔 것)을 사용하여 멀티 스레딩을 지원한다. 스프링에서는 TaskExecutor 인터페이스를 사용하여 스레드 풀을 생성하고 사용할 수 있으며, 해당 인터페이스를 구현하여 직접 스레드 풀을 관리할 수도 있다. 또한, @Async 어노테이..
사전 작업 애플리케이션 등록 주소 : https://developers.kakao.com/console/app 에서 카카오 애플리케이션 등록을 한다 1-1) 카카오 로그인 활성화 (필수❗) → off 상태면 시작도 안됌.. 1-2) Redirect URI 설정 이 주소는 컨트롤러에서 맵핑하는 주소를 꼭 써야한다. ( 무조건‼‼) 1-3) 동의항목 설정 본인이 카카오 로그인시 가져올 정보를 선택하는 곳이다. 저는 테스트 용으로 한거라 아주 간단한 정보만 가져올수있고, 심사를 통해서 통과해야지 카카오에 등록된, 여러정보를 가져 올 수 있습니다… 1-4) 플랫폼 등록 플랫폼 등록을 해줍니다. 웹 도메인은 기본 로컬 주소를 등록 해줍니다. 이제 진짜 코드로 넘어가 보겠습니다. #2 TEST 💡 스프링부트 카카오..
TODO : 검색 로직, 대 댓글 만들기(231107) 개발 환경 : 인텔리제이 --> SpringbootMybatisMini 폼만 작성한 코드를 작성해서 적어두겠습니다 addform.jsp (댓글 등록폼) ; 0}"> ${no} ${dto.subject} ${dto.name} ${dto.readcount} ${dto.likes} 이전 ${pp } ${pp } 다음 content.jsp (댓글 출력폼) ${dto.subject} ${dto.name}(${dto.id}) 조회수 : ${dto.readcount} ${dto.content} 좋아요 ${dto.likes} 답글 수정 삭제 목록 글쓰기 이상으로 답변형 게시판 끝 입니다.
TODO : 검색 로직, 대 댓글 만들기(231106) 개발 환경 : 인텔리제이 --> SpringbootMybatisMini #1 여러 서비스를 실행시키기 위한 사전작업인 mapperInter 입니다 ReboardMapperInter package boot.data.mapper; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Mapper; import boot.data.dto.ReBoardDto; @Mapper public interface ReBoardMapperInter { public int getMaxNum(); public int getTotalCount(Map map); public List ..
🔔 TODO : Ajax를 사용한 , 댓글 등록 , 댓글 수정, 삭제 📘 project : 인텔리제이 - SpringBootMybatisMini form : content.jsp dto : MbAnswerDto controller : MbanswerController.java Mapper : mbanswersql.xml service : MbanswerMapperInter.java 스프링부트 동작관정 간단 클라이언트가 JSP 페이지에 데이터를 입력하고 제출합니다. JSP 페이지에서 컨트롤러에게 요청을 보냅니다. 컨트롤러는 요청을 받고 필요한 작업을 수행합니다. 컨트롤러는 서비스로 데이터 처리를 위임합니다. 서비스는 필요한 비즈니스 로직을 실행하고 데이터베이스에서 데이터를 가져옵니다. 서비스가 데이터 처리..