• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    JSP中实现判断客户端手机类型并跳转到app下载页面

    判断客户端手机类型,并跳转到相应的app下载页面

    实现的原理,是检测浏览器的 USER-AGENT 这个header,然后根据正则表达式来确定客户端类型。

    如果都不匹配,Fallback回退策略是显示对应的页面,让用户自己选择。
    适合采用二维码扫描方式下载APP:

    JSP版本的代码如下所示:其他服务端版本请百度搜索。

    %@page import="java.util.regex.Matcher"%>
    %@page import="java.util.regex.Pattern"%>
    %@ page language="java" pageEncoding="UTF-8"%>
    %!
    // \b 是单词边界(连着的两个(字母字符 与 非字母字符) 之间的逻辑上的间隔),字符串在编译时会被转码一次,所以是 "\\b"
    // \B 是单词内部逻辑间隔(连着的两个字母字符之间的逻辑上的间隔)
    
    String androidReg = "\\bandroid|Nexus\\b";
    String iosReg = "ip(hone|od|ad)";
    
    Pattern androidPat = Pattern.compile(androidReg, Pattern.CASE_INSENSITIVE);
    Pattern iosPat = Pattern.compile(iosReg, Pattern.CASE_INSENSITIVE);
    
    public boolean likeAndroid(String userAgent){
    	if(null == userAgent){
    		userAgent = "";
    	}
    	// 匹配
    	Matcher matcherAndroid = androidPat.matcher(userAgent);
    	if(matcherAndroid.find()){
    		return true;
    	} else {
    		return false;
    	}
    }
    public boolean likeIOS(String userAgent){
    	if(null == userAgent){
    		userAgent = "";
    	}
    	// 匹配
    	Matcher matcherIOS = iosPat.matcher(userAgent);
    	if(matcherIOS.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();
    System.out.println("userAgent: "+userAgent);
    if(null == userAgent){
    	userAgent = "";
    }
    if(likeAndroid(userAgent)){
    System.out.println("likeAndroid: "+true);
    	response.sendRedirect("http://m.jb51.net/download.jsp?platform=android");
    	return;
    	//request.getRequestDispatcher("/download.html").forward(request,response);
    } else if(likeIOS(userAgent)){
    System.out.println("likeIOS: "+true);
    	response.sendRedirect("http://itunes.apple.com/us/app/id714751061");
    	return;
    	//request.getRequestDispatcher("/index.html").forward(request,response);
    }
    %>
    !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    html xmlns="http://www.w3.org/1999/xhtml">
    head>
    meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
    title>下载客户端 - 永恒记忆/title>
    link href="css/style.css" rel="stylesheet" type="text/css" />
    /head>
    
    body>
    div class="p_down">
    	div>
    		a href="index.html">
    		img src="images/p_logo.png" class="p_logo" />
    		/a>
    	/div> 
    		
    		a href="itms-services://?action=download-manifesturl=http://m.jb51.net/upload/client/yhjyios.plist" class="apple download">img src="images/p_down_apple.png" />/a>
    		a href="http://m.jb51.net/download.jsp?platform=android" class="download">img src="images/p_down_and.png" />/a>
    		
    /div>
    /body>
    /html>

    您可能感兴趣的文章:
    • js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
    • Javascript 判断客户端浏览器类型代码
    • Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
    • js获取客户端操作系统类型的方法【测试可用】
    • JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)
    • Javascript实现检测客户端类型代码封包
    • 利用JS判断客户端类型你应该知道的四种方法
    上一篇:JSP页面的动态包含和静态包含示例及介绍
    下一篇:jsp实现点击help打开chm文件
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    JSP中实现判断客户端手机类型并跳转到app下载页面 JSP,中,实现,判断,客户端,