<%@page import="java.util.regex.Matcher"%>
<%@page import="java.util.regex.Pattern"%>
<%@ page language="java" pageEncoding="UTF-8"%>
<%!

// \b 是单词边界(连着的两个(字母字符 与 非字母字符) 之间的逻辑上的间隔),
// 字符串在编译时会被转码一次,所以是 "\\b"
// \B 是单词内部逻辑间隔(连着的两个字母字符之间的逻辑上的间隔)
String phoneReg = "\\b(ip(hone|od)|android|opera m(ob|in)i"
		+"|windows (phone|ce)|blackberry"
		+"|s(ymbian|eries60|amsung)|p(laybook|alm|rofile/midp"
		+"|laystation portable)|nokia|fennec|htc[-_]"
		+"|mobile|up.browser|[1-4][0-9]{2}x[1-4][0-9]{2})\\b";
String tableReg = "\\b(ipad|tablet|(Nexus 7)|up.browser"
		+"|[1-4][0-9]{2}x[1-4][0-9]{2})\\b";
Pattern phonePat = Pattern.compile(phoneReg, Pattern.CASE_INSENSITIVE);
Pattern tablePat = Pattern.compile(tableReg, Pattern.CASE_INSENSITIVE);

public boolean checkMobile(String userAgent){
	if(null == userAgent){
		userAgent = "";
	}
	// 匹配
	Matcher matcherPhone = phonePat.matcher(userAgent);
	Matcher matcherTable = tablePat.matcher(userAgent);
	if(matcherPhone.find() || matcherTable.find()){
		return true;
	} else {
		return false;
	}
}
%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

//
String userAgent = request.getHeader( "USER-AGENT" ).toLowerCase();

if(null == userAgent){
	userAgent = "";
}
if(checkMobile(userAgent)){
	response.sendRedirect(basePath+"download.html");
	//request.getRequestDispatcher("/download.html").forward(request,response);
} else {
	response.sendRedirect(basePath+"index.html");
	//request.getRequestDispatcher("/index.html").forward(request,response);
}
//
%>

<!DOCTYPE html>
<html lang="zh-cn">
  <head>
    <base href="<%=basePath%>">
    
    <title>测试移动设备跳转</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="key<a href="http://www.it165.net/edu/ebg/" target="_blank" class="keylink">word</a>s" content="测试,移动设备,跳转">
	<meta http-equiv="description" content="测试移动设备跳转">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
  
  <div id="pagecontent" style="min-height:500px;_height:500px;">
  
    正在运行!<br>
  </div>
    
  </body>
</html>
創作者介紹

資訊園

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()