어제에 이어 Spring 운영 개념 수업을 진행 하게 되었다.
오늘은 그중에서 Controller 와 관련된 내용들을 위주로 공부가 진행 되었다.
스프링에서는 사용자가 보는 화면 (jsp페이지들)과 기능구현페이지(java 페이지들)이 따로 존재하게 되는데 jsp페이지에서는 이미 구현된 자바 메서드들 값을 표현하는 방식이고 java는 메서드를 실행하는 공간이다. 이둘을 이어서 자바페이지에서 얻은 값이나 내용을 jsp 페이지에서 출력해주기 위해 연결을 도와주는것이 Controller이다.
controller 생성방법
어노테이션을 이용하여 controller를 생성합니다.
컨트롤러로 만들 클래스의 위에 @Controller 라고 적어주고 ctrl + space 를 하게 되면 자동으로 import가 되며 controller 어노테이션 적용되면 자동으로 bean이 등록되어 사용이 가능해진다.
RequestMapping
controller어노테이션을 만들게되면 요청 URL에 해당하는 메소드를 매핑해줄수있는 RequestMapping 어노테이션을 생성합니다. (
요청의 방식에 따라 메서드의 오버로딩이 성립이 되며 반환형이 없는 경우 요청을 실행한 url이 되고, 반환형이 있는경우 해당 이름을 가진 jsp페이지가 된다.
RequestMapping은 value="요청주소" , method=RequestMethod.(GET or POST)형식으로 사용이 된다
@GetMapping 과 @PostMapping을 각각 import 해주고 해당 method에 따라 실행할 메서드들도 만들어준다.
Model은 HttpServletRequest의 가벼운 버전의 객체로 request를 대신해 attribute에 값을 전달을 해준다.
ModelAndView는 객체 생성시 매개 변수로 viewName을 지정할수 있고, 아니면 setViewName()으로도 지정할수 있다. 지정된 viewName의 jsp 페이지로 포워드 된다. 그리고 jsp에 넘길 attribute는 오브젝트 타입으로 addObject() 메서드를 통하여 추가해준다.
다른 패키지에서 클래스를 생성