Tôi đang sử dụng khung công tác MVC mùa xuân. Tôi muốn đăng nhập trạng thái lỗi bất cứ khi nào ngoại lệ được ném, vì vậy phương pháp afterCompletion
được sử dụng trong HanlderInterceptor
.HandlerInterceptor.afterCompletion() trong mùa xuân MVC thay đổi mã phản hồi
@Override
public void afterCompletion(final HttpServletRequest request, final HttpServletResponse response, final Object handler, final Exception ex)
{
final int responseCode = response.getStatus();
s_logger_error.error("status code: " + responseCode);
}
Mã này hoạt động tốt nếu tôi chạy ứng dụng này như một ứng dụng trên máy cục bộ. Nhưng khi chúng tôi lưu trữ nó trên máy chủ cầu cảng, giao diện người dùng nhận được phản hồi lỗi chính xác (Trong trường hợp của tôi 409
), nhưng trong phương pháp này, nó được ghi lại là 200
.
[Hình ảnh từ debug từ xa vị trí hiển thị status=200
nhưng trong phản ứng đó là 409
]
Ai đó có thể giúp đỡ để tìm ra lý do tại sao có sự thay đổi trong mã phản hồi?
Tôi đang sử dụng chạy nước rút 1.1.7.RELEASE phiên bản khởi động mùa xuân và cầu nối-phân phối-9.2.10.v20150310.
Mã trạng thái 409 ở đâu? Có thể nó được đặt sau trạng thái HandlerInterceptor.afterCompletion() – medvedev1088
409 của bạn được đặt trước khi HandlerInterceptor.afterCompletion() được gọi. – subhashlg26
Bạn đã thực hiện 'HandlerInterceptor' hoặc phân lớp một trong các triển khai? – Leon