java中如何判断请求是来自手机端还是web端

如题所述

控制器中接收user—Agent,我们是spring mvc框架,controller中写
String ua = request.getHeader("User-Agent");

下面就是一个基本方法了,可以写在一个util类中,我们是放在了StringUtil.java中
private final static String[] agent = { "Android", "iPhone", "iPod","iPad", "Windows Phone", "MQQBrowser" };
定义移动端请求的所有可能类型

方法参数为我们控制器中接收的user——Agent,
/**
* 判断User-Agent 是不是来自于手机
* @param ua
* @return
*/
public static boolean checkAgentIsMobile(String ua) {
boolean flag = false;
if (!ua.contains("Windows NT") || (ua.contains("Windows NT") && ua.contains("compatible; MSIE 9.0;"))) {
// 排除 苹果桌面系统
if (!ua.contains("Windows NT") && !ua.contains("Macintosh")) {
for (String item : agent) {
if (ua.contains(item)) {
flag = true;
break;
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-05
根据 请求的 request 的 user-agent 判断 ~~~~~~~~
相似回答