In Spring MVC, what are interceptors used for?
4 phương ánCó giải thích
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "For cross cutting concerns like logging, authentication, and authorization.". Interceptor trong Spring MVC là lớp hiện thực HandlerInterceptor, được DispatcherServlet gọi quanh việc xử lý của handler: preHandle trước controller, postHandle sau controller nhưng trước khi render view, và afterCompletion khi yêu cầu xong; nhờ vậy nó hợp cho các mối quan tâm cắt ngang (cross-cutting concerns) áp cho nhiều controller như ghi log, kiểm tra đăng nhập, phân quyền, đo thời gian. "Only for handling exceptions." sai vì xử lý ngoại lệ có @ExceptionHandler và @ControllerAdvice, interceptor chỉ được báo ngoại lệ trong afterCompletion. "Only for mapping requests." sai vì việc ánh xạ yêu cầu tới controller do HandlerMapping làm, interceptor chỉ được gắn vào kết quả ánh xạ đó. "Only for defining views." sai vì view do controller trả về và ViewResolver phân giải; postHandle có thể chỉnh ModelAndView nhưng đó không phải mục đích duy nhất, chữ Only làm phát biểu sai.
Cùng phần 5
Xuất hiện trong 1 bộ đề
Đi tiếp từ đây