[Java / Spring] 19. Root / HomeController

2022. 4. 25. 14:21·🍃 Spring, Spring Boot/스프링 프레임워크 기초

지난 시간에 우리는 어노테이션을 이용하면서 컨트롤러 클래스의 구현 방식을 바꾸어보았다.

 

IndexController

 

 

여기서 알 수 있는 점은 이제 해당 컨트롤러 클래스는 더 이상 컨트롤러로써의 역할을 하는 것이 아니며, 실질적인 역할은 컨트롤러 클래스 안에 구현되어있는 함수가 수행한다는 것이다.

 

따라서 해당 컨트롤러는 컨트롤러를 담고 있는 더 큰 의미의 컨트롤러를 의미하게 되며, 이를 표현하기 위해 컨트롤러의 이름을 특정 페이지에만 해당되는 이름이 아닌 RootController 또는 HomeController 등으로 바꾸어 주는 것이 좋다.

 

실질적인 컨트롤러의 역할을 하는 함수는 아래와 같이 구현하여 기존 컨트롤러의 역할을 수행할 수 있다.

 

IndexController -> HomeController

 

 

이와 마찬가지로 공지사항 페이지에 대한 컨트롤러인 DetailController와 ListController 클래스 또한 하나의 컨트롤러 클래스에서 함수를 통해 그 역할을 수행하도록 수정해줄 수 있을 것이다.

 

NoticeController

 

 

이제 servlet-context.xml 파일에 남아있는 흔적들을 모두 지워주기 위해 파일을 열고 아래에 해당하는 구문을 삭제한다.

 

servlet-context.xml

 

 

이 상태에서 페이지를 실행시켜보면 첫 페이지는 잘 출력되나 공지사항 페이지에서 오류가 나는 것을 확인할 수 있다.

이는 단순히 header.jsp 파일에 있는 경로가 잘못 설정되어 있기 때문이므로 해당 부분을 수정해줌으로써 간단하게 해결할 수 있다.

 

header.jsp

 

 

이후 페이지를 새로고침 한 뒤, 다시 공지사항 페이지를 출력해보면 정상적으로 작동하는 것을 확인할 수 있다.

 


우리가 작성한 NoticeController를 보면 @RequestMapping 어노테이션에 들어가는 문구가 반복적이라는 것을 알 수 있다.

 

NoticeController

 

 

위와 같이 공통적인 경로가 반복될 경우 다음과 같은 방식으로도 매핑할 수 있다.

 

NoticeController

저작자표시 (새창열림)

'🍃 Spring, Spring Boot > 스프링 프레임워크 기초' 카테고리의 다른 글

[Java / Spring] 21. QueryString 입력(@RequestParam)  (0) 2022.04.26
[Java / Spring] 20. 문서 출력방법  (0) 2022.04.25
[Java / Spring] 18. Annotation 활용하기  (0) 2022.04.23
[Java / Spring] 17. 스프링 설정파일(dispatcher-servlet.xml) 분리하기  (0) 2022.04.23
[Java / Spring] 16. 데이터 서비스 클래스 준비 및 객체 사용하기  (0) 2022.04.23
'🍃 Spring, Spring Boot/스프링 프레임워크 기초' 카테고리의 다른 글
  • [Java / Spring] 21. QueryString 입력(@RequestParam)
  • [Java / Spring] 20. 문서 출력방법
  • [Java / Spring] 18. Annotation 활용하기
  • [Java / Spring] 17. 스프링 설정파일(dispatcher-servlet.xml) 분리하기
Baeg-won
Baeg-won
  • Baeg-won
    좋았다면 추억이고 나빴다면 경험이다.
    Baeg-won
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 🍃 Spring, Spring Boot
        • 스프링 프레임워크 기초
        • 스프링 핵심 원리 - 기본편
        • 자바 ORM 표준 JPA 프로그래밍 - 기본편
        • 스프링 MVC
        • 실전! 스프링 부트와 JPA 활용1 - 웹 애플리..
      • 🥑 Web Technoloy
      • 🚗 Backend Toy Project
        • 스프링 부트 게시판
        • Photogram
        • Baeg-won Clothing Gallery
      • 🥇 Problem Solving
        • Breadth-First Search
        • Depth-First Search
        • Backtracking
        • Simulation
        • Two-pointer
        • Binary Search
        • Greedy
        • Dynamic Programming
        • Minimum Spanning Tree
        • Dijkstra
        • Floyd warshall
      • ☕ Java
        • 명품 자바 에센셜
        • Applications
      • 🍦 JavaScript
        • JavaScript 기초
      • 🐧 Linux
        • 이것이 리눅스다(CentOS 8)
      • 📟 Database
        • 혼자 공부하는 SQL
      • 🧬 Data Structure
      • 🎬 HTML
      • 🎤 Tech Interview
      • 📌 etc
        • Unity 2D Raising Jelly Game
        • C++
        • 영어 쉐도잉
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Baeg-won
[Java / Spring] 19. Root / HomeController
상단으로

티스토리툴바