springMVC 过滤器将二级域名跳转到www域名 无www跳转到www域名过滤器核心代码
/** * 功能:将http://example.com重定向至http://www.example.com * */ private static final String DOMAIN = "aaa.com"; /** * 在DispatcherServlet之前执行 * */ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HttpServletRequest httpServletRequest = (HttpServletRequest) request; HttpServletResponse httpServletResponse = (HttpServletResponse) response; // 获取域名 String serverName = request.getServerName(); // 获取请求路径 String path = httpServletRequest.getRequestURI(); //queryString 支持多参数 ?a=1&b=2#&c=22## 等 String queryString = (httpServletRequest.getQueryString() == null ? "" : "?"+httpServletRequest.getQueryString()); // 获取路径中的参数 int end = serverName.indexOf(DOMAIN); if (end!= -1 && end == 0) { //判断是否是example.com,如果是通过ip地址访问暂时不处理 //end == -1 || end == 0(不是本域名都跳转) httpServletResponse.setStatus(301); httpServletResponse.setHeader( "Location", "http://www."+DOMAIN+path+queryString); httpServletResponse.setHeader( "Connection", "close" ); return false; } return true; }