728x90
1.Controller란?
사용자의 요청이 진입하는 지점요청에 따라 어떤 처리를 할지 결정해줌
하지만!!
controller는 단지 결정만 해주고 실질적인 처리는 서비스에서 담당.
사용자에게 view(or 서버에서 처리된 데이터를 포함하는view)를 응답으로 보내줌
2. Controller를 쓰는 이유
대규모 프로그램같은 경우 처리해야할 서비스들이 많아짐
, so 이를 하나의 클래스에서 몰아 처리할 게 아니라 controller라는 중간 제어자 역할을 하는 것을 만들어서
, if a 요청이 들어오면 a-controller가 맡아 필요한 로직처리를 위한 서비스를 호출! 하게됨
3. 사용예시
@Controller
@RequestMapping("/questions")
public class QuestionController{
@PostMapping()
public String create(@LoginUser User, QuestionDto questionDto){
qnaService.create(loginUser, questionDto);
return "redirect:/";
}
}
위에서 QuestionController는 /questions로 시작하는 path에 반응.
1. 사용자가 회원가입을 할때 회원가입 버튼을 누르면
http://localhost:8080/questions가 요청되고
2. controller는 이를 인식하고 create()를 호출한다.
3. create()는 리턴값으로 redirect:/를 리턴한다.
(내부적으로 DispatcherServlet에 전달할 때에는 modelandview 객체를 만들어 리턴해준다.)
728x90
'Back > Spring' 카테고리의 다른 글
Spring Mvc 기반 api 예외처리 (0) | 2022.08.26 |
---|---|
Spring ajax , list <map> 으로 데이터 넘기기 (0) | 2022.08.16 |
Thymeleaf 와 jsp의 차이점 (0) | 2022.08.16 |
Dispatcher-Servlet (디스패처 서블릿) 이란? (0) | 2022.08.16 |
Lombok 롬복 설치방법 (0) | 2022.08.16 |