Java HttpHandler相关问题

时间:2015-12-11 05:07:19

标签: java wildfly undertow

我正在使用如下的HttpHandler。

@Override
    public void handleRequest(HttpServerExchange exchange) throws Exception {
        System.out.println("In the handler");

        SecurityContext securityContext = exchange.getSecurityContext();
        if(securityContext != null){
            if(securityContext.isAuthenticated()){
                if(somechecks() ) {
                    //redirect to login error page
                }
                }
            }
        }

        next.handleRequest(exchange);
    }

如何从处理程序重定向到错误页面?

2 个答案:

答案 0 :(得分:1)

试试这个。

public static void redirectTo(HttpServerExchange exchange, String uri) {
    exchange.getResponseHeaders().add(HttpString.tryFromString("Location"), uri);
    exchange.setStatusCode(StatusCodes.TEMPORARY_REDIRECT);
    exchange.getResponseSender().close();
}

答案 1 :(得分:0)

对于我使用的处理程序重定向,RedirectHandelr:

RedirectHandler redirectHandler = new RedirectHandler("yourErrorPageURL");
redirectHandler.handleRequest(exchange);