导入pom依赖
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>1.20</version>
</dependency>
UserAgentUtils工具类
/**
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
*/
package com.hbsc.util;
import javax.servlet.http.HttpServletRequest;
import eu.bitwalker.useragentutils.Browser;
import eu.bitwalker.useragentutils.DeviceType;
import eu.bitwalker.useragentutils.UserAgent;
public class UserAgentUtils {
/**
* 获取用户代理对象
* @param request
* @return
*/
public static UserAgent getUserAgent(HttpServletRequest request){
return UserAgent.parseUserAgentString(request.getHeader("User-Agent"));
}
/**
* 获取设备类型
* @param request
* @return
*/
public static DeviceType getDeviceType(HttpServletRequest request){
return getUserAgent(request).getOperatingSystem().getDeviceType();
}
/**
* 是否是PC
* @param request
* @return
*/
public static boolean isComputer(HttpServletRequest request){
return DeviceType.COMPUTER.equals(getDeviceType(request));
}
/**
* 是否是手机
* @param request
* @return
*/
public static boolean isMobile(HttpServletRequest request){
return DeviceType.MOBILE.equals(getDeviceType(request));
}
/**
* 是否是平板
* @param request
* @return
*/
public static boolean isTablet(HttpServletRequest request){
return DeviceType.TABLET.equals(getDeviceType(request));
}
/**
* 是否是手机和平板
* @param request
* @return
*/
public static boolean isMobileOrTablet(HttpServletRequest request){
DeviceType deviceType = getDeviceType(request);
return DeviceType.MOBILE.equals(deviceType) || DeviceType.TABLET.equals(deviceType);
}
/**
* 获取浏览类型
* @param request
* @return
*/
public static Browser getBrowser(HttpServletRequest request){
return getUserAgent(request).getBrowser();
}
/**
* 是否IE版本是否小于等于IE8
* @param request
* @return
*/
public static boolean isLteIE8(HttpServletRequest request){
Browser browser = getBrowser(request);
return Browser.IE5.equals(browser) || Browser.IE6.equals(browser)
|| Browser.IE7.equals(browser) || Browser.IE8.equals(browser);
}
}
controller层
获取token 实现类
Redis保存token
RedisApi 工具类
} catch (Exception e) {
logger.error("getRedisClent error", e);
}
return null;
}
public static void returnResource(ShardedJedis shardedJedis) {
shardedJedisPool.returnResource(shardedJedis);
}
public static void returnBrokenResource(ShardedJedis shardedJedis) {
shardedJedisPool.returnBrokenResource(shardedJedis);
}
public void returnResource(ShardedJedis shardedJedis, boolean broken) {
if (broken) {
shardedJedisPool.returnBrokenResource(shardedJedis);
} else {
shardedJedisPool.returnResource(shardedJedis);
}
}
/**
* 获取数据
*
* @param key
* @return
*/
public static String get(String key) {
String value = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
value = jedis.get(key);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return value;
}
/**
* 赋值数据
*
* @param key
* @return
*/
public static String set(String key, String value) {
String result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.set(key, value);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* 删除数据
*
* @param key
* @return
*/
public static Long del(String key) {
Long result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.del(key);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* 步增
*
* @param key
* @return
*/
public static Long incrBy(String key, Long value) {
Long result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.incrBy(key, value);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* 步减指定指
*
* @param key
* @return
*/
public static Long decrBy(String key, Long value) {
Long result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.decrBy(key, value);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* 步减1
*
* @param key
* @return
*/
public static Long decr(String key) {
Long result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.decr(key);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* 判断set中是否有值value
*
* @param set,value
* @return
*/
public static Boolean sismember(String set, String value) {
Boolean result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.sismember(set, value);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* 自增记数
*
* @param key
* @return
*/
public static Long incr(String key) {
Long result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
Long times = jedis.incr(key);
// if (times.longValue() == 1l)
// jedis.expire(key, seconds);
result = times;
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* set赋值数据
*
* @param key,value
* @return
*/
public static Long sadd(String key, String value) {
Long result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.sadd(key, value);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* 查询set集中的数量
*
* @param key,value
* @return
*/
public static Long scard(String key) {
Long result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.scard(key);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* set移除数据
*
* @param key,value
* @return
*/
public static Long srem(String key, String value) {
Long result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.srem(key, value);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* 获取Set中所有数据
*
* @param key
* @return
*/
public static Set<String> smembers(String key) {
Set<String> result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.smembers(key);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* 随机返回set中的一个元素
*
* @param set
* @return
*/
public static String spop(String set) {
String result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.spop(set);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* 设置过期时间
*
* @param set
* @return
*/
public static Long expire(String key, int seconds) {
Long result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.expire(key, seconds);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* list赋值数据
*
* @param key,value
* @return
*/
public static Long lpush(String key, String value) {
Long result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.lpush(key, value);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* list赋值数据
*
* @param key,value
* @return
*/
public static Long llen(String key) {
Long result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.llen(key);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* list取值列表数据
*
* @param key,value
* @return
*/
public static List<String> lrange(String key, long start, long end) {
List<String> result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.lrange(key, start, end);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* list取值数据
*
* @param key,value
* @return
*/
public static String lpop(String key) {
String result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.lpop(key);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* hash设值数据
*
* @param key,value
* @return
*/
public static Long hset(String key, String field, String value) {
Long result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.hset(key, field, value);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* hash取值数据
*
* @param key,value
* @return
*/
public static String hget(String key, String field) {
String result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.hget(key, field);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
/**
* hash删值数据
*
* @param key,value
* @return
*/
public static Long hdel(String key, String field) {
Long result = null;
ShardedJedis jedis = null;
try {
jedis = getRedisClient();
result = jedis.hdel(key, field, field);
} catch (Exception e) {
e.printStackTrace();
returnBrokenResource(jedis);
} finally {
returnResource(jedis);
}
return result;
}
}