Java 攔截器重定向無限循環/重定向次數過多報錯 的解決方案

public class CheckPortInterceptor implements HandlerInterceptor {
	@Override
	public boolean preHandle(HttpServletRequest request,
			HttpServletResponse response, Object handler) throws Exception {
		 String urlString = request.getRequestURI();
		 //Login.do 這個判斷必須要添加不然會無限循環
		 if(urlString.endsWith("Login.do")){ 
			  boolean judgeIsMoblie = CheckMobile.JudgeIsMoblie(request);
			  if(judgeIsMoblie==true){ //手機的請求
				   String path = request.getContextPath();
		           String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";
		           response.sendRedirect(basePath+"tbInspectionController/AppList.do"); 
		           return false;
				}else{
				   return true;
				}   
	      }else 
	      {return true;}
	 
	}

	@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 {

		 
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章