[Spring Framework 공부]

이도훈·2021년 11월 5일
0

스프링 공부


  • @Controller vs @RestController
  1. Controller : 전통적인 Spring MVC의 컨트롤러인 @Controller는 주로 View를 반환하기 위해 사용합니다. 주로 view를 반환하는 목적으로 사용하지만 데이터를 client에게 전달할 때도 활용하기도 합니다.
    [Controller 방식]
    1) client는 URI 형식으로 웹 서비스에 요청
    2) Mapping되는 handler와 그 type을 찾는 DispatcherServlet이 요청을 인터셉트합니다.
    3) @ResponseBody를 사용해 client에게 Json 형태로 데이터를 반환합니다.

  2. RestController는 Controller에 @ResponseBody가 추가된 것입니다. 주로 Json 형태로 객체 데이터를 반환하는 용도로 사용합니다.
    [RestController 방식]
    1) 2) 동일
    3) 어노테이션 추가없이 client에게 Json 형태로 데이터를 반환합니다.


  • script 작성시, JSTL 조건문 오류(태그, 문법 등 이상이 없다고 여겨질 때)
ex)
<c:if test="${sessionScope.userId == '' }"> -> 오류 발생
<c:if test="${sessionScope.userId == ''}"> -> 정상 작동

    : 해당 오류는 jstl 내부 ""에 공백이 들어가는 경우 발생합니다.
      잘 확인하고 프로그래밍하기~

  • @Transitional(readonly = true)
    : 읽기(r) 전용모드로, cud가 발생하면 에러를 발생시킨다.
    -> 일단은 select용 성능 개선을 한다라고 알고있기.

  • session 리턴(getsession(true) 와 getsession(false))
1. HttpSession session = request.getSession();
                       ( == request.getSession(true);)
2. HttpSession session = request.getSession(false);

1번은 session이 존재하면 그대로 넣고 존재하지 않으면 새롭게 세션을 생성한다.
2은 session이 존재하면 그대로 넣고 존재하지 않으면 null 값을 넣기 때문에, null 체크가 필수적이다.

profile
back-end developer

0개의 댓글