Spring/01 Spring MVC
-
23 데이터의 변환과 검증 (2)Spring/01 Spring MVC 2023. 6. 19. 21:01
데이터의 변환과 검증(2) 5) Validator란? - 객체를 검증하기 위한 인터페이스. 객체 검증기(validator)구현에 사용 6) validator를 이용한 검증 - 수동 7) Validator를 이용한 검증 - 자동 8) 글로벌 Validator - 하나의 Validator로 여러 객체를 검증할 때, 글로벌 Validator로 등록 - 글로벌 validator로 등록하는 방법 servlet-context.xml - 글로벌 Validator와 로컬 Validator를 동시에 적용하는 방법 수동 검증 - 실습 RegisterController.java UserValidator.java >> User.java는 생성되어 있음 자동 검증 - 실습 RegisterController.java >> @Va..
-
22 데이터의 변환과 검증 (1)Spring/01 Spring MVC 2023. 6. 18. 23:01
데이터의 변환과 검증 1) WebDataBinder >> String → int로 타입 변환 2) RegisterController에 변환 기능 추가하기 - 실습 String[ ] → String의 자동 타입변환 User.java RegisterController.java registerInfo.jsp 결과 확인 String → Date 타입 변환 User.java >> String birth → Date birth로 변경 (※단축키 Ctrl + shift + r ) 결과 확인 >> 구분자를 2020/12/31(스프링이 기본적으로 변경해준다) → 2020-12-31 변경 >> 2020-12-31 형식의 날짜를 Date타입으로 만들지 못해서 에러나 발생 RegisterController.java 결과 확인..
-
21 DispatcherServlet 파헤치기Spring/01 Spring MVC 2023. 6. 15. 22:03
DispatcherServlet 파헤치기 1) DispatcherServlet이란? 2) SpringMVC의 요청 처리 과정 - HandlerMapping ① HandlerMapping은 map으로 URL과 메서드를 mapping하여 저장 ②클라이언트가 요청시, 요청에 대해서 어떤 메서드가 처리하면 좋은지 DispatcherServlet은 HandlerMapping한테 물어본다 ③ HandlerMapping은 등록되어 있는 key 값을 찾아 URL에 해당하는 메서드를 반환해준다 ④ DispatcherServlet은 해당 메서드를 컨트롤러에서 호출하게 된다 - HandlerAdapter >> HandlerAdapter는 다른 종류의 객체들도 호출가능 >> DispatcherServlet은 HandlerAd..
-
20 예외처리(2) - 이론Spring/01 Spring MVC 2023. 6. 14. 20:17
예외처리(2) - 이론 1) @ResponseStatus - 예외처리 메서드 - 응답 메시지의 상태 코드를 변경할 때 사용 >> 상태코드를 200에서 → 405번으로 변경 >> @ResponseStatus는 예외처리 메서드 앞에 붙인다 (@ExceptionHandler 앞이나 뒤에 상관X) >> 예외가 발생했는데 200번 처리는 정상적인 결과를 출력한다 따라서 400대나 500대로 변경 상태 코드 2) @ResponseStatus - 예외 클래스 - 예외 클래스 - 사용자 정의 예외 클래스를 만들 때 사용 3) 에러 상태 페이지 변경 ExceptionCotroller2.java views → web.xml >> 작성 webapp → error400.jsp , error500.jsp 작성 4) Simple..
-
19 예외처리(1) - 실습Spring/01 Spring MVC 2023. 6. 13. 19:59
예외처리(1) - 실습 ExceptionController.java error.jsp 결과 확인 ExceptionController.java @ExceptionHandler >> 별도의 예외 처리 메서드 public String catcher(Exception ex) >> try/catch문을 삭제, Exception 에러 발생시 return "error"로 error.jsp를 출력해준다 발생한 예외를 뷰로 출력(model 활용) ExceptionController.java error.jsp 배열로 처리가능 >> @ExceptionHandler 메서드들은 컨트롤러 내에서만 사용가능 @ControllerAdvice GlobalCatcher.java model 객체는 메서드마다 다르다
-
18 세션(Session)-실습Spring/01 Spring MVC 2023. 6. 11. 22:45
세션(Seesion) - 실습(1) 1)게시판 이용시, 미로그인이면 로그인 화면으로 이동 >> BoardController.java 와 boardList.jsp 만들기 BoardController.java boardList.jsp >> Board 클릭하면 게시판 이동 >> 현재는 로그인 없이 게시판으로 이동하게 되어 로그인 후 게시판으로 이동할 수 있도록 변경해야한다 2)LoginController.java, sesstion에 id 저장하도록 하기 LoginController.java index.jsp 변경 (세션에 ID저장) >> 세션에 id가 저장 되어 한번만 로그인을 해도 Home과 Board에 화면이 출력됨 >> 세션에 id가 저장 하지 않으면 Board→ Home으로 이동시 로그인 필요, Hom..
-
17 세션(Session)Spring/01 Spring MVC 2023. 6. 5. 20:24
1) 세션이란? - 서로 관련된 요청들을 하나로 묶은 것 - 쿠키를 이용 browser마다 개별(session 객체)를 서버에서 제공 >> 세션 : 모음, 하나의 요청과 응답 / 하나의 브라우저와 하나의 서버(1:1관계) ① 브라우저가 요청을 보내면 서버가 응답(세션 아이디를 쿠키에 저장) ② 그 다음 요청부터는 요청에 쿠키가 자동으로 따라간다 >> 첫 번째 요청 빼고는 나머지는 세션 ③ 세션이 끝나고 나면 새로운 세션 아이디가 발급 - 정리 : 원래 요청과 응답은 독립적인데, 쿠키를 이용하여 세션ID를 브라우저에 전달하여 그 이후에 요청에는 같은 세션ID를 요청에 포함하게 된다 (요청들을 하나로 묶어주는 역할→세션) 세션은 로그인부터 로그아웃까지 ※ 세션의 종류 방법 ①수동 종류 invalidate( ..
-
16 쿠키(Cookie)Spring/01 Spring MVC 2023. 6. 3. 20:12
1) 쿠키(Cookie)란? - 이름과 값의 쌍으로 구성된 정보. 아스키 문자만 가능(한글은 URL인코딩) - 서버에서 생성 후 전송, 브라우저에 저장. (유효기간 이후 자동 삭제) - 서버에 요청시 domain, path가 일치하는 경우에만 자동 전송(하위 경로 포함) 2) 쿠키의 작동 과정 3) 쿠키의 생성 >> 상대시간과 절대시간 둘 중에 하나만 사용가능 >> 상대시간과 절대시간을 둘 다 사용한 이유 : 컴퓨터마다 현재 시간이 다를 수 있다 4) 쿠키의 삭제와 변경 5) 쿠키 읽어 오기 Cookie를 이용하여 아이디 기억하기 만들기 - Cookie 브라우저 실행(크롬) loginForm.jsp 작성 크롬 브라우저(검사→Application) - boolean rememberId 출력 값 - Cook..