接到这样一个需求:现有项目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());@Overridepublic 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>

转载于:https://www.cnblogs.com/zuixinxian/p/7793220.html

【Spring MVC 中 HandlerInterceptorAdapter的使用】相关推荐

  1. Spring MVC 中 HandlerInterceptorAdapter的使用--转载

    原文地址:http://blog.csdn.net/liuwenbo0920/article/details/7283757 一般情况下,对来自浏览器的请求的拦截,是利用Filter实现的,这种方式可 ...

  2. Spring MVC 中 HandlerInterceptorAdapter的使用(拦截器)

    一般情况下,对来自浏览器的请求的拦截,是利用Filter实现的,这种方式可以实现Bean预处理.后处理.  Spring MVC的拦截器不仅可实现Filter的所有功能,还可以更精确的控制拦截精度. ...

  3. Spring MVC 中 HandlerInterceptorAdapter过滤器的使用

    一般情况下,对来自浏览器的请求的拦截,是利用Filter实现的,这种方式可以实现Bean预处理.后处理.  Spring MVC的拦截器不仅可实现Filter的所有功能,还可以更精确的控制拦截精度. ...

  4. Spring MVC 中 HandlerInterceptorAdapter的使用

    一般情况下,对来自浏览器的请求的拦截,是利用Filter实现的,这种方式可以实现Bean预处理.后处理. Spring MVC的拦截器不仅可实现Filter的所有功能,还可以更精确的控制拦截精度. s ...

  5. Spring MVC 中 HandlerInterceptorAdapter的使用 预处理、后处理、返回处理

    一般情况下,对来自浏览器的请求的拦截,是利用Filter实现的,这种方式可以实现Bean预处理.后处理. Spring MVC的拦截器不仅可实现Filter的所有功能,还可以更精确的控制拦截精度. S ...

  6. spring mvc中的拦截器

    本文说下spring MVC中的拦截器 文章目录 拦截器介绍 拦截器注入适配器 自定义拦截器 controller测试 测试结果 本文小结 拦截器介绍 拦截器是在servlet执行之前执行的程序(这里 ...

  7. spring mvc中实现csrf安全防御简记

    1.csrf是什么 csrf全称是Cross-site request forgery,http://en.wikipedia.org/wiki/Csrf 危害:使受害用户在不经意间执行了不是用户意愿 ...

  8. 彻底解决Spring mvc中时间的转换和序列化等问题

    彻底解决Spring mvc中时间的转换和序列化等问题 参考文章: (1)彻底解决Spring mvc中时间的转换和序列化等问题 (2)https://www.cnblogs.com/childkin ...

  9. spring mvc中的@propertysource

    在spring mvc中,在配置文件中的东西,可以在java代码中通过注解进行读取了: @PropertySource  在spring 3.1中开始引入 比如有配置文件 config.propert ...

最新文章

  1. Http client 请求
  2. JAVA子类是球父类是圆_java的父类和子类,这是矛盾...
  3. 导入一个android项目需要改什么意思,导入别人的Android Studio项目前要修改的文件...
  4. php函数(检查变量、函数、键是否存在)
  5. gcc 安装在服务器的问题总结
  6. horizon服务主要模块_Openstack入门篇(十四)之horizon服务的部署与测试
  7. linux 设置端口常用命令
  8. 一个小技巧让你轻松处理Selenium处理滚动条和元素聚焦
  9. java窗口小程序atm_简单的小程序实现ATM机操作
  10. com口驱动_四足机器人FOC驱动器篇1:Odrive Moco接口板套件介绍
  11. Atitit.编程语言and 自然语言的比较and 编程语言未来的发展
  12. android进阶(三)数据存储之Internal Storage
  13. 统计学基础知识有哪些?看这一篇就够了
  14. 怎么在服务器上搭建网站(搭建服务器需要什么)
  15. 最新时空观测结果证实爱因斯坦相对论合理性
  16. windows远程桌面自动切换到360安全登录界面
  17. 禁止div被拖动 css,【Web前端问题】div在拖动时出现禁止图标
  18. 【openjudge】抓住那头牛
  19. [转]老师几乎气绝身亡,搞笑....
  20. 能力提升的僵化、优化、固化过程

热门文章

  1. android 8 esp8266,微信硬件平台(八) 1 esp8266从自己的服务器获取token
  2. python c 混合编程 用c循环_混合编程:用 C 语言来扩展 Python 大法吧!
  3. linux内核配置参考,[转]Linux内核配置选项 参考(3)
  4. 【若依(ruoyi)】打开新的选项卡
  5. 激光振镜误差校正算法C语言,动态聚焦激光振镜扫描系统的误差分析及图形校正算法.pdf...
  6. java 铺地板问题_铺木地板的5大注意事项,我家接连踩坑接近“崩溃”,大家别再犯...
  7. jq 自动打开浏览器_jQuery之解析判断当前页面打开端(APP或浏览器)的方法
  8. 用计算机进行有理数计算时,鲁教版六上2.11《用计算器进行有理数的计算》word学案.doc...
  9. php swoole环境搭建,windows系统php环境安装swoole具体步骤
  10. 家里“娘娘”发钱,臣不得不遵命呀