當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
【Spring MVC 中 HandlerInterceptorAdapter的使用】
生活随笔
收集整理的這篇文章主要介紹了
【Spring MVC 中 HandlerInterceptorAdapter的使用】
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
接到這樣一個(gè)需求:現(xiàn)有項(xiàng)目X,在我方的服務(wù)器A和客戶的服務(wù)器B上均有部署。用戶之前都是訪問(wèn)的A,現(xiàn)在要求所有用戶的請(qǐng)求都轉(zhuǎn)發(fā)到服務(wù)器B上去。考慮到用戶可能保存了很多不同的網(wǎng)址(不止是主頁(yè)網(wǎng)址),現(xiàn)寫(xiě)一個(gè)攔截器,把指向A服務(wù)器IP的請(qǐng)求都轉(zhuǎn)發(fā)到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 使所有的請(qǐng)求都跳轉(zhuǎn)到指定頁(yè)面* @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("用戶請(qǐng)求的主機(jī)地址:{}", hostFromRequest);String requestURL = request.getRequestURI();logger.info("客戶端發(fā)出請(qǐng)求時(shí)的完整URL:{}",requestURL);String requestURI = request.getRequestURI();logger.info("請(qǐng)求行中的資源名部分:{}",requestURI);String hostTo = "http://59.51.9.109:8081/";String urlTo = "/ifp/common/redirectionwindow.html";if(!(requestURL.equals(urlTo)||"/".equals(requestURL))){logger.info("用戶請(qǐng)求的服務(wù)器地址不是新地址,將轉(zhuǎn)發(fā)請(qǐng)求到服務(wù)器跳轉(zhuǎn)頁(yè)");response.sendRedirect(urlTo);logger.info("重定向完成");return false;}return true;}}?配置代碼:
<mvc:interceptors><bean id="hostRedirectInterceptor" class="com.xxx.xxx.web.common.interceptor.HostRedirectInterceptor" /></mvc:interceptors>?
轉(zhuǎn)載于:https://www.cnblogs.com/zuixinxian/p/7793220.html
總結(jié)
以上是生活随笔為你收集整理的【Spring MVC 中 HandlerInterceptorAdapter的使用】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Swift与C++混编 OpenCV初体
- 下一篇: NodeJS Web模块