Остановка дальнейшей обработки при перенаправлении в фильтре

У меня есть URLRewirteFilter, который проверяет, начинается ли запрашиваемый домен с www. и перенаправляет на no-www url. Как я могу остановить дальнейшую обработку (вызов приложения JSF, вызов сервлетов и т.д.), когда запрос должен быть перенаправлен? На данный момент я имею следующее:

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    HttpServletRequest req = (HttpServletRequest) request;
    String sn = req.getServerName().toLowerCase();
    if (sn.startsWith("www.")) {
        String url = "http://" + getDefaultDomain() + req.getContextPath() + req.getRequestURI();
        HttpServletResponse resp = (HttpServletResponse) response;
        resp.reset();
        resp.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
        resp.setHeader("Location", url);
    }
    chain.doFilter(request, response);
}
20
задан BalusC 9 December 2011 в 13:11
поделиться