분류 전체보기 (144) 썸네일형 리스트형 [Spring] BindingFailure BindingFailureType - Boolean역할 - 이 에러가 바인딩 실패인지, 검증 실패인지 구분해준다. /** * Create a new FieldError instance. * @param objectName the name of the affected object * @param field the affected field of the object * @param rejectedValue the rejected field value * @param bindingFailure whether this error represents a binding failure * (like a type mismatch); else, it is a validation failure * @para.. [Spring] @ServletComponentScan @ServletComponentScan@SpringBootApplicationpublic class ServletApplication { public static void main(String[] args) { SpringApplication.run(ServletApplication.class, args); }}스프링에서 서블릿을 사용하도록 환경을 만들 때 사용하는 @ServletComponentScan을 살펴보자. 스프링 하면 빼놓을 수 없는 것이 스프링 빈이다. 스프링 빈에 대해 공부를 해보았다면 @ComponentScan에 대해 알 것이다. 그렇다면 앞에 서블렛이 붙은 @ServletComponentScan은 무엇일까? package org.springframework.boot.web.servle.. [Java] 에러, 예외 정리하기 우리가 코드를 실행하는데 예기치 않은 문제로 인해서 정상적인 실행이 아니라 프로그램이 비정상적으로 종료가 될 수 있다. 이러한 결과의 원인이 나타나는 이유는 에러(error)나 예외(Exception)가 될 수 있다.오늘은 프로그램을 비정상적으로 종료시키는 에러와 예외에 대해 알아보겠다.1. 에러 (Compile Error, Runtime Error, Logical Error)에러는 발생 시점에 따라서 컴파일 에러(compile error), 런타임 에러 (runtime error)로 나눌 수 있다. 우선 컴파일 에러에 대해서 먼저 알아보자.우리가 Java, C, Python 등으로 코딩을 했다고 하더라도 컴퓨터는 이것을 읽지 못 한다. 컴퓨터는 0,1로 이루어진 언어만 이해할 수 있기 때문에 우리가 코.. [Solution] H2 서버 내리는 법 스프링 DB 공부 중 락이 꼬여서 H2 서버를 내려야 하는데 정상 작동이 안 되었다. h2 windows 배치 파일을 눌러도 cmd창이 열렸다가 Error라면서 바로 꺼졌다.해결 방법을 말하자면 서버를 내려야 하는데 h2.bat 처럼 cmd에 치는 명령어 대신 PID를 이용하여 죽여야 한다. https://glsberry.tistory.com/21 Java 환경 변수 설정과 H2 DB 설치📑 목차 💜 1. Java 환경 변수 설정 💜 2. h2 다운로드, 설치/실행 노트북을 바꾸기 전에는 아무런 문제 없이 H2 Database를 설치했었는데 노트북 바꾸고 나서 아무런 설정을 안 했더니 난리 나서 부glsberry.tistory.com우선 위 글로 이동해서 환경 변수가 제대로 설정이 되어있는지 확인한.. 사용 중인 포트 죽이는 법 (localhost:8080 접속 안 됨, port already use) cmd 창 들어가기netstat -ano 입력자신이 사용하려 하는 로컬 주소 확인 ex) localhost:8080, localhost:8082해당 주소에 맞는 PID 확인 (8080 - 4528 3032 - 4)taskkill /f / pid 번호 입력 [Spring] 필터를 이용한 로그인 처리 필터란?필터는 서블릿이 제공하는 기능으로 말 그대로 무언가를 걸러주는 역할을 한다.웹사이트에서는 기본적으로 로그인 후에 다양한 기능들을 사용할 수 있지만 만약 로그인을 하지 않고 바로 내가 들어가고 싶은 기능의 URI를 입력해서 들어간다면 로그인을 하는 의미가 없어진다. 이는 공통 관심사 (cross-cutting concern)와도 연관이 있는데 웹사이트, 애플리케이션을 이용할 때 그 기능들을 이용하기 위해서는 로그인처럼 자신을 인증해야 한다. 이는 여러 기능들이 인증이라는 부분에 대해 관심을 가지고 있다고 말한다. 공통 관심사를 해결하기 위해서는 스프링의 AOP를 사용할 수도 있지만 웹과 관련된 부분은 서블릿 필터 또는 스프링 인터셉터를 사용하는 것이 좋다. 서블릿 필터 흐름HTTP 요청 → WAS .. [Spring] 쿠키와 세션을 이용한 로그인, 로그아웃 @PostMapping("/login") public String loginV3(@Valid @ModelAttribute LoginForm form, BindingResult bindingResult, HttpServletRequest request) { if (bindingResult.hasErrors()) { return "login/loginForm"; } Member loginMember = loginService.login(form.getLoginId(), form.getPassword()); if (loginMember == null) { bindingResult.reject("loginFail", .. [Spring] 쿠키와 세션을 이용한 로그인 처리 로그인 처리 방식1. 웹 브라우저에서 LoginId, password로 로그인한 POST 요청을 서버로 전송2. 서버는 회원 저장소에서 해당 로그인 정보와 일치하는 멤버가 있는지 찾는다.3. 일치하는 멤버가 있으면 세션 저장소에 SessionId와 value(Member)를 생성한다. (이때 sessionId는 UUID로 추정 불가능하게 해야 한다.)4. sessinId를 HTTP 응답에 쿠키로 같이 보내서 쿠키 저장소에 저장한다.5. 로그인 이후 클라이언트는 항상 MySessionId를 쿠키 저장소에서 빼서 서버로 전달하고 서버는 쿠키 정보로 세션 저장소를 조회해서 세션 정보를 사용한다.세션 관리의 3가지 기능1. 세션 생성sessinId 생성 (UUID)세션 저장소에 sessionId와 보관할 값 저.. 이전 1 2 3 4 5 ··· 18 다음