1 . Spring Framework 관련 기본 정의 > 💡 Framework란? 애플리케이션 개발 시 필요한 기본 구조와 뼈대를 제공하는 틀 코드의 재사용성을 증가 시키기 위해 일련의 클래스 묶음이나 뼈대, 틀을 라이브러리 형태로 제공함 > 💡 Libarar
1. 요청 + forward 테스트(a 태그 GET방식) 2. 정적 자원(js, css, image) 연결 테스트 💡 classpath: == src/main/resources ✅ classpath:/templates 접두사 // .html 접미사 제외 ❗ 💡
3. @RequestParam 여러개 파라미터 param-main.html 4. @ModelAttribute를 이용한 파라미터 얻어오기 param-main.html  메인 컨트롤러 📌 타임리프 예제 1 1) 단일 값 출력 Example 컨트롤러 ex1.html 2) 복수 값 출력 3) DTO 객체 /
📌 타임리프 예제 3 @PathVariable  2. XML 세팅  TodoServiceImpl TodoMapper(Interface) Todo(DTO) todo-mapper.xml main.html log
3. 할 일 상세 조회 TodoController TodoServiceImpl todo-mapper.xml detail.html 4. 완료 여부 수정 TodoController detail.js > th:data-todo-no="${todo.todoNo
💡 동기 / 비동기 동기 : A, B, C / A가 다 끝나고 B 시작, B가 끝나고 C 시작... 비동기 : A, B, C / A가 끝나든 말든, B요청이 오면 시작, B가 끝나든 말든 C요청이 오면 C도 시작... 1. 할 일 개수 / 완료된 할 일 개수 A
6. 완료 여부 변경 7. 상세 조회에서 수정 작업 textarea "\n"로 인식 / html은 "br 태그"로 인식 수정 시 전체 할 일 목록 변경 되지 않음 수정 시 전체 목록 실시간 변경 설정 수정 후 상세 조회에 수정값 띄우기  websocket(채팅) filter, Interceptor..AOP > Dependencies ✅ 주석 처리 + gradle 리프레시 후 서버 정상 생성 여부 확인 → Spring Secur
1. 로그인 1) 비밀번호 암호화(BCryptPasswordEncoder) SecurityConfig MemberserviceImpl 2) 암호화된 비밀번호로 샘플 데이터 변경 3) 로그인 결과 Controller Service mapper 
4. 회원가입 ✅ 회원가입 유효성 검사 여부 체크 객체 4-1) 이메일 📌 이메일 유효성 검사 Member 컨트롤러 signup.js 📌 인증번호 이메일로 받기 ✋ 이메일 작업을 위한 기초 세팅 > #### 기재 생략 사항(보안 및 아직 미사용)
4-2) 비밀번호 유효성, 일치 여부 검사 💡 checkPw 함수 생성하여 코드 재사용 signup.js 4-3) 닉네임 유효성, 중복 검사 💡 @RequestParam signup.js Member 컨트롤러 member-mapper.xml  다음 주소 API 활용하기 signup.js 4-6) 가입하기 Member 컨트롤러 ServiceImpl member-mapper.xml signup.js
5. 마이페이지 구성 MyPage 컨트롤러 세팅 5-1) 내정보 - 회원정보 수정 마이페이지 컨트롤러 마이페이지 서비스 myPage-mapper.xml myPage.js 5-2) 비밀번호 변경 마이페이지 컨트롤러 마이페이지 서비스 myPage-map
6. 메인페이지 - 비동기 예제 main.html 추가 6-1) 빠른 로그인 main.js 6-2) 회원 목록 조회(비동기) main.js 6-3) 특정 회원 비밀번호 초기화(Ajax)
7. 마이페이지-파일 업로드 📌 파일 업로드 세팅 >config.properties 내에 파일 업로드 관련 구문 세팅 FileConfig > "file:///C:/uploadFiles/test/" 경로에 맞게 물리적 폴더 생성 7-1) 업로드 테스트 1
7. 마이페이지 - 프로필 FileConfig 및 config.properties 구문 추가 💡 myPage.js 강사님 공유 코드 추가(내용 해석 공부) 직접 접근하기 위해서는 e.file.files[0]으로 접근해야함.  LoginFilter 클래스 생성 8-2) FilterConfig - 설정용 클래스 생성 8-3) 공통주소가 없는 메인 컨트롤러 💡 /loginError 로 ✅ 마이페이지 경로 접근 시도 결과

DB 모델링 ERD 앵간하면 비식별  vs Interceptor(Spring Spec) 📌 config / interceptor 설정 common.interceptor.BoardTypeInterceptor common.config.InterceptorConfig
10-2) 게시글 목록 조회 BoardController boardServiceImpl board-mapper.xml boardList.html 일부
10-3) 게시글 상세 조회 boardList.html a태그 내 구문 추가 BoardImg DTO 생성 Comment DTO 생성 FileConfig 추가 BoardController BoardServiceImpl board-mapper.xml 💡
12. 게시글 좋아요 ✅ 좋아요 여부 확인 1번 게시판 - 가장 최근 게시글 DB 추가 Board 컨트롤러 - boardDetail() 메서드 일부 구문 추가 Spring 스펙업으로 클래스에 @SessionAttributes("{loginMember}") 생략
13. 쿠키를 이용한 조회수 증가 BoardController req, resp, 쿠키 시작~끝 구문 추가 BoardSeviceImpl board-mapper.xml  BoardServiceImpl BoardInsertException (throw) edit-board-m
15. 게시글 수정 ✅ 수정 버튼 클릭 시 boardDetail.js 📌 상세 조회 ✅ 기존에 있던 BoardServiceImpl 쪽에 있는 selectOne 메서드 사용 EditBoardController ✋ 작성하지 않은 회원으로 localhost/e
16. 댓글 기능 comment.js 추가 boardDetail.html 구문 추가 16-1) 댓글 목록 조회 CommentController ✅ mapper 작성 전 DB 샘플 데이터 삽입 및 계층형 쿼리 조회해보기 comment-mapper.xml 1
17. 게시글 검색 boardList.html 검색창 부분 경로 설정 및 name값 확인 BoardController 게시글 목록 조회 메서드 수정 BoardServiceImpl(게시글 목록 조회 참고) board-mapper.xml boardList.htm
18. 스케쥴링 BoardController board-maperr.xml
⭐ HTTP 응답 상태 코드 400 : 잘못된 요청(Bad Request) 403 : 서버에서 외부 접근 거부(Forbidden) 404 : 요청 주소를 찾을 수 없다(Not Found) 405 : 허용되지 않은 메서드(요청방식) (Method Not Allowed)
1. Logback > log4j의 후속 프레임워크 src/main/resources > logback-spring.xml 생성하여 config.properties 해당 경로에 폴더 및 파일이 없으면 자동으로 생성

1. Spring AOP 관심사 : Aspect Aspect Test PointcutBundle Class LoggingAspect Cl
1. 웹소켓 실시간 통신 HTTP 한계점 클라이언트와 서버 간 요청과 응답이 있어야만 할 수 있는 것 > 클라이언트 : 나 HTTP 통신인데 너랑 웹소켓 통신을 하고 싶어 → 핸드셰이크 >서버 : 알겠어, 웹소켓 통신으로 변경 해줄게 핸드셰이크 핸들러 컨
config.properties에 인코드, 디코드 인증키 등록 mainController에서 키값 꺼내서 리턴 header.js JS에서 날짜 구할 때 getMonth는 1달 전으로 나오고 1자리 수로 나옴 10보다 작으면 앞에 0 붙여서 나오게끔 처리 '0