Trong bài viết trước, các bạn đã biết sơ qua về các thành phần của một controller trong Spring MVC, trong bài viết này chúng ta sẽ cùng tìm hiểu làm thế nào để định nghĩa một controller trong Spring MVC các bạn nhé!
Tiếp tục với project mình đã tạo trong bài viết trước, các bạn có thể thấy, một lớp được định nghĩa với annotation @Controller sẽ được xem là một controller trong Spring MVC. Đối tượng của lớp này được dùng để xử lý các request đến một trang nào đó được định nghĩa trong lớp này.
Ví dụ lớp HomeController trong project của chúng ta đã được định nghĩa với annotation @Controller.
1 2 3 4 5 6 7 8 |
package com.huongdanjava.springmvc; import org.springframework.stereotype.Controller; @Controller public class HomeController { ... } |
Tên của lớp này bạn có thể đặt bất cứ tên gì, không quan trọng, cái quan trọng là phải có annotation @Controller được khai báo ở đầu định nghĩa của lớp.
Ví dụ ở đây mình đổi tên lớp thành ExampleController:
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 31 32 33 34 35 36 37 38 39 |
package com.huongdanjava.springmvc; import java.text.DateFormat; import java.util.Date; import java.util.Locale; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; /** * Handles requests for the application home page. */ @Controller public class ExampleController { private static final Logger logger = LoggerFactory.getLogger(ExampleController.class); /** * Simply selects the home view to render by returning its name. */ @RequestMapping(value = "/", method = RequestMethod.GET) public String home(Locale locale, Model model) { logger.info("Welcome home! The client locale is {}.", locale); Date date = new Date(); DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale); String formattedDate = dateFormat.format(date); model.addAttribute("serverTime", formattedDate); return "home"; } } |
thì khi chạy kết quả vẫn như cũ.