java 判断客户端是手机端还是PC端(SSH框架)

如果网站需要实现手机和PC双界面适应,可以有两种方式:
第一种是响应式界面,根据屏幕宽度来判定显示的格式。这种需要前端来做,手机/PC共用一套代码,有一定的局限性。

第二种是Java后台通过request请求头中的内容来分析客户端设备类型,从而返回不同的参数响应。这种方法需要前端写两套代码,根据Java后台返回的参数不同而跳转到不同的界面。

代码示例如下:
struts.xml:

<action name="method" class="com.fyc.action.**Action" method="method">
        <result name="Mobile"><!-- 手机端页面地址 --></result>
        <result name="success"><!-- PC端页面地址 --></result>
</action>

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 boolean  isMobileDevice(String requestHeader){
        String[] deviceArray = new String[]{"android","mac os","windows phone"};
        if(requestHeader == null)
            return false;
        requestHeader = requestHeader.toLowerCase();
        for(int i=0;i<deviceArray.length;i++){
            if(requestHeader.indexOf(deviceArray[i])>0){
                return true;
            }
        }
        return false;
    }
}

以上工具类,是手机就返回true,不是则返回false。

以上文章纯属自创,如有雷同,概不负责!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值