티스토리 뷰

Spring Framework

스프링 MVC Controller

VIRGIL ABLOH 2021. 6. 29. 18:50
반응형

스프링 MVC를 이용하는 경우 작성되는 컨트롤러에는 특징이 있다.

  • HttpServletRequest/HttpServletResponse를 거의 사용할 필요 없이 필요한 기능 구현
  • 다양한 타입의 파라미터 처리,다양한 타입의 리턴 타입 사용 가능
  • GET 방식,POST 방식등 전송 방식에 대한 처리를 어노테이션으로 처리 가능
  • 상속/인터페이스 방식 대신에 어노테이션만드로도 필요한 설정 가능

이렇듯 어노테이션을 중심으로 구성되기 때문에 각 어노테이션의 의미를 주의하며 작성해야 한다.

 

예제

클래스 선언부에 @Controller 어노테이션을 선언하는데 이렇게 되면 자동으로 빈이 생성된다.

이에 대한 증거로는 servlet-context.xml 또는 ServletConfig.class이다.

@EnableWebMvc
@ComponentScan(basePackages = {"com.osk2090.controller"})//해당 패키지를 스캔하도록 되어 있다.
public class ServletConfig implements WebMvcConfigurer {
...생략
}

 

그래서 해당 클래스를 스프링에서 관리하면 사진처럼 뜬다.

클래스 선언부에는 @Controller와 함께 @RequestMapping을 많이 사용한다.

@RequestMapping은 현재 클래스의 모든 메서드들의 기본적인 URL 경로가 된다.

예를 들어 SampleController 클래스를 다음과 같이 "/sample/*"이라는 경로로 지정했다면

다음과 같이 URL은 모두 SampleController에서 처리된다.

  • /sample/aaa
  • /sample/bbb

@RequestMapping 어노케이션은 클래스의 선언과 메서드 선언데 사용할 수 있다.

 

그래서 구동을 해보고 콘솔창을 확인해보면 정보를 확인할 수 있다.

INFO : org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - 
Mapped "{[/],methods=[GET]}" onto public java.lang.String com.osk2090.controller.
HomeController.home(java.util.Locale,org.springframework.ui.Model)

INFO : org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - 
Mapped "{[/sample/*]}" onto public void com.osk2090.controller.SampleController.basic()

현재 프로젝트의 경우'/'와 'sample/*'는 호출이 가능한 경로라는 것을 확인 할 수 있다.

반응형

'Spring Framework' 카테고리의 다른 글

스프링 MVC Controller-2  (0) 2021.07.01
스프링 MVC Controller-1  (0) 2021.06.30
스프링 MVC 기본 구조  (0) 2021.06.29
MyBatis  (0) 2021.06.26
커넥션 풀  (0) 2021.06.25
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함