본문 바로가기

전체 글131

Spring_4주차-(1) 1. RestTemplate *서버간 통신을 할때 사용하고 RestTemplate은 스프링에서 HTTP통신 기능을 손쉽게 사용하도록 설계된 템플릿이다. * RestTemplate 은 Restful원칙을 따르고 동기 방식으로 처리하며 JSON,XML,문자열등으로 주고 받으며 통신한다. RestTemplate 메소드 종류 RestTemplate 사용해보기 1) 일단 작업은 서비스에서 할거니 서비스 안에 RestTemplate 필드를 만들어주고 생성자 형식으로 주입을 해준다. build()함수 구현쪽 가보면 new RestTemplate 리턴해준다. 2) RestTemplate으로 요청을 보낼 때 Header에 특정 정보를 같이 전달 하고 싶으면 exchange() 메소드의 예시인데 URI 클래스를 이용해서 .. 2023. 11. 10.
23/11/10 ● Spring Security란 * spring Security는 spring 기반 애플리케이션의 보안(인증,인가등)을 담당하는 스프링 프레임워크다. * spring Security는 인증,인가에 대한 부분을 Filter에서 처리하니 비지니스 로직에서 안해도된다. ( spring Security 는 서블릿의 필터 기반으로 동작) * Spring Security는 세션-쿠키 방식으로 인증한다 [ 인증과 인가 ] * 인증(Authentication): 해당 사용자가 본인이 맞는지를 확인하는 절차 * 인가(Authorization): 인증된 사용자가 요청한 자원에 접근 가능한지를 결정하는 절차 ● UserDetails * Spring Security에서 사용자의 정보를 담는 인터페이스 ● UserDetail.. 2023. 11. 10.
23/11/09 Servlet (gpt의 답변) Servlet은 Java 웹 애플리케이션의 구성 요소 중 하나로, 클라이언트의 요청을 처리하고 응답을 생성하는 Java 클래스 * 서블릿은 자바를 사용하여 웹 페이지를 동적으로 생성하는 서버 측 프로그램 * 웹 요청과 응답을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해준다. * 예를들어보면 클라가 로그인 하려고 아이디,비번 보냈을때 서버는 컨트롤러,서비스에 있는 메소드로 클라가 보낸 아이디,비번 확인후 응답해준다. 동작 과정 1. 클라이언트 요청 2. HttpServletRequest, HttpServletResponse 객체 생성 3. Web.xml이 어느 서블릿에 대해 요청한 것인지 탐색 4. 해당하는 서블릿에서 service() 메소드 호출 5. doGet(.. 2023. 11. 9.
23/11/08 1.ServletRequest , HTTPServletRequest 차이 *[ServletRequest] - ServletRequest는 클라이언트의 요청에 대한 모든 HTTP 요청 정보를 담고 있는 인터페이스다. - 서블릿 컨테이너가 클라이언트의 요청에 대한 정보를 수신하면,그 정보를 담고 있는 객체가 ServletRequest를 구현한 객체로 생성된다. *[HTTPServletRequest] - HttpServletRequest는 ServletRequest 인터페이스의 하위 인터페이스이다.(상속) - HTTP Header, 쿼리 매개변수, 세션 정보 등에 접근할 수 있는 메서드들을 제공한다. ServletRequest 큰범위의 처리 할때, HTTPServletRequest 는 작은 범위인 자세한 정보.. 2023. 11. 8.
Spring_3주차-(1) 1. Bean을 수동으로 등록 * Bean을 자동말고 수동으로 등록은 언제 사용되나? -> 기술적인 문제나 공통적인 관심사를 처리할 때 사용하는 객체들을 수동으로 등록하는 것이 좋다. * 수동등록된 Bean에서 문제가 발생했을 때 해당 위치를 파악하기 쉽다는 장점이 있다. * 사용방법 예시를 보면 - config 패키지 생성후 PasswordConfig 클래스 생성 - bean으로 등록하고자하는 객체를 반환하는 메소드를 선언하고 메소드 위에 @Bean 설정 - bean을 등록하는 메소드가 속한 해당 클래스에 @Configuration을 설정 - 이러면 Spring 서버가 뜰 때 Spring IoC 컨테이너에 'Bean'으로 저장된다.↓ (PasswordEncoder passwordEncoder = pas.. 2023. 11. 7.
23/11/06 1. 개인 과제 구조 설계만 마치고 일단 깃허브랑 연결하려고 깃허브에서 레포지토리 새로 만들고 Readme파일도 같이 동시에 생성했다. 그후에 이제 리모트 설정하고 푸쉬하려했는데 이런 오류가 나왔다. 알아보니 깃허브에서 Readme파일을 만들었지만 내 로컬에는 Readme파일이 없어서 오류였다. 그래서 풀 해오고 푸쉬 하려했는데 이번엔 풀할때 저런 오류가 또 나왔다... 해결 방법은 git pull origin 브랜치명 --allow-unrelated-histories 이고 이 오류의 원인 알아보니 ->리모트에서 레포지토리 생성할때 같이 Readme파일 생성하면서 해서 새로운 커밋 이력이 생기는데 이 상태에서 로컬에 있는 걸 푸시할 경우 로컬에는 리모트의 커밋 이력이 없으므로 이 에러가 발생이였다 2023. 11. 5.