0602 - Spring MVC

정연진·2021년 6월 2일

스프링은 di/transaction/mvc/jdbc..라이브러리

-> 스프링부트

스프링 mvc(프론트 컨트롤러) : 서브릿을 숨겨버리고 모든 요청은 스프링으로. 우리는 메소드를 통해 매핑매핑.
컨트롤러(브라우저에서 url로 요청이 들어오면 받아서 처리)를 어노테이션으로 관리~~

1차에서는 모든 컨트롤러들이 다 서블릿으로 만들어져 있었음 -> 이러면 서블릿 환경이 달라지면 다~~수정해야함. 유지보수 개망.

이제
프론트컨트롤러만 서블릿으로 만들어져있고 우리는 그냥 클래스(POJO)로 컨트롤러 만들면됨.
우리가 만든 여러 컨트롤러들을 프론트컨트롤러(서블릿으로 만듦)가 다~~보고 모든요청 받아서 관리,설정,호출 해줌


url mapping 정리하기

/admin/notice/가 중복되고 있다.클래스위에 중복되는 url을 묶어버렸다.

dev tools 라이브러리

pom.xml에 devtools 라이브러리를 추가하였다.
그러면 코드 수정시 서버를 내가 재시작 하지 않아도 알아서 재시작해준당.
편하다!!

Get요청과 Post요청 구분하기

1차에서는 하나의 컨트롤러(클래스)안에 doPost,doGet 메소드로 나눴지만 이제는 어노테이션으로 구분!

Get요청 입력받기

  1. Servlet API를 이용한 방법(구닥다리!)
  2. 메소드의 파라미터 이름으로 자동입력


    그냥 메소드의 파라미터에 쓰면 알아서 가져옴(프론트 컨트롤러가 알아서 건내줌)

2-1. 예외사항 처리
파리미터를 받았을 때, 널이면 기본값을 지정하고 정수형으로 형변환이 필요했다.
이제는 그냥 한줄로 끝남@RequestParam(defaultValue = )로 디폴트 값을 지정해줄 수 있고 파리미터의 형식을 그냥 Integer로 써주면 알아서 형변환 해줌.

2-2. name 속성

get 파리미터 f를 field으로 받고 싶을 때, 그냥 field라고 쓰고 name = "f"라고 써주면 된다. name은 기본 속성이라 생략가능

간단하게 한줄로 쿠키를 가져올 수 있다! 없다면 default값 넣어주는거 까지!

profile
열공해욧

0개의 댓글