Spring 39

38. 데이터의 변환과 검증(2) - 패스트캠퍼스 백엔드 부트캠프 3기

1. Validator : 객체를 검증하기 위한 인터페이스, 객체 검증기(validator)구현에 사용public interface Validator { // 이 검증기로 검증가능한 객체인지 알려주는 메서드 boolean supports(Class clazz); // 객체를 검증하는 메서드 - target : 검증할 객체, errors:검증시 발생한 에러저장소 void validate(@Nullable Object target, Errors errors);}Errors - BindingResult인터페이스의 부모public class UserValidator implements Validator { @Override public boolean supports(Class c..

Spring 2025.02.17

36. DispatcherServlet - 패스트캠퍼스 백엔드 부트캠프 3기

1. DispatcherServlet이란?관심사의 분리DispatcherServlet과 Controller, registerForm.jsp 사이에 Adapter들이 있는이유?느슨한 결합으로 변경에 유리하기 위해DispatcherServlet 소스 분석 DispatcherServlet.propertiesorg.springframework.web.servlet.LocaleResolver=org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver// 테마기능 ThemeResolverorg.springframework.web.servlet.ThemeResolver=org.springframework.web.servlet.theme.FixedThemeReso..

Spring 2025.02.17

35. 예외처리/이론 - 패스트캠퍼스 백엔드 부트캠프 3기

1. @ResponseStatus응답 메시지의 상태 코드를 변경할 때 사용예외처리 메서드 앞에서의 @ResponseStatus@ResponseStatus(HttpStatus.METHOD_NOT_ALLOWED) // 405 Method Not Allowed.@ExceptionHandler({NullPointerException.class, ClassCastException.class})public String catcher2(Exception ex, Model m) { m.addAttribute("ex", ex); return "error";}error.jsp로 URL요청이 성공하면 200번대의 성공 메시지가 나오는데 이 요청 성공 메시지를 400,500번대로 바꿔주는 역할 사용자 정의 예외 클..

Spring 2025.02.17

33. 세션(session)/실습(3) - 패스트캠퍼스 백엔드 부트캠프 3기

1. URL 보내기BoardController.java@GetMapping("/list")public String boardList1(HttpServletRequest request) throws Exception{ if(!loginCheck(request)){ return "redirect:/login/login?toURL="+request.getRequestURL(); // 로그인을 안했으면 로그인 화면으로 이동 } return "boardList"; // 로그인을 한 상태이면, 게시판 화면으로 이동}loginForm.jsp 로그인을 하지 않은 상태로 Board를 들어가면...URL을 숨겨준다... URL을 로그인창에서 숨기고, 주소창을 통해 받아온다.@PostMappin..

Spring 2025.02.16

32. 콘솔 한글깨짐 오류 고치기 - 패스트캠퍼스 백엔드 부트캠프 3기

1. FilterFilter를 배우는 도중 콘솔창에서 한글이 깨져서 나오는 것을 발견...인터넷에서 3가지 방법을 배워왔다!-Dfile.encoding=UTF-8-Dconsole.encoding=UTF-8이 두줄을 추가해주는 것이었는데 (이걸로는 안됐다)다음!메이븐 클린 빌드도 해봤지만... (소용없었다)Rebuild Project도...마지막으로 Tomcat자체의 VM Option을 건드려보았는데...아까 위에서 VM Option에 추가해준 두줄을 Tomcat VM Option에 추가해보앗다.성공!

Spring 2025.02.15

31. 세션(session)/실습(2) - 패스트캠퍼스 백엔드 부트캠프 3기

1. 게시판 이용시, 미로그인이면 로그인 화면으로 이동@Controller@RequestMapping("/board")public class BoardController { @GetMapping("/list") public String boardList1(HttpServletRequest request, Model model) throws Exception{ if(!loginCheck(request)){ return "redirect:/login/login"; // 로그인을 안했으면 로그인 화면으로 이동 } return "boardList"; // 로그인을 한 상태이면, 게시판 화면으로 이동 } private boolean l..

Spring 2025.02.13

30. 세션(session)/실습(1) - 패스트캠퍼스 백엔드 부트캠프 3기

1. boardList.jsp fastcampus ">Home ">Board ">login ">Sign in This is BOARD This is BOARD This is BOARD This is BOARD This is BOARDBoardController@Controller@RequestMapping("/board")public class BoardController { @GetMapping("/list") public String list(){ return "boardList"; }}Board를 누르면 이 페이지로 오게된다.이 페이지를 로그인이 안되어있으면 오지 못하게 해보자BoardController@Controlle..

Spring 2025.02.10

29. 세션(session)/이론 - 패스트캠퍼스 백엔드 부트캠프 3기

1. 세션이란?서로 관련된 요청, 응답 들을 하나로 묶은 것 - 쿠키(브라우저에 저장)를 이용요청은 독립적이고 관계가 없다.browser마다 개별 저장소(session객체)를 서버에서 제공수동 종료HttpSession session = request.getSession();session.invalidate(); // 1. 세션을 즉시 종료session.setMaxInactiveInterval(30*60); // 2. 예약 종료(30분 후)자동 종료 - web.xml // 분단위 30 2. 쿠키 vs 세션처음에는 요청에 쿠키가 없다. - 서버에서 쿠키 응답두번째 요청시 쿠키가 요청에 생긴것을 볼 수 있다.쿠키차단시 쿠키가 생성되지 않는다.대신 요청URL뒤에 쿠키ID가 추가된다." method="p..

Spring 2025.02.10