전체 글

기록의 힘을 믿습니다 📂
· ON/spring
이번부터는 좀 심화 버전이고 이전과 다른 개념이 추가된 게시글 목록을 조회하는 기능을 구현해 볼 것이다. 구현하기에 앞서 Request 가 들어오는 타입에 따라 받는 방법 2개로 나눌 수 있다. 기존에는 Query String(@RequestParam)으로 받았다. 이번시간에는 @PathVariable 를 이용할 것 이다. 📖 @ PathVariable 이란? 예를 들면, 아래 표시된 부분(💭)을 @PathVariable로 처리 할 수 있다. https://github.com/💭jnaacode : URL 경로에 있는 값을 매개변수로 이용할 수 있게 하는 어노테이션 📖 @ PathVariable 사용방법 1. @GetMapping & @POST Mapping("/{변수명}") 2. @PathVariable..
· ON/spring
📂 Interceptor : 요청/ 응답을 가로채는 객체 📕 실행순서 Client Filter Dispatcher Servlet Interceptor Controller preHandle (전처리): Dispatcher Servlet -> Controller 사이 postHandle (후처리): Controller -> Dispatcher Servlet 사이 afterCompletion (뷰 완성 후) : View Resolver -> Dispatcher Servlet 사이 ✳ Oracle 테이블 설정 🌝 BOARD_TYPE 테이블 생성 -- 게시판 종류 CREATE TABLE "BOARD_TYPE"( "BOARD_CODE" NUMBER CONSTRAINT "PK_BOARD_TYPE" PRIMARY KE..
· ON/spring
📧 SMTP 인터넷 연결을 통하여 이메일을 보낼 때 사용되는 프로토콜. 발신자가 Gmail, Outlook Express 등을 통해 발신한 이메일을 메일 서버에서 받아서 전달하는 과정 📧 이메일 인증을 위한 세팅 방법 Google 로그인 → 우측 상단의 Google 계정 관리 → 보안 → 2단계 인증 완료 → 앱 비밀번호 생성 기기 선택은 아무거나 작성할 수 있는데 어떤걸 작성할지 모른다면 'mail'이라고 작성하면 된다. '기기용 앱 비밀번호' 이후 다시 볼 수 없으니! 꼭 따로 기록하기 ! ✳porm.xml javax.mail mail 1.4.7 org.springframework spring-context-support ${org.springframework-version} ✳ email-conte..
➰ Ancestors(조상) 메소드 : 선택된 요소의 상위 요소들을 선택할 수 있는 메소드 $("요소명").parent() 선택된 요소의 바로 위 상위 요소 $('요소명').parents([매개변수]) 선택된 요소의 모든 상위 요소 리턴 매개변수가 있으면 매개변수와 일치하는 부모만 리턴 $('요소명').parentsUntil(매개변수) 선택된 요소부터 매개변수 요소 전까지 범위의 요소 리턴 ➰ descendants(자손, 후손) 메소드 : 선택된 요소의 하위 요소들을 선택할 수 있는 메소드 $('요소명').children([매개변수]) 선택된 요소의 모든 자식 객체 리턴 매개변수가 있으면 매개변수와 일치하는 자식 객체만 리턴 연속해서 사용 가능 $('요소명').find(매개변수) 선택된 요소의 인자와 일..
· ON/spring
➰ fetch() API ( fetch : 가지고오다) : JS의 Promise객체를 이용한 비동기 요청 방법으로 JS에서 기본 제공함 - Promise(약속) 객체 : 비동기 요청에 대한 처리가 완료되면 바로 결과를 제공하겠다고 약속 📂 POST 방식 ① 요청 작성 방법 fetch("요청주소“, { // 지정된 주소로 비동기 요청(ajax) method : “POST”, // 데이터 전달 방식을 POST로 지정 headers: {"Content-Type": "application/json"}, // 요청 데이터의 형식을 JSON으로 지정 body : JSON.stringify( {K:V, K:V} ) // JS객체를 JSON 형태로 변환하여 Body에 추가 }) .then(response => resp..
· ON/spring
fetch가 나오기 전에는 자바스크립트에서 jQuery를 이용해서 아래와 같이 AJAX 작성해왔다. 그렇다면 AJAX와 jQuery는 무엇이었을까 ? 이전에 AJAX 정리했던 내용을 다시 살펴보자. 🌝 Ajax란? : JavaScript를 이용하여 비동기식으로 클라이언트와 서버가 데이터(XML)를 주고받는(통신) 방식 자세한 내용은, 아래 포스팅을 다시 보고 오자 [Servlet] Ajax란? Ajax를 이용해서 이메일 중복검사하기 ➰ Ajax란? : JavaScript를 이용하여 비동기식으로 클라이언트와 서버가 데이터(XML)를 주고받는(통신) 방식 - 전체 페이지를 갱신하지 않고 일부분만 업데이트 가능 - 사용자에게 즉각적인 반응과 풍 jnaa.tistory.com 2023.07.14 - [ON/Se..
· ON/spring
📂 Filter (클라이언트 -> Filter -> Dispatcher Servlet) " 클라이언트의 요청/ 응답을 걸러내거나, 첨가하는 클래스 " 📕 로그인 필터 : 로그인 필더가 없다면 로그인하지 않는 회원이 마이페이지의 주소를 주소창에 입력해서 회원이 아닌데도 마이페이지에 접근할 수 있다. 이를 방지하기 위해 로그인한 회원만 마이페이지에 접근할 수 있도록 로그인 필터를 만들어준다! ✳ LoginFilter package edu.kh.project.common.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; i..
· ON/spring
🌝 header.jsp 메인페이지 | 로그인 ${loginMember.memberNickname} 내정보 로그아웃 🌝 css /* 헤더 오른쪽 상단 메뉴 */ header{position: relative;} .header-top-menu{ position: absolute; right: 10px; top: 5px; } .header-top-menu *{ font-size: 15px; font-weight: bold; } /* 헤더메뉴체크박스 */ #headerMenuToggle{display: none;} /* 오른쪽 상단 닉네임 부분 */ label[for='headerMenuToggle']{cursor: pointer;} label[for='headerMenuToggle']:hover{text-de..
박도비
비전공자의 개발자 도전기