일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- NPM
- 인프런강좌
- 객체리터럴
- 자바스크립트틱택토
- 객체의비교
- 이벤트리스너
- 인프런무료강좌
- 인프런자바스크립트
- HTTP
- 틱택토구현
- EntityFramework
- 고차함수
- 인프런강의
- 자바스크립트파라미터
- 제로초
- c#
- .NET
- slice
- sort
- 코딩
- 자바스크립트
- 자바스크립트함수
- 콜백함수
- 인프런인강
- 자바스크립트객체리터럴
- 인프런
- 비주얼스튜디오
- 인터넷프로토콜
- 자바스크립트recude
- Blazor
- Today
- Total
목록스프링 MVC 2편 - 인프런 김영한 (16)
샐님은 개발중

1. Item 도메인에 체크를 하고 난 뒤 담길 필드를 추가합니다. package shoppingproject.shop.domain.item; import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.Setter; import org.springframework.web.bind.annotation.ModelAttribute; import shoppingproject.shop.domain.common.BaseEntity; import shoppingproject.shop.domain.common.UploadFile; import java.util.LinkedHashMap; import java.util.List; import ja..
스프링은 MultipartFile 인터페이스로 멀티파트 파일을 지원해준다. 1. Controller 작성 package hello.upload.controller; import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMappi..

1. 파일 업로드 기본 예제 및 원리 package hello.upload.controller; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.Part; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springf..

사전 지식 HTML From을 통한 파일 업로드 방식 1) application/x-www-form-urlencoded - HTML 폼 데이터를 서버로 전송하는 기본적인 방법 - 데이터를 HTTP Body에 문자로 전송함. 2) multipart/form-data : 문자뿐만 아니라 바이너리 데이터도 동시에 전송. 파일 업로드는 바이너리 데이터이다. 1. 프로젝트 생성 프로젝트 생성 한 후 index.html 도 추가해준다. resources >static >index.html 상품 관리 서블릿 파일 업로드1 서블릿 파일 업로드2 스프링 파일 업로드 상품 - 파일, 이미지 업로드
1. 인터셉터 - 서블릿 필터와 같이 웹과 관련된 공통 관심 사항을 해결하는 스프링 기술 서블릿 필터와는 적용되는 순서, 범위, 사용방법이 다르다. 2. 스프링 인터셉터 흐름 HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 스프링 인터셉터 -> 컨트롤러 3. 스프링 인터셉터 체인 HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 인터셉터1 -> 인터셉터2 -> 컨트롤러 4. 스프링 인터셉터 인터페이스 public interface HandlerInterceptor { // 컨트롤러 호출 전에 호출(정확히 핸들러 어댑터 호출전) default boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object ha..
1. 로그인시 필터 추가 LoginCheckFilter,java - 인증 체크 필터 package hello.login.web.filter; import hello.login.web.SessionConst; import lombok.extern.slf4j.Slf4j; import org.springframework.util.PatternMatchUtils; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; @Slf4j public..
1. 서블릿 필터란 - 컨트롤러 등에서 로그인 여부를 하나하나 로직 구현하지 않기 위해 사용 - 이렇게 여러 로직에서 공통으로 관심이 있는 것을 공통 관심사 라고 하며 웹과 관련된 공통 관심사는 서블릿필터 또는 스프링 인터셉터를 사용하는 것이 좋음. 2. 서블릿 필터의 흐름 HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 컨트롤러 3. 필터 체인 - 필터를 여러개 설정할수 있다. HTTP 요청 -> WAS -> 필터1 -> 필터2 -> 필터3 -> 서블릿 -> 컨트롤러 4.필터 인터페이스 - 필터 인터페이스를 구현,등록하면 서블릿 컨테이너가 필터를 싱글톤 객체로 생성,관리함. package hello.login.web.filter; import lombok.extern.slf4j.Slf4j; im..
1. HttpSession - 서블릿이 제공하고 JSESSIONID 라는 쿠키 이름을 생성하고 이것은 추정 불가능한 랜덤 값이다. 2. HttpSession 적용 1. SessionConst.java 생성 : HttpSession 에 데이터 보관,조회시 같은 이름 중복되므로 상수로 정의. package hello.login.web; public class SessionConst { public static final String LOGIN_MEMBER ="loginMember"; } 2. LoginController.java 수정 : 클라이언트에서 로그인 요청시 세션사용. @PostMapping("/login") public String loginV3(@Validated @ModelAttribute Lo..
package hello.login.web.session; import org.springframework.stereotype.Component; import org.thymeleaf.spring5.util.SpringRequestUtils; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; import java.util.Map; import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; /* 세션 관리 */ @Compo..
1. 세션 - 서버에 중요한 정보를 보관하고 연결을 유지하는 방법 2. 세션 동작 방식 1) 클라이언트가 서버에 로그인 정보전달 2) 서버는 세션저장소에 세션아이디와 클라이언트에서 보낸 로그인 객체를 생성한 세션아이디의 값으로 저장 3) 세션 id를 응답 쿠키로 클라이언트에 전달해 클라이언트에서 보관 , 이후에 클라이언트가 세션id로 서버에 값요청 4) 서버는 세션 저장소에서 클라이언트가 요청한 세션 id로 값을 찾아서 클라이언트에 반환함 * 세션을 사용해 서버에서 중요한 정보 관리 가능 - > 보안 이슈 해결 (쿠키값 변조, 해킹위험일때 서버에서 해당 세션을 강제로 제거 또는 세션 만료시간 짧게 가능)