html 마크업 언어 웹 브라우저 - html, css, javascript (확장자 html 붙여주면 파일 생성 가능)
vs studiolive server 설치 -> html 코드 작성한대로 웹페이지 열어줌
#html 마크업 언어 블럭태그 웹브라우저가 스타일 속성을 지정해둠 (display : block) 크기를 지정할 수 있음 아래로 배치됨 위, 아래 여백(padding, margin)을 줄 수 있음 인라인태그 (div, p, ul, ol, dl, dt, dd, a, s
블럭 태그 블럭은 자신의 옆으로 다른걸 배치가 불가능 -> 디스플레이를 인라인블럭으로 변경해서 배치해주기 가능 인라인 태그 인라인은 크기 지정이 불가능함 (블럭으로 지정해야 크기 조절 가능) display속성 block inline inline-block flex g
div::after { content: "여러분" } ::before { content: "하하하" } 하하하 안녕 li::before { content:"*" } -> 여러개의 항목에 동일한 옵션 지정해주기 가능 *리스트 float속성 left, right
html 태그, 속성, 요소 (요소가 제일 큰 묶음) 네이버바로가기 블럭태그 - 웹브라우저가 display속성을 block으로 지정 div, p, ul, li, ol, h1~h6, dl, dt, dd 인라인태그 span, a, strong, em, img, input
background 속성 (배경 이미지 속기법) background-color 속성 : 배경색 지정 색상명 ex> red, green, black 16진수 표기법 ex> #000000(검은색) ~ #ffffff(흰색) -> 똑같으면 3개로 줄이기 가능 (#000) 컬러
230413 div id ="footer" div id="main" # 시멘틱태그 <header> 머리글, 제목, 상단영역 <main> 페이지 중심내용, 직접적인 컨텐츠 <footer> 바닥글, 하단영역 <nav> 네비게이션, 목차, 페이지 이동을 위한 링크 항목
box-shadow 그림자 box-shadow : x-offset y-offset bour color; div { box-shadow: 5px 5px 5px black; } 애니메이션 효과 (최소 2개의 스타일 필요) @keyframes 이름 { from { } t
소스파일 파일이름.java 컴파일 javac.exe javac -d 바이트코드파일 저장위치 소스경로 javac -d bin src/ch01/sec01/Hello.java 바이트코드파일 파일이름.class javac가 하는 명령 -> 컴파일 클래스 파일 실행하기 j
자바 -> 자바스크립트 -> 오라클 -> jsp -> 스프링 #복습 시작 자바 개발 순서 1) 소스파일 작성 Hello.java 2) javac 컴파일 class파일 생성 3) java 명령어로 실행 기본타입 1) 정수형 byte, short, char, int,
반복문 System.out.println(1) System.out.println(2) System.out.println(3) . . . for문 : 횟수가 정해진 반복문 for( 초기화, 조건식, 증감 ) { 반복될 실행문 } ex> for(int i = 1; i
자바 기본타입 byte, short, char, int, long, float, double, boolean 참조타입 배열, 열거, 클래스, 인터페이스 String 타입 (클래스타입) String str1 = "김그린" String str2 = "김그린" Str
배열 참조형타입 배열선언 타입[] 변수명= {1,2,3,4,5} ex> int[] nums = {1,2,3,4,5} 타입[] 변수명 = new 타입[배열길이] ex> int[] nums2 = new int[5] {0,0,0,0,0} String[] strs = new
클래스 설계도 객체를 만들기위한 설계도 1) 객체 생성 클래스명 변수명 = new 클래스명(); 붕어빵 틀 붕어빵 class Person { 필드 String name; int age; int height; int weight; 생성자 public Person
타입 변형과 다형성 다형성 : 메소드 재정의 + 타입 변환 : 다형성 기본 타입과 마찬가지로 클래스도 타입 변환 가능 자동타입변환 자식 타입을 부모타입 변수에 대입하면 자동으로 타입 변환 Child child = new Child; Parent parent2 = c
클래스 - 설계도 클래스 종류 라이브러리 클래스(객체를 만들기 위한 클래스) 실행 클래스(main메소드, 객체를 생성) 구성멤버 - 필드, 생성자, 메소드(기능) 인스턴스 멤버 - 인스턴스 필드, 인스턴스 메소드 --> 객체를 생성해야만 접근 가능 정적멤버 st
인터페이스 : 객체의 사용방법을 정의한 타입, 다형성 구현 interface 인터페이스 이름 { // 상수 // 추상 메소드 // 디폴트 메소드 // 정적 메소드 // private 메소드 // private 정적 메소드 } 구현 클래스 public cl
익명객체 : 이름이 없는 객체 자식클래스나 구현클래스를 만들지 않고 객체 생성 가능 클래스를 상속하거나 인터페이스를 구현해야만 생성 가능 익명 자식 객체 - 클래스를 상속 new 부모클래스() { 필드 메소드 } 익명 구현 객체 - 인터페이스를 구현 new 인
에러 - 컴퓨터 하드웨어의 고장으로 인해 응용 프로그램 실행 오류가 발생 예외 - 사용 개발자의 잘못된 코딩으로 인해 오류가 발생 일반예외 : 컴파일러가 예외처리 코드 여부를 검사 ClassNotFoundException InterruptedException 실행예
API 도큐먼트 : 자바 표준 모듈에서 제공하는 라이브러리로 쉽게 찾아서 사용할 수 있도록 도와줌 Object 객체 자바의 모든 클래스는 Object의 자식이거나 자손 클래스이다. obj1 == obj2 obj1.equals(obj2) 객체 동등 비교 hashCo
날짜와 시간 클래스 Date 클래스 Date now = new Date() SimpleDateFormat 클래스 SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 HH시 : mm분 : ss초") sdf.forma
제네릭 : 결정되지 않은 타입을 타입파라미터로 처리하고, 실제 사용할 때 파라미터를 타입으로 대체하는 기능 타입이 필요한 자리에 T를 사용 (A-Z 가능) 제네릭 타입 public class Box { // 필드 public T name; public M mo
데몬쓰레드 : 일반 쓰레드의 작업을 돕는 보조적인 역할 수행 일반 쓰레드가 모두 종료되면 자동적으로 종료 작업스레드 생성하기 Thread클래스로 생성하기 - 익명구현객체 (클래스 더 만들지 않고 익명구현객체 바로 생성 가능) Thread thread = new Th
HashMap : Map인터페이스를 구현한 대표적인 Map컬렉션 HashMap의 키로 사용할 객체는 equals(), hashCode()메소드를 재정의해서 동등객체가 될 조건 정해야함 ( -> 객체가 달라도 동등객체라면 같은 키로 간주하고 중복저장되지 않도록 하기 위함
람다식 함수형 프로그래밍 함수를 정의하고 함수를 데이터 처리부로 보내 데이터를 처리하는 기법 function sum() { } 객체지향 프로그래밍 기능 메소드 데이터 처리부가 따로 있고, 함수를 전달받는다 (+함수, -함수 등 함수는 여러가지가 될 수 있음) 데
람다식 익명구현객체 interface 선언 함수형 인터페이스 public interface Calculable { // 추상메소드 1개 void calculate(int x, int y); } // 인터페이스 구현 클래스 public class Calculato
중간처리 과정 필터링 : 요소 걸러내기 필터링은 요소를 걸러내는 중간처리 기능 destinct() 중복제거 filter() (타입이 함수형 인터페이스일 때 가능) filter(Predicate) filter(IntPredicate) filter(LongPredic
자바스크립트 : 객체 기반의 스크립트 언어 html - 웹의 내용을 작성 css - 웹을 디자인 자바스크립트 - 웹의 동작을 구현 대부분의 웹 브라우저에 자바스크립트 인터프리터가 내장되있음 자바스크립트는 동적이며, 타입을 명시할 필요가 없는 인터프리터 언어 객체
변수선언 : let let a = 123 a = "1234" > 자바스크립트는 변수선언하고 문자열, 숫자를 넣어도 알아서 변경해서 출력 기본타입이 있으나 따로 선언하지 않음 ex> let Number a = 123 이렇게 하진 않음 기본타입 : Number,
자바스크립트 : 웹 브라우저 제어 html 변경, css 변경 변수 선언 var, let const type of 형변환 Number() parseInt() parseFloat() String() toString(진수) toFixed(소수자리수) Boolean()
변수 선언 var let, const 함수선언문 function 함수명() { 실행문 } 함수명(); --- 함수 호출 함수표현식 let fun = function() { 실행문 } fun(); DOM docement.querySelector("div"); d
배열 let num = [1,2,3,4,5,6,7,8]; let user = { name: "구름", age: 16, } 객체는 키와 value로 구성, 이를 합쳐서 프로퍼티라고 함 (프로퍼티는 쉼표(,)로 구분) 접근방법 user.name user["nam
마우스 이벤트 click mouseenter mouseleave mousemove scroll 데이터 변경 이벤트 input 사용자가 인풋의 값을 변경할 때 발생 change 요소 변경이 끝나면 발생 focus 요소가 포커스를 받을 때 발생 blur 요소가 포커스를
클론 코딩 let div = document.querySelector("div"); div.cloneNode(true) append 노드 끝에 삽입 prepend 노드 앞에 삽입 before 노드 이전에 삽입 after 노드 다음에 삽입 #230531 내장객체
#230601 form 관련 자바스크립트 실습 서버와 통신 json(javascript object notation) : 1999년도에 object를 보고 만든 데이터 포멧 서버에서 통신으로 데이터를 전송하는 용도 텍스트를 기반으로 하여 가벼움 프로그램 언어나 플랫
구조분해할당 배열과 객체의 요소 값을 다른 변수에 저장할 때 사용 let students = ["김수민", "이나래", "김그린"] let stu1 = students[0]; let stu2 = students[1]; let stu3 = students[2]; le
데이터베이스 : 데이터의 총 집합체 통합된 데이터 저장 데이터 운영 데이터 공용 데이터 인풋 Create 생성 Update 수정 Delete 삭제 아웃풋 Read 읽기 데이터베이스 특징 실시간 접근이 가능 계속적인 변화 동시 공유 가능 내용에 의한 참조 가능 오
125p 문제풀이 select * from emp where ename like '%S'; select empno, ename, job, sal, deptno from emp where deptno = 30 and job = 'SALESMAN'; 3-1. sel
sqlplus scott/tiger 오라클 함수 문자 함수 CONCAT() : 두 개의 문자열 데이터를 하나의 데이터로 연결하는 연산자 select concat(empno, ename) from emp; select concat(empno, concat(':
조인 두 개 이상의 테이블을 연결하여 하나의 테이블처럼 출력할 때 사용 여러 테이블 사용시 from절 from member, product select * from emp, dept; 조인 조건을 지정 select * from emp, dept where em
2) 다중행 서브쿼리 실행 결과 행이 여러개가 나오는 서브쿼리 메인쿼리와 비교 시 단일행 연산자를 사용할 수 없고 다중행 연산자를 사용해야 함 in 연산자 메인쿼리 데이터가 서브쿼리의 결과 중 하나라도 일치하는 데이터가 있다면 true select max(sa
연습문제 employee 테이블 김진수의 직급과 같은 직급을 가진 사람의 사원번호, 이름, 직급 순으로 출력하여 보시오 select petno, pname, job from employee where job = (select job from where pname
연습문제 employee 테이블 김진수의 직급과 같은 직급을 가진 사람의 사원번호, 이름, 직급 순으로 출력하여 보시오 select petno, pname, job from employee where job = (select job from where pname
레코드 : 자료형이 다른 여러 데이터를 저장함, 자료형이 각기 다른 데이터를 하나의 변수에 저장하는데 사용 구문 > type 레코드 이름 is record( 변수 이름 자료형 not null := 값 ) create table dept_record as sele
자바 (객체지향, 상속 ppt 복습) 배열 생성하기 타입[] 변수 = new 타입[길이]; 정수 -> 0, 실수 -> 0.0, 논리형 -> false, 참조타입 -> null 변수 = new 타입 {10,20,30,40,50}; (리터럴 타입으로 변수 생성
오라클 저장 서브 프로그램 pl/sql 프로그램을 오라클에 저장해두고 필요할 때 마다 수행할 내용을 작성하지 않고 실행할 수 있음 저장 프로시저 일반적으로 특정 처리 작업 수행을 위한 서브 프로그램으로 sql문에서는 사용할 수 없음 저장함수 일반적으로 특정 연
서블릿 : JSP 이전 세대의 동적 웹페이지 생성 언어 (Server + Applet의 합성어)브라우저에서 호출하면 WAS에서 웹 페이지를 동적으로 생성 WAS : 서버 단에서 애플리케이션이 동작할 수 있도록 지원하는 컨테이너가 포함된 서버 (ex -> 톰캣)디렉티브j
기본 제어문 (if-else문)if-else문 : 일반적으로 가장 많이 사용되는 특정한 조건에 의해서만 코드 실행되는 블록을 조정할 수 있는 조건 제어문 for문 : 반복문은 모두 스크립트 요소에서 사용하여 JSP 페이지에서반복적인 내용 출력할 수 있음데이터베이스의 질
페이지 모듈화 <jsp:include> 액션 태그를 활용한 공통 영역 작성 공통 구성 요소를 위한 코드를 모든 페이지마다 작성하지 않고 따로 페이지를 만들어서 사용하는 액션 태그1) 액션 태그 사용법<jsp:include page = "포함할 페이지" flu
검색 기능을 강화시킨 컬렉션 TreeSet이진트리를 기반으로 한 set 컬렉션 first() 제일 낮은 객체를 리턴last() 제일 높은 객체를 리턴 lower(E e) 주어진 객체 바로 아래 객체를 리턴 higher(E e) 주어진 객체 바로 위 객체를 리턴 poll
데이터베이스 설정하기 유저 설정하기 create user green identified by 1234; 권한 설정 grant connect, resource to green; grant create table to green; grant create sequenc
오라클 연동하기 데이터베이스에 테이블 생성한다.2.JDBC설정 및 데이터베이스 연결 JDBC 데이터베이스 연결 및 관리 작업을 할 때 사용하는 API이다.(=인터페이스이다.) 1) JDBC 드라이버 설정JDBC 드라이버, 이 중에서 ojdbc6.jar를 복사,
글쓰기 boardwrite.jsp BoardDAO 글등록 메소드 작성 boardwrite_process.jsp 글조회(상세보기) boardview.jsp?num=1 조회수 +1 1) 해당 레코드 조회수를 1씩 증가 2) 해당 레코드를 select 글수정 boardedit.jsp 1)해당 글 조회 본인이 쓴 글만 수정 가능 green abc 수정 2...
페이징 1,2,3,4,5다음 블럭 이전 블럭,6,7,8,9,10다음 블럭 6 한 페이지당 출력할 게시글 수 10개 한 화면에 페이지 번호 개수 5개 1) 전체 페이지 수 전체 게시글 / 10 Math.ceil(전체게시글/10) 55/10 ---> 5.5 --
jsp 표준 태그 라이브러리 JSTL Jsp Standard Tag Library (확장 태그여서 별도의 라이브러리 필요) https://mvnrepository.com/ javax.servlet/jstl 검색 첫번째 나온 검색 결과 클릭 버전 1.2 클릭 jar타입으로 다운 다운로드 받은 후 jar파일을 web-inf 폴더 - lib 폴더 안에...
JSTL - jsp standard tag library 태그를 모아 표준으로 만들어놓은 라이브러리 jsr파일 다운로드 후 web-int => lib => 붙여넣기 접두어와 uri 추가해야 사용 가능 5가지 태그를 제공 Corex태그 변수지원 : jsp 사용될 변수 설정 -> 영역을 지정하지 않으면 page영역에 생성됨. 값 : 설...
서블릿 자바로 웹 어플리케이션을 개발하기 위해 만든 기술 서버 단에서 클라이언트 요청을 받아 처리한 후 응답하는 역할 javax.servlet.http 패키지에 있는 HttpServlet 클래스 상속 받아야함 public으로 선언 doGet() 또는 doPost() 메소드 오버라이딩 해야함 doGet() 또는 doPost() 메소드 호출 시 HttpS...
MVC 자료실형 게시판 el, jstl, 파일업로드, 서블릿 활용 프로젝트 구상 비회원제 회원 인증 없이도 글을 쓸 수 있음 글 쓰기 시 비밀번호 입력이 필수 비밀번호를 통해 수정이나 삭제 구현 목록 보기 ListContreoller.java List.jsp 글쓰기 WriteController.java Write.jsp 자동 페이지 이동 -> 목...
MVC 요청 -> 컨트롤러 (서블릿) -> 뷰 포워드 상세보기 상세보기 시 조회수는 1 증가 updateVisitcount 메소드 클릭한 레코드의 idx에 맞는 레코드 조회 selectView 메소드 클라이언트가 view.do 요청 서블릿 ViewController.java 뷰 view.jsp 수정하기 비밀번호 검증 후 edit.do로 요청 컨트롤...
웹 소켓으로 채팅 프로그램 만들기 소켓 : 서버와 클라이언트가 양방향 통신을 할 수 있게 해주는 소프트웨어 -> ip 주소와 포트번호로 이루어짐 자바에서는 소켓 클래스를 만들어서 지원함 서버에서 서버용 소켓(ServerSocket)을 생성 (클라이언트의 접속을 기다림) 클라이언트가 소켓을 생성하여 서버로 연결을 요청 서버가 접속을 허가함 서버와 클라이...
API(Application Programming Interface) : 응용 프로그램 간에 상호 작용하기 위한 규칙과 기능을 제공하는 인터페이스 -> 소프트웨어 개발에서 다른 응용 프로그램이나 서비스와 상호작용할 수 있도록 도와줌 오픈 API 서비스를 제공하는 업체에서 외부 개발자가 자사 서비스의 기능을 간단히 호출해 이용할 수 있도록 공개해둔 API...
jsp SMTP를 활용한 이메일 전송하기 SMTP(Simple Mail Transfer Protocol) 이메일 보낼 때 사용되는 메일 서버의 기본 프로토콜 이메일 전송에 필요한 라이브러리 자바메일 메일 서비스와 관련된 전반적인 기능을 수행 링크 : http://mvnrepository.com/artifact/javax.mail/mail/1.4.7...
롬복 설치 IDE에 롬복 설치 프로젝트에 롬복 설정 Maven : 자바용 프로젝트 관리 도구 프로젝트의 전체적인 라이프 사이클을 관리하는 도구 필요한 라이브러리를 특정 문서(pom.xml)에 정의해두면 내가 사용할 라이브러리 뿐만 아니라 해당 라이브러리가 작동하는데 필요한 다른 라이브러리들 까지 관리하여 네트워크를 통해서 자동으로 다운받아줌 POM...
http//localhost:8060/sample/ex02Bean?list%5B0%5D.name=aaa&/list%5B1%5D.name=bbb [] 특수문자 허용하지 않음 '[' -> '%5B' ']' -> '%5D' @DateTimeFormat(pattern="yyyy-MM-dd") Date타입으로 변환 스프링 MVC Controller는 기본적으...
sql에서 DB 작업 시퀀스 생성 create sequence seq_board; 테이블 생성 create table tbl_board( bno number(10,0), title varchar2(200) not null, content varchar2(2000) not null, writer varchar2(50) not...
스프링 게시판 작업 프레젠테이션 웹 계층의 crud @RequestMapping -> URL 분개 @RequestMapping("/sample/*") class SampleController { @RequestMapping("/list") public void lists() { } @RequestMapping("/view") public ...
페이징 처리 sql 재귀복사 insert into tbl_board(bno, title, content, writer) (select seqboard.nextval, title, content, writer from tblboard); 페이징 쿼리문 select * from ( select Tb.*, rownum rNum from (select...
스프링 검색 기능 만들기 제목, 내용, 글쓴이 ( 기존 쿼리문에 where title '%가%' or content '%나%' or writer '%김%' 이 문장을 추가하기) select * from ( select Tb.*, rownum rNum from (select * from tbl_board where title '%가%' or ...
스프링 파일 업로드 처리 파일 업로드 방식 태그를 이용하는 방식 일반적으로 페이지 이동과 동시에 첨부파일 업로드 Ajax 이용 방식 첨부파일을 별도로 처리 input type = "file" -> Ajax로 처리 c드라이브 - upload 폴더 - temp 폴더 생성하기 ex03 프로젝트 생성 (new -> 스프링레거시 -> mvc -> ex...
파일 삭제 이미지 파일의 경우 썸네일 이미지도 같이 삭제 file.delete(); 원본 이미지 보여주기 게시판 만들기 sql 테이블 생성 게시물 조회 시 첨부파일 이미지 나타내기 게시물 정보는 tbl_board 첨부파일 정보는 tbl_attach에 저장되있음 BoardVO 객체를 받아올 때 join을 처리해서 한번에 게시물과 첨부파일의 정보를...
갤러리 게시판 만들기 tbl_gallery 테이블 생성 gno 게시글번호 title 제목 writer 글쓴이 filename 파일이름 uploadpath 경로 category 카테고리 content 내용 create table tbl_gallery ( gno int primary key, title varchar2(20...
스프링 게시판 웹 제작 VO나 DTO를 생성 org.green.domain 패키지 BoardMapper 인터페이스 생성 org.green.mapper 패키지 BoardMapper.xml 생성 org -> green -> mapper 폴더 (namespace 인터페이스로 지정) 쿼리문 작성 (select 태그는 resultType="org.gre...
JQuery jquery.com -> 구글 cdn 이벤트 연결 obj.이벤트 (function() { }) obj.on("이벤트", function() { }) JS document.querySelector("div").innerHTML = "p입니다."; JQ $("div").html("p입니다.") : div 안에 p태그를 넣는다. css ...
AccessDeniedHandler 인터페이스 구현 (접근 제한이 된 다양한 처리를 위한 인터페이스) 접근 제한되었을 때 쿠키나 세션에 특정한 작업을 하거나 HttpServletResponse에 특정한 헤더를 추가하는 경우는 직접 구현한 방식을 사용함 패키지 생성 org.green.security 패키지 CustomAccessDeniedHandler...
스프링 시큐리티 pom.xml 에 라이브러리 추가 (동일한 버전) 서블릿의 여러 종류의 필터와 인터셉터를 이용해서 처리됨 spring-security-web spring-security-core spring-security-taglibs spring-security-config 설정 파일 생성 security-context.xml (WEB-INF/s...
복습 라이브러리 web, core, taglibs, config web.xml 필터 추가 security-context.xml 생성 접근권한 permitAll : 모든 접근 허용 ---> 시작점 태그 ---> 접근 거부 페이지 설정 ---> 인증 매니저 --->
회원가입 페이지 추가하기 register_member.jsp tbl_Member 비밀번호는 암호화 처리 private PasswordEncoder pwencoder; pwencoder.encode("패스워드 입력") tblmemberauth tbl_member VO나 DTO MemberVO AuthVO Mapper MemberMapper 인터페...
리액트, 앵귤러, 뷰 스프링부트 SPA(Single Page Application) : 단일 페이지로 구성된 어플리케이션 href="sub.html" 필요한 모든 정적 리소스를 처음에 한 번만 다운로드 페이지 이동 시 갱신에 필요한 데이터만 json으로 전달받아서 페이지를 갱신함 전체 페이지가 랜더링 되는 것이 아니므로 트래픽을 감소할 수 있...
리액트 생성하기 : npx create-react-app 프로젝트 이름 노드 설치 -> npm(매니저) (자동으로 같이 설치됨) npm : node.js 패키지를 관리하는 도구 리액트 실행 npm start 입력 컴포넌트 리액트는 컴포넌트로 관리됨 (각각의 단위가 레고블럭 조립되듯이 가져와짐, 그 단위가 컴포넌트) 함수형 컴포넌트 import ...
state, ref useState(초기값) -> [state, setState] useRef(curent값) -> { current: current값 } 컴포넌트 : 상위 컴포넌트에서 그 안에 있는 하위 컴포넌트로 값을 전달 가능함 속성(props) App.js -------> UserList -------> User useEffect ...
자바스크립트 복습 객체 타입 { key: value, key2:value2 } 배열 타입 [1,2,3,4] 배열 메소드 map 배열 안의 요소 내용이 변경 (요소값 변경) filter 배열에서 새로운 배열을 리턴 (길이 변경) let numbers = [1,2,3,4,5,6]; // 원본배열요소의 값에 1씩 더한 값을 가진 배열을 리턴 let n...
useAsync 커스텀 훅 context const userContext = createContext("abc") const userName = useContext(userContext) UsersContext 리덕스 액션 (Action) 상태에 어떠한 변화가 필요할 때 액션을 발생시킴 액션 객체는 type필드를 꼭 갖고 있어야함, 그 외는 추가...
스프링 이란? 프레임워크 오픈 소스 IoC (Inversion of Control) 컨테이너를 가짐 객체를 생성하고 관리하고 책임지고 의존성을 관리해주는 컨테이너 DI (Dependency Injection, 의존성 주입) 를 지원함 필요한 곳에 사용하도록 하는 기능 많은 필터를 가짐 필터의 역할은 검열, web.xml에서 설정 많은 어노테이션을...
Rest 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나 HTTP URI를 통해서 자원을 명시하고 HTTP Method(post, get, put, delete)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미 서버 클라이언트 특징 서버(자원이 있는 쪽), 클라이언트(자원을 요청하는 쪽) 구조 R...
시큐리티 적용하기 spring-boot-starter-security spring-security-test 회원 정보 테이블 이름 - "user" User 클래스 생성 id : 기본 키 지정 username not null password not null role 빌더(Builder) 패턴 별도의 Builder 클래스를 만들어서 메소드를 통해 스텝 ...
JWT (Json Web Tokens) 로그인 쿠키, 세션, 토큰 쿠키 : 브라우저에 공개 가능한 정보를 사용자의 브라우저 저장소에 저장 서버는 클라이언트의 로그인 요청에 대한 응답을 작성할 때 클라이언트 측에 저장하고 싶은 정보를 응답 헤더의 set-cookie에 담아서 전달해줌 클라이언트가 재요청할 때 마다 저장된 쿠키를 요청 헤더의 cooki...
JWT 로그인 JJwt 라이브러리 설치 jjwt-api / jjwt-impl / jjwt-jackson JwtService 클래스 생성 getToken 메서드 -> 토큰 생성 반환 getSubject 메서드 -> 사용자 이름 반환 JWT xxxxxx.yyyyyyy.zzzzzzzz 마침표로 구분된 세 부분으로 구성됨 헤더 / 페이로드 / 서명 Acc...
스프링 부트 (restAPI) 로그인 요청, 자원 rest 리액트 (화면) - carfroint 프로젝트 CRUD fetch, axious 프로미스 - 자바스크립트 내장 객체 비동기적인 것을 수행할 때 쓰임 동기(Synchronous) - 직렬 실행, 순차적으로 한개씩 처리 비동기(Asynchronous) - 병렬 실행, 동시다발적으로 여러개 ...
클라이언트 요청 메서드 get 조회 read post 저장(insert) create delete 삭제 요청 delete put 수정 요청 update fetch API 요청 get fetch("http://localhost:8010/api/cars") fetch("http://localhost:8010/api/cars", { meth...