MVC hoạt động như thế nào trong Spring MVC
Cũng giống
các framework khác, Spring MVC cũng phải request thông quan một
front-controller. Một font-controller đại diện duy nhất chịu trách nhiệm về yêu
cầu các thành phần khác của một ứng dụng để thực hiện việc xử lý thực tế. Trong
Spring MVC DispatcherServlet là một font-controller.
Đầu tiên mỗi
request đến sẽ được đón nhận và xử lý bởi DispatcherServlet, về cơ bản
DispatcherServlet được sử dụng để xử lý các HTTP request, vì nó được kế thừa từ
HTTPServlet. DispatcherServlet gửi các request tới các controller và quyết định
hồi đáp bằng cách gửi lại view.
[1] Sau khi nhận được yêu cầu HTTP, DispatcherServlet
liên lạc với HandlerMapping để xác định controller nào sẽ xử lý yêu cầu này.
[2] DispatcherServlet gửi yêu cầu đến
controller sau khi biết được controller nào sẽ xử lý yêu cầu. Controller nhận
các yêu cầu và gọi phương thức thích hợp bằng cách sử dụng phương thức GET hoặc
POST. Tại đây phương thức thích hợp được gọi sẽ thiết lập model dữ liệu và trả
về tên view (đối tượng ModelAndView) cho DispatcherServlet.
[3] DispatcherServlet sẽ nhận được sử trợ giúp
từ ViewResolver để xác định view cho các yêu cầu.
[4] Quá trình chọn view hoàn thành,
DispatcherServlet chuyển model dữ liệu tới view đó và cuối cùng chuyển tới
trình duyệt.
Dưới đây là cấu hình của DispatcherServlet
trong file web.xml
<servlet>
<servlet-name>books</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>books</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
Trạng thái cấu hình ở trên cho phép Servlet
tên books sẽ xử lý tất cả các url có phần mở rộng là .html.
إرسال تعليق