Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法检查HttpResponse是否是Spring拦截器中的重定向?_Java_Spring Mvc_Interceptor - Fatal编程技术网

Java 有没有办法检查HttpResponse是否是Spring拦截器中的重定向?

Java 有没有办法检查HttpResponse是否是Spring拦截器中的重定向?,java,spring-mvc,interceptor,Java,Spring Mvc,Interceptor,我想编写一个Spring MVC HandlerInterceptorAdaptor,它根据HttpResponse是否是重定向在postHandle()方法中执行不同的操作 这可能吗?如果可能,如何实现 public class MenuInterceptor extends HandlerInterceptorAdapter { public final void postHandle(HttpServletRequest request, Ht

我想编写一个Spring MVC HandlerInterceptorAdaptor,它根据HttpResponse是否是重定向在postHandle()方法中执行不同的操作

这可能吗?如果可能,如何实现

public class MenuInterceptor extends HandlerInterceptorAdapter {
public final void postHandle(HttpServletRequest request,
                       HttpServletResponse response,
                       Object handler,
                       ModelAndView modelAndView) throws SystemException {
    if (redirect) {
        // do somethnig
    } else {
        // do something else
    }
}
编辑: 有没有比这更好的方法:

if (modelAndView.getView() instanceof RedirectView || modelAndView.getViewName().startsWith("redirect:")) {
    // Do something
 } else {
    // Do something else
 }

在Spring MVC中,控制器通常通过返回
视图
来发送重定向,该视图是
重定向视图
或以
重定向:
前缀开头的字符串viewName。您可以很容易地检查其中任何一个。

您到底指的是什么类型的“拦截器”和/或什么类型的“HttpResponse”?如果您的HttpResponse有一个“状态代码”或“响应代码”,您只需要检查它是否有重定向代码。通常,301用于重定向。

我想我需要澄清我的问题。正如问题主体中所述,Spring拦截器。我将使用一些示例代码进行编辑。是的,但仅通过检查视图类型和viewName.StartWith。我希望有更好的办法。