일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- DBMS
- 소개딩
- 인턴 후기
- Database
- jsp
- react
- SessionAttribute
- reversing.kr
- ㅁㅇㅂ??ㅇㅈㄷ ㅎㅇㅌ...
- 3단계 지역 DB
- JSTL
- 네이버 인턴
- 동읍면 DB
- EER
- Layered Architecture
- Forensic 절차
- PyAmdecoder
- mysql
- restapi
- 소프트웨어 개발보안 경진대회
- 메모리 포랜식
- 정보보호병 후기
- 행정지역 DB
- 인턴 지원
- Django
- webhacking 처음
- 방명록 만들기
- riceteacatpanda
- frontend
- spring
- Today
- Total
목록BACK_END/Spring 공부 (21)
웹찢남
multipart란 - 웹 클라이언트가 요청을 보낼 때 http 프로토콜의 바디 부분에 데이터를 여러 부분으로 나눠서 보내는 것 - 보통 파일을 전송할 때 사용한다. HttpServletRequest는 파일 업로드 즉 Multipart 데이터를 쉽게 처리하는 메소드를 제공하지 않는다. -> 이로 인해 별도의 라이브러리를 사용해야하는데 대표적으로 아파치의 commons-fileupload가 있다. Spring MVC의 파일 업로드 - commons-fileupload, commons-io 라이브러리, MultipartResolver Bean 추가 commons-fileupload commons-fileupload 1.2.1 commons-io commons-io 1.4 DispatcherServlet은 준..
로깅이란? - 정보를 제공하는 일련의 기록인 로그를 생성하도록 시스템을 작성하는 활동 - 프린트 줄 넣기는 간단히, 일시적인 로그만을 생성한다. - 시스템 설계자들은 시스템의 복잡성 때문에 로그를 이해하고 사용해야 함 - 로그가 제공하는 정보의 양은 이상적으로는 프로그램이 실행되는 중에도 설정 가능해야 함 - 일반적인 로그 기록의 이점 (버그에 대한 유용한 정보, 성능에 관한 통계와 정보, 일반적 정보) 로그를 출력하는 방법 - System.out.print() 이용 (성능과 효율이 떨어짐) - 로깅 라이브러리 이용 -- ex) java.util.logging, Apache Commons logging, Log4j, Logback SLF4J - logging 관련 라이브러리는 다양해서 이 라이브러리들을 ..
Argument Resolver란? - 컨트롤러의 메소드 인자로 사용자가 임의의 값을 전달하는 방법을 제공하고자 할 때 사용 - ex) 세션에 저장되어 있는 값 중 특정 이름의 값을 메소드 인자로 전달 작성 방법 - org.springframework.web.method.support.HandlerMethodArgumentResolver를 구현한 클래스 작성 - supportsParameter 메소드를 오버라이딩 한 후, 원하는 타임의 인자가 있는지 검사한 후 있을 때 True 리턴 - resolveArgument 메소드를 오버라이딩 한 후, 메소드의 인자로 전달할 값을 리턴 JavaConfig에 설정하는 방법 - WebMvcConfigurerAdapter를 상속받은 Java Config 파일에서 add..
스프링 동작 과정 스프링이 동작될때 클라이언트로 부터 요청이 들어오면 필터가 존재하면 필터가 동작하고 디스패처 서블릿이 동작함 디스패처 서블릿은 선처리 작업이 있다면 우선 수행하고 핸들러 매핑을 통해 실제 어떤 핸들러가 동작해야하는지 얻어내고 핸들러가 실행됨 이때 디스패처 서블릿이 핸들러를 수행할때 중간에 핸들러 인터셉터가 있다. 이 요청이 끝나면 뷰의 정보를 디스패처 서블릿에 넘기고 뷰 resolver를 이용해서 view의 정보를 얻어오고 해당 view를 찾아 응답함 인터셉터란? 디스패처 서블릿에서 핸들러(컨트롤러)로 요청을 보낼때, 핸들러에서 디스패처 서블릿으로 응답을 보낼 때 동작 인터셉터 작성법 - org.springframework.web.servlet.HandlerInterceptor 인터페이..
전에 배운 HttpSession을 다뤄 로그인 로그아웃을 구현할 수 있지만 현업에서는 스프링을 사용하면 스프링 시큐리티를 사용하여 로그인, 로그아웃을 구현함 스프링 시큐리티는 필터 기반으로 동작하여 스프링 MVC와 분리되어 관리 및 동작한다. Spring Security를 이용한 로그인 과정 1. 클라이언트(유저)가 로그인을 시도합니다. 2. AuthenticationFilter는 AuthenticationManager, AuthenticationProvider(s), UserDetailsService를 통해 DB에서 사용자 정보를 읽어옵니다. 여기서 중요한 것은 UserDetailsService가 인터페이스라는 것입니다. 해당 인터페이스를 구현한 빈(Bean)을 생성하면 스프링 시큐리티는 해당 빈을 사..
HTTP 프로토콜은 상태유지가 되지 않는 프로토콜 -> 상태유지를 위해 Cookie와 Session 기술이 등장함 쿠키 - 유지할 정보를 사용자 컴퓨터에 저장, 유효기간이 지나면 사라짐, 정보유출 가능성 有 세션 - 서버에 저장, 서버가 종료되거나 유효기간이 지나면 사라짐 쿠키 동작 방식 1. 클라이언트가 서버에 요청을 보냄 2. 유지 해야할 정보가 있으면 WAS는 쿠키를 생성 (name,value로 구성) 3. 응답 결과에 쿠키를 포함시켜 클라이언트에게 전송 4. 클라이언트는 갖고있는(받은) 쿠키를 요청할때 같이 전송 5. WAS는 쿠키를 받아 사용자가 유지해야할 정보 파악 세션 동작 방식 1. 클라이언트가 서버에 요청을 보냄 2. 세션키를 생성 3. 세션키를 이용한 저장소 생성 4. 세션키를 담은 C..