在项目开发中,时常会碰到需要判断客户端请求来源是android机还是苹果机,或者是判断浏览器型号等。
那么在后台我们可以通过request对象获取我们想要的这些信息:
public void toDownloadApp(HttpServletRequest request, HttpServletResponse response)throws Exception {
String agent = request.getHeader("User-Agent");
System.out.println(agent);
}
通过上面的代码就可以看到有关请求的信息。
本次公司项目有个需求就是,用户扫描一个二维码,下载本公司的APP,那么我就要在后台根据用户使用的安卓机或者苹果手机,分别将请求重定向到对应安卓版APP和苹果版APP的不同下载地址去
@RequestMapping( value = "toDownloadApp" )
public void toDownloadApp(HttpServletRequest request, HttpServletResponse response)throws Exception {
String agent = request.getHeader("User-Agent");
if(agent.contains("Android")){//安卓手机
response.sendRedirect(MainLocation.readlocation("apkPath").toString());
}else if(agent.contains("iPhone")||agent.contains("iPod")||agent.contains("iPad")){//苹果手机
response.sendRedirect(MainLocation.readlocation("iosPath").toString());
}
}
再通过在线生成二维码工具结合这个Controller的url就可以做出一个用于下载APP的二维码了.如下
将生成的二维码保存下来,放在公司网站上,这样无论是Android还是苹果手机用户只需扫这一个二维码就都可以实现我们想要的效果