zoukankan      html  css  js  c++  java
  • Spring Boot 多个域名指向同一IP

    一、需求:直接通过域名访问首页(同一应用下,多个首页,包括PC端、手机端首页)

      方法:采用多个域名绑定同一IP下同一应用,不同域名对应不同产品(PC、手机端)的方法,在后台通过拦截器判断 request 中的host字段值,进而重定向到不同的页面

    @Configuration
    @EnableWebMvc
    public class InterceptorConfig extends WebMvcConfigurerAdapter {
    
      @Bean
      public HostInterceptor hostInterceptor() {
        return new HostInterceptor();
      }
    
      @Override
      public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(hostInterceptor()).addPathPatterns("/");
        super.addInterceptors(registry);
      }
    }
    package com.zxguan.thymeleaf.interceptor;
    
    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * @author zxguan
     * @description
     * @create 2018-03-16 10:28
     */
    public class HostInterceptor implements HandlerInterceptor {
    
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
            String host = request.getHeader("host");
            if (host.equals("localhost")) {
                response.sendRedirect("/home");
            } else {
                response.sendRedirect("/index");
            }
            return false;
        }
    
        @Override
        public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
    
        }
    
        @Override
        public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
    
        }
    }
        @RequestMapping(value = {"/", "/index"})
        public String test() {
            return "test";
        }
    
        @RequestMapping(value = "/home")
        public String home() {
            return "home";
        }
  • 相关阅读:
    Android笔记——数据库升级与降级
    Android笔记——SQLiteOpenHelper类
    Android笔记——关于Cursor类的介绍
    Android笔记——permission权限大全
    Android笔记——Android中visibility属性VISIBLE、INVISIBLE、GONE的区别
    Android笔记——提升ListView的运行效率
    Android知识——ViewHolder的作用与用法
    Tween Animation----Rotate旋转动画
    Tween Animation----Translate位置移动动画
    Tween Animation---Scale渐变尺寸缩放动画
  • 原文地址:https://www.cnblogs.com/zxguan/p/8579311.html
Copyright © 2011-2022 走看看