• 【Spring MVC 中 HandlerInterceptorAdapter的使用】


    接到这样一个需求:现有项目X,在我方的服务器A和客户的服务器B上均有部署。用户之前都是访问的A,现在要求所有用户的请求都转发到服务器B上去。考虑到用户可能保存了很多不同的网址(不止是主页网址),现写一个拦截器,把指向A服务器IP的请求都转发到B上去。代码如下:

    拦截器代码:

    package com.yiji.ifp.web.common.interceptor;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * @Description 使所有的請求都跳轉到指定頁面
     * @Author Created by shusheng.
     * @Email shusheng@xxx.com
     * @Date 2017/10/31
     */
    public class HostRedirectInterceptor extends HandlerInterceptorAdapter {
    
        protected final Logger logger = LoggerFactory.getLogger(getClass());
    
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
                throws Exception {
    
            String hostFromRequest = request.getLocalAddr();
            logger.info("用戶請求的主機地址:{}", hostFromRequest);
            String requestURL = request.getRequestURI();
            logger.info("客户端发出请求时的完整URL:{}",requestURL);
            String requestURI = request.getRequestURI();
            logger.info("请求行中的资源名部分:{}",requestURI);
    
            String hostTo = "http://59.51.9.109:8081/";
            String urlTo = "/ifp/common/redirectionwindow.html";
    
            if(!(requestURL.equals(urlTo)||"/".equals(requestURL))){
                logger.info("用戶請求的服務器地址不是新地址,将转发请求到服务器跳转页");
                response.sendRedirect(urlTo);
                logger.info("重定向完成");
                return false;
            }
            return true;
        }
    
    }

     配置代码:

        <mvc:interceptors>
            <bean id="hostRedirectInterceptor" class="com.xxx.xxx.web.common.interceptor.HostRedirectInterceptor" />
        </mvc:interceptors>
    终身学习者
  • 相关阅读:
    Hashset;HashMap;ArrayList;
    排序方法(冒泡排序,直接选择排序,反转排序);
    父类引用指向子类的对象;
    SQL分支语句与循环语句
    ORCAL 数据库的约束以及SQL语言的四种类型
    Oracle基础数据类型与运算符
    集合
    数组的几种排序
    转换日期格式的工具类
    equals方法重写
  • 原文地址:https://www.cnblogs.com/zuixinxian/p/7793220.html
Copyright © 2020-2023  润新知