如何从拦截器发送响应,并停止进一步执行?

时间:2012-12-29 23:56:42

标签: java spring spring-mvc interceptor

我有一个拦截器,在某种情况下我想向浏览器发送一个字符串响应,然后完全停止执行。

我该怎么做?

2 个答案:

答案 0 :(得分:13)

覆盖preHandle方法,如果要停止执行,则返回false。

@Override
public boolean preHandle(HttpServletRequest request,
        HttpServletResponse response, Object handler) throws Exception {
    response.getWriter().write("something");
    return false;
}

答案 1 :(得分:3)

您可以这样做,它将向客户端返回json响应

@Override
public boolean preHandle(HttpServletRequest request,
        HttpServletResponse response, Object handler) throws Exception {
    response.getWriter().write("{ \"error_description\": \"Invalid Value\"}");
    response.setContentType("application/json");
    response.setCharacterEncoding("UTF-8");
    response.setStatus(400);
    return false;
}