【发布时间】:2012-01-16 18:28:33
【问题描述】:
我有 URLRewirteFilter,它检查请求的域是否以 www 开头。并重定向到无 www url。当请求被重定向时,如何停止进一步处理(调用 JSF 应用程序、调用 servlet 等)? 到目前为止,我有这个:
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);
}
【问题讨论】:
标签: java servlet-filters