전체 글(160)
-
2023.06.23 TIL
(1) 예외 - Dao에서 예외를 던지고, Service에서도 예외를 던지고, Controller에서도 예외를 던지고 예외를 처리하는 것은 무엇일까> - DispatcherServlet에서 던져봤자 특별히 예외를 처리하는것이 없기 때문에 ControllerAdvice를 사용해야 한다. (2) @ControllerAdvice - 컨트롤러가 디스패처서블릿한테 예외를 던지는데 디스패처서블릿에 건너지기 전에 ControllerAdvice가 예외를 잡아서 처리해준다. - @ControllerAdvice를 달아주면 특정 타겟들을 감시하고 있다가 그 타겟들에 예외가 발생하면 처리해줄 수 있다. - 설정해야 할 것은 '누구를 감시할 건지', '뭐라고 할 건지'를 설정해야 한다. @ControllerAdvice(anno..
2023.06.23 -
2023.06.22 TIL
(1) 트랜잭션(@Transactional) - 여러개의 쿼리문이 처리되도 하나의 트랜잭션으로 처리할 때, service가 한꺼번에 처리해야 한다. - 즉, 하나의 서비스에서 여러개의 dao를 실행한다. - 예를 들어 게시판 기능에서 게시글 상세조회가 실패한다해도 조회수가 알아서 증가하게 된다. - 무조건 조회수가 증가하게 되는데, @Transactional을 달아주면 몇개의 dao가 들어오든 그 중 하나가 error가 나면 rollback처리 된다. - 원하는 대로 하나의 트랜잭션으로 동작하게 된 것이다. 메소드 안쪽에서 예외가 발생하면 rollback이 처리되고, 예외가 발생하지 않으면 commit이 된다. - 조회수 증가, 상세 조회 두가지 기능이 하나의 서비스에 제공이 되는데 하나의 기능마다 하나..
2023.06.22 -
2023.06.21 TIL
(1) Interceptor - 인터셉터는 필터와 다르게 스프링 컨테이너 안에서 세군데(Filter, ViewResolver, Controller)를 간섭할 수 있다. - 인터셉터의 단점이 톰캣 자체에서 요청을 한번 받아주고 넘어오는 거니까 404에러 같은 경우에는 처리가 안 된다. (2) @ResponseBody - 이 어노테이션이 달려있으면 viewResolver에 가서 포워딩 하는게 아니라 문자열을 그대로 보낸다. @PostMapping("join") @ResponseBody public String join(MemberVo vo) { //서비스 int result = ms.join(vo); //결과 == 화면 == 문자열내보내기 return "join OK"; } (3) filter가지고 작업하기..
2023.06.21 -
2023.06.20 TIL
filter> org.springframework.web.filter.CharacterEncodingFilter abc encoding UTF-8 /* abc (1) SSR(서버 사이드 렌더링) - 보통 forward, redirect를 사용하는데 forward할 때(jsp로 넘겨줄 때) req에 값을 담고 넘긴다. - 스프링에서는 어떻게 사용할까? - 이렇게 Model을 사용하면 servlet의 request와 같다. - 마찬가지로 redirect를 할 때도, model에 addAttribute를 하면 알아서 그 값이 담긴다. 다른 페이지로 넘어갈 때도 알아서 담긴다. @GetMapping(value = {"/", "home"}) public String home(Model model) { model...
2023.06.20 -
2023.06.19 TIL
(1) Maven - xml 파일을 하나 만들어서 maven 설정 파일을 만들어서 연결해주었더니 해당 경로에 lib 파일들이 들어오게 된 것임. target : 결과물이 담기는 폴더 pom.xml : 프로젝트에 관련된 구조가 담겨있는 xml (2) base-package - base-package에 해당하는 경로에 클래스를 만들고 해당 클래스에 @Component로 달아줘야 스프링이 그것을 bean으로 등록해줌. - 만약에 base-package의 경로를 바꿔버리면 beans에 값이 제대로 담기지 않는다. (3) 스프링 컨테이너에 객체를 등록하는 방법(bean 등록 방법) - xml 파일에 작성 1. bean 태그를 이용한 등록 - - bean으로 등록하는 것은 객체를 만드는 것과 마찬가지다. - bea..
2023.06.19 -
스프링 설정 파일 template
(1) pom.xml 4.0.0 com.kh app springPrj07 war 1.0.0-BUILD-SNAPSHOT 11 5.3.22 1.6.10 2.0.1 org.springframework spring-context ${org.springframework-version} commons-logging commons-logging org.springframework spring-webmvc ${org.springframework-version} org.slf4j slf4j-api ${org.slf4j-version} org.slf4j jcl-over-slf4j ${org.slf4j-version} runtime org.slf4j slf4j-log4j12 ${org.slf4j-version} runtim..
2023.06.19