java|java 判断客户端是手机端还是PC端(SSH框架)
如果网站需要实现手机和PC双界面适应,可以有两种方式:
第一种是响应式界面,根据屏幕宽度来判定显示的格式。这种需要前端来做,手机/PC共用一套代码,有一定的局限性。
第二种是Java后台通过request请求头中的内容来分析客户端设备类型,从而返回不同的参数响应。这种方法需要前端写两套代码,根据Java后台返回的参数不同而跳转到不同的界面。
代码示例如下:
struts.xml:
controller层:
HttpServletRequest request = ServletActionContext.getRequest();
String requestHeader = request.getHeader("user-agent");
if(IsMobileUtil.isMobileDevice(requestHeader))
return "Mobile";
else
return SUCCESS;
判断客户端工具类:
package com.**.**;
/**
*根据请求头判断是手机还是电脑
*@author live
*@date
*/
public class IsMobileUtil {
/**
* android : 所有android设备
* mac os : iphone ipad
* windows phone:Nokia等windows系统的手机
*/
public static booleanisMobileDevice(String requestHeader){
String[] deviceArray = new String[]{"android","mac os","windows phone"};
if(requestHeader == null)
return false;
requestHeader = requestHeader.toLowerCase();
for(int i=0;
i0){
return true;
}
}
return false;
}
}
以上工具类,是手机就返回true,不是则返回false。
【java|java 判断客户端是手机端还是PC端(SSH框架)】以上文章纯属自创,如有雷同,概不负责!
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- RxJava|RxJava 在Android项目中的使用(一)
- java之static、static|java之static、static final、final的区别与应用
- Java基础-高级特性-枚举实现状态机