상황 : "모바일인지 아닌지 확인하여 페이지 분기하라"

js,jsp에서 스크립트로 해도 되나 상황에 따라서 자바코드로 해야할 경우가 있다.

@RequestMapping(value="/login.do")
public String loginPage(Model, model, HttpServletRequest request) {
	String userOS = request.getHeader("user-agent");
    Pattern userAgent = Pattern.compile("(Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini)", Pattern.CASE_INSESITIVE);
    Matcher matcher = userAgent.matcher(userOS);
    if(matcher.find()){
    	return "redirect:/mobilePage.do?";
    }
}

> HttpServletRequest로 요청헤더에 접속정보(user-agent)를 변수에 저장

> Pattern 클래스로 원하는 패턴을 생성

> Matcher 클래스로 생성된 Pattern객체에서 요청헤더 값과 매칭하는 값을 찾아서 저장.

> Matcher클래스의 .find()함수로 boolean값 반환. 

+ Recent posts