JavaWeb项目中获取客户端类型

JavaWeb项目中获取客户端类型

从事JavaWeb项目的开发,总会遇到需要根据不同客户端给予不同响应的需求,这里介绍一个好用的工具包.


1.引入Maven依赖包

UserAgentUtils pom

   
   
   eu.bitwalker
   UserAgentUtils
   1.21
   

2.创建一个自己的小工具类

	public final class ClientExamineUtil {

	private static final String UserAgentHeader =  "user-agent";

	/**
	 * 获取客户端代理对象header值
	 * @param request 
	 * @return
	 */
	public static String getUserAgent(HttpServletRequest request){
		return request.getHeader(UserAgentHeader);
	}

	/**
	 * 获取用户代理对象
	 * @return
	 */
	public static UserAgent getUserAgent(String userAgent){
		return UserAgent.parseUserAgentString(userAgent);
	}

	/**
	 * 获取设备类型
	 * @return
	 */
	public static DeviceType getDeviceType(String userAgent){
		return getUserAgent(userAgent).getOperatingSystem().getDeviceType();
	}

	/**
	 * 是否是PC
	 * @return
	 */
	public static boolean isPc(String userAgent){
		return DeviceType.COMPUTER.equals(getDeviceType(userAgent));
	}

	/**
	 * 是否是手机
	 * @return
	 */
	public static boolean isMobile(String userAgent){
		return DeviceType.MOBILE.equals(getDeviceType(userAgent));
	}

	/**
	 * 是否是平板
	 * @return
	 */
	public static boolean isTablet(String userAgent){
		return DeviceType.TABLET.equals(getDeviceType(userAgent));
	}

	/**
	 * 是否是手机和平板
	 * @return
	 */
	public static boolean isMobileOrTablet(String userAgent){
		DeviceType deviceType = getDeviceType(userAgent);
		return DeviceType.MOBILE.equals(deviceType) || DeviceType.TABLET.equals(deviceType);
		}
	}

3.现在就可以美美地判断请求那头是什么客户端了

当然,这个工具的用途不止于此,可以根据它现有的功能,实现很多自己想要的功能.

你可能感兴趣的:(JAVA)