
인터셉터 만들어 보기
목차💡 학습 목표 1. 인터셉터의 개념을 활용해서 기능을 개발 할 수 있다.0. 사전 기반 지식인터셉터(Interceptor)는 스프링 MVC에서 제공하는 기능으로, 클라이언트의 요청을 처리하는 과정에서 특정 작업을 수행할 수 있도록 도와준다. 인터셉터는 컨트롤러의 메서드(URI)에 접근하는 과정에서 요청을 가로채어 전처리(pre-processing) 및 후처리(post-processing)를 할 수 있다. 필터(Filter)와의 차이점필터는 서블릿 레벨에서 동작하며, 모든 요청에 대해 작동한다.인터셉터는 스프링 MVC 레벨에서 동작하며, 특정 핸들러(컨트롤러)로의 요청에만 작동한다.인터셉터를 통해 로그인 여부 확인, 권한 검사, 로깅, 요청 시간 측정 등 다양한 작업을 효율적으로 처리할 수 있다..
- Spring Boot/Blog 프로젝트 만들기(JPA)
- · 2024. 10. 11.

회원 정보 수정
💡 학습 목표 1. 회원 수정 DTO(Data Transfer Object)를 생성할 수 있다. 2. 회원수정 컨트롤러를 생성하고 세션을 동기화할 수 있다. 3. 회원 수정 쿼리( JPA API) 를 작성할 수 있다.1. 회원 정보 수정UserController@PostMapping("/user/update")public String update(@ModelAttribute(name = "updateDTO") UserDTO.UpdateDTO reqDTO) { User sessionUser = (User) session.getAttribute("sessionUser"); if (sessionUser == null) { return "redirect:/login-..
- Spring Boot/Blog 프로젝트 만들기(JPA)
- · 2024. 10. 11.

에러 컨트롤러 및 커스텀 익셉션 만들기
💡 학습 목표 1. 커스텀 예외의 필요성 이해 : 기본 예외 처리 방식의 한계를 인식하고, 커스텀 예외를 통해 보다 세밀한 에러 관리를 이해한다. 2. 커스텀 예외 클래스 생성 : 다양한 상황에 맞는 사용자 정의 예외 클래스를 생성하는 방법을 학습한다. 3. 글로벌 예외 처리기(Global Exception Handler) 구현 : @ControllerAdvice와 @ExceptionHandler를 활용하여 전역적으로 예외를 처리하는 방법을 익힌다.1. 커스텀 예외 클래스 생성Exception400401 ... 500 생략package com.tenco.blog_v2.common.errors;public class Exception400 exte..
- Spring Boot/Blog 프로젝트 만들기(JPA)
- · 2024. 10. 11.

에러 페이지 만들기
💡 학습 목표 1. 스프링 부트의 에러 처리 메커니즘 이해 : 스프링 부트에서 제공하는 기본 에러 처리 방식과 커스터마이징 방법을 이해한다. 2. Mustache 템플릿을 활용한 에러 페이지 구현 : 다양한 HTTP 상태 코드에 맞는 사용자 정의 에러 페이지를 Mustache 템플릿을 사용하여 구현한다. 스프링 부트는 기본적으로 BasicErrorController를 통해 애플리케이션에서 발생하는 에러를 처리한다. 이 컨트롤러는 /error 경로로 모든 에러를 매핑하며, 에러 발생 시 적절한 에러 페이지를 렌더링한다. 그러나 기본 제공되는 에러 페이지는 단순한 텍스트 형태로 제공되기 때문에, 추가적인 가공 작업이 필요 하다.1. 에러 페이지 매핑 설정스프링 부트는..
- Spring Boot/Blog 프로젝트 만들기(JPA)
- · 2024. 10. 11.

회원 가입
1. 회원 가입UserRepository 코드 추가/** * 사용자 저장 메서드 (JPA API 사용) * @param user * @return 저장된 사용자 엔티티 */public User save(User user) { // JPQL은 INSERT 구문을 직접 지원하지 않는다. em.persist(user); // 영속화 return user;} JPQL은 INSERT 문을 직접 지원하지 않는다. 따라서 새로운 엔티티를 데이터베이스에 저장하려면 EntityManager의 persist 메서드를 사용해야 한다. 만약 INSERT와 유사한 작업이 필요하다면 Native Query를 사용할 수 있다. 그러나 일반적인 경우에는 persist 메서드를 사용하는 것이 권장된다. Native Q..
- Spring Boot/Blog 프로젝트 만들기(JPA)
- · 2024. 10. 10.

게시글 수정
1. 게시글 수정boardController - 게시글 수정 하기 화면 요청 // 게시글 수정 화면 요청// board/id/update@GetMapping("/board/{id}/update-form")public String updateForm(@PathVariable(name = "id") Integer id, HttpServletRequest request) { // 1. 게시글 조회 Board board = boardNativeRepository.findById(id); // 2. 요청 속성에 조회한 게시글 속성 및 값 추가 request.setAttribute("board", board); // 뷰 리졸브 - 템플릿 반환 return "board/update-..
- Spring Boot/Blog 프로젝트 만들기(JPA)
- · 2024. 10. 10.