Java 7

HTTP 요청 데이터 처리 방법 3가지

HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 방법 3가지 GET - 쿼리 파라미터 POST - HTML Form HTTP message body에 데이터를 직접 담아서 요청 GET - 쿼리 파라미터 메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달한다. 검색, 필터, 페이징 처리할 때 많이 사용하는 방식이다. ex) http://url?username=genie&age=20 클라이언트에서 서버로 데이터를 전송할 때, 쿼리 파라미터는 URL에 데이터를 넣어서 전송한다. http://localhost:8080/request-param?username=hello&age=20&username=kim 이런식으로 ? 를 시작으로 데이터를 넣고, 파라미터들은 &로 구분한다. ..

Java/Spring 2023.10.12

좋은 객체 지향 설계의 5가지 원칙 (SOLID)

SOLID 란? -> 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리한 것이다. SRP (Single Responsibility Principle) : 단일 책임 원칙 OCP (Open/Closed Principle) : 개방-폐쇄 원칙 LSP (Liskov Substitution Principle) : 리스코프 치환 원칙 ISP (Interface Segregation Principle) : 인터페이스 분리 원칙 DIP (Dependecy Inversion Principle) : 의존관계 역전 원칙 SRP (Single Responsibility Principle) : 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임이라는 것은 모호하다 ( 클 수 있고, ..

Java/Spring 2023.07.27

[Spring Security] 스프링 시큐리티 초기 세팅 및 로그인 권한 설정

오늘 수업내용 내가 알아보기 쉽게 정리. 1) 시큐리티가 필요한 URI 설계 게시판 글쓰기는 인증(로그인)해야만 사용가능 게시글 작성자는 인증받은 ID 로 사용가능 게시글 수정/삭제는 작성자 확인 후 가능 그 외는 인증받지 않아도 모두가 사용가능. 2) 시큐리티 개요 인증(Authentication)과 권한(==인가)(Authorization) 스프링 시큐리티 구조 시큐리티 개요 AuthenticationManager - 인증관리자 가장 중요한 역할, 다양한 방식의 인증을 처리할 수 있도록 구조 설계됨. (인터페이스) ProviderManager - 제공관리자 인증처리를 AuthenticationProvider 객체를 이용해서 처리를 위임하는 역할 (인터페이스) AuthenticationProvider ..

Java/Spring 2023.07.05

복습1) 메모장 코딩(간단한 입출력)

1주차 첫 수업 내용 정리! 일단 메모장에 이렇게 코드를 작성해준다. 참고로 파일명은 Hello.java 클래스명은 파일명과 동일하게 작성해야한다. public class Hello{ public static void main(String [] args){ System.out.println("홍길동"); } } 다 작성하고 나서, cmd에서 컴파일 해줄 거임. 이제 컴파일을 해줄 거임.! javac Hello.java 를 친다. -> 그런데 컴파일 오류가 발생했음...( 인코딩 오류 발생,,,!) 출력 줄에서 한글 오류가 난 거임 영어로 바꿔줬다. 다시 컴파일을 했다. 컴파일 완료를 했더니. Hello.class 파일이 생성 되었다. .class 파일 -> 특정 폴더에 저장. //CLASSPATH (클래..

Java 2023.01.31

[Spring] Annotation 정리

@GetMapping url 치는 것. 주소창에 경로 나와있는 것. // 조회할 때 주로 쓴다. @PostMapping 데이터를 Form 같은 것에 넣어서 전달할 때 쓴다. @JacksonXmlRootElement(localName="xmember") localName으로 설정한 값을 루트 요소로 지정한다. localName을 지정하지 않으면 클래스명이 지정된다. @JacksonXmlProperty 루트 요소 안에 들어갈 하위 요소들을 지정한다. 이때, 위의 id 처럼 isAttribute = true 를 지정하면 루트 태그의 속성으로 들어가게 된다. localName 속성을 지정하면 지정한 값으로 요소가 표기된다. getter, setter 가 자동으로 돌아가게 해서 getter, setter 선언 안..

Java/Spring 2022.11.28

[JAVA] JAVA 8에서 JAVA 11로 변경하기

최근 듣고있는 스프링 강의에서 강사님이 java 버전을 11로 쓰라고 권장하셨지만 고집을 부리고 8 버전으로 강의를 시작했다. 그 결과,,, 각종 오류들이 생겨서 강의를 따라가는 속도가 너무 느려져서 11버전을 설치하기로 마음먹고 설치를 했다. (기존에 깔려있던 java 8 버전은 그대로 두었다.) 1. JDK 다운로드 아래 링크로 들어가면 11버전이 있다. https://www.oracle.com/java/technologies/downloads/ Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the exp..

Java 2022.09.29