Spring 부팅 여러 도 메 인 이름 이 같은 IP 를 가리 키 고 있 습 니 다.
1. 수요: 도 메 인 이름 으로 홈 페이지 를 직접 방문 합 니 다 (같은 응용 프로그램 에서 여러 개의 홈 페이지 는 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";
}
posted @
2018 - 03 - 16 10: 45 ○ 꿈 꾸 는 별 들
...) 댓 글 (
...) 모음 집 편집
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.