- 浏览: 3364627 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
java 判断 android、iphone等手机浏览器 http://www.aiisen.com/java-judge-is-moblie-zh.html, 这个也值得参考
Java/JavaScript两种方式判断浏览器是否是移动端浏览器 http://blog.csdn.net/yangzl2008/article/details/25245449
原文:http://www.111cn.net/jsp/Java/46177.htm
Java/JavaScript两种方式判断浏览器是否是移动端浏览器 http://blog.csdn.net/yangzl2008/article/details/25245449
原文:http://www.111cn.net/jsp/Java/46177.htm
package com.zhuzher.commons.util; import javax.servlet.http.HttpServletRequest; public class HttpRequestDeviceUtils { /**Wap网关Via头信息中特有的描述信息*/ private static String mobileGateWayHeaders[]=new String[]{ "ZXWAP",//中兴提供的wap网关的via信息,例如:Via=ZXWAP GateWayZTE Technologies, "chinamobile.com",//中国移动的诺基亚wap网关,例如:Via=WTP/1.1 GDSZ-PB-GW003-WAP07.gd.chinamobile.com (Nokia WAP Gateway 4.1 CD1/ECD13_D/4.1.04) "monternet.com",//移动梦网的网关,例如:Via=WTP/1.1 BJBJ-PS-WAP1-GW08.bj1.monternet.com. (Nokia WAP Gateway 4.1 CD1/ECD13_E/4.1.05) "infoX",//华为提供的wap网关,例如:Via=HTTP/1.1 GDGZ-PS-GW011-WAP2 (infoX-WISG Huawei Technologies),或Via=infoX WAP Gateway V300R001 Huawei Technologies "XMS 724Solutions HTG",//国外电信运营商的wap网关,不知道是哪一家 "wap.lizongbo.com",//自己测试时模拟的头信息 "Bytemobile",//貌似是一个给移动互联网提供解决方案提高网络运行效率的,例如:Via=1.1 Bytemobile OSN WebProxy/5.1 }; /**电脑上的IE或Firefox浏览器等的User-Agent关键词*/ private static String[] pcHeaders=new String[]{ "Windows 98", "Windows ME", "Windows 2000", "Windows XP", "Windows NT", "Ubuntu" }; /**手机浏览器的User-Agent里的关键词*/ private static String[] mobileUserAgents=new String[]{ "Nokia",//诺基亚,有山寨机也写这个的,总还算是手机,Mozilla/5.0 (Nokia5800 XpressMusic)UC AppleWebkit(like Gecko) Safari/530 "SAMSUNG",//三星手机 SAMSUNG-GT-B7722/1.0+SHP/VPP/R5+Dolfin/1.5+Nextreaming+SMM-MMS/1.2.0+profile/MIDP-2.1+configuration/CLDC-1.1 "MIDP-2",//j2me2.0,Mozilla/5.0 (SymbianOS/9.3; U; Series60/3.2 NokiaE75-1 /110.48.125 Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML like Gecko) Safari/413 "CLDC1.1",//M600/MIDP2.0/CLDC1.1/Screen-240X320 "SymbianOS",//塞班系统的, "MAUI",//MTK山寨机默认ua "UNTRUSTED/1.0",//疑似山寨机的ua,基本可以确定还是手机 "Windows CE",//Windows CE,Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11) "iPhone",//iPhone是否也转wap?不管它,先区分出来再说。Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; zh-cn) AppleWebKit/532.9 (KHTML like Gecko) Mobile/8B117 "iPad",//iPad的ua,Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; zh-cn) AppleWebKit/531.21.10 (KHTML like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10 "Android",//Android是否也转wap?Mozilla/5.0 (Linux; U; Android 2.1-update1; zh-cn; XT800 Build/TITA_M2_16.22.7) AppleWebKit/530.17 (KHTML like Gecko) Version/4.0 Mobile Safari/530.17 "BlackBerry",//BlackBerry8310/2.7.0.106-4.5.0.182 "UCWEB",//ucweb是否只给wap页面? Nokia5800 XpressMusic/UCWEB7.5.0.66/50/999 "ucweb",//小写的ucweb貌似是uc的代理服务器Mozilla/6.0 (compatible; MSIE 6.0;) Opera ucweb-squid "BREW",//很奇怪的ua,例如:REW-Applet/0x20068888 (BREW/3.1.5.20; DeviceId: 40105; Lang: zhcn) ucweb-squid "J2ME",//很奇怪的ua,只有J2ME四个字母 "YULONG",//宇龙手机,YULONG-CoolpadN68/10.14 IPANEL/2.0 CTC/1.0 "YuLong",//还是宇龙 "COOLPAD",//宇龙酷派YL-COOLPADS100/08.10.S100 POLARIS/2.9 CTC/1.0 "TIANYU",//天语手机TIANYU-KTOUCH/V209/MIDP2.0/CLDC1.1/Screen-240X320 "TY-",//天语,TY-F6229/701116_6215_V0230 JUPITOR/2.2 CTC/1.0 "K-Touch",//还是天语K-Touch_N2200_CMCC/TBG110022_1223_V0801 MTK/6223 Release/30.07.2008 Browser/WAP2.0 "Haier",//海尔手机,Haier-HG-M217_CMCC/3.0 Release/12.1.2007 Browser/WAP2.0 "DOPOD",//多普达手机 "Lenovo",// 联想手机,Lenovo-P650WG/S100 LMP/LML Release/2010.02.22 Profile/MIDP2.0 Configuration/CLDC1.1 "LENOVO",// 联想手机,比如:LENOVO-P780/176A "HUAQIN",//华勤手机 "AIGO-",//爱国者居然也出过手机,AIGO-800C/2.04 TMSS-BROWSER/1.0.0 CTC/1.0 "CTC/1.0",//含义不明 "CTC/2.0",//含义不明 "CMCC",//移动定制手机,K-Touch_N2200_CMCC/TBG110022_1223_V0801 MTK/6223 Release/30.07.2008 Browser/WAP2.0 "DAXIAN",//大显手机DAXIAN X180 UP.Browser/6.2.3.2(GUI) MMP/2.0 "MOT-",//摩托罗拉,MOT-MOTOROKRE6/1.0 LinuxOS/2.4.20 Release/8.4.2006 Browser/Opera8.00 Profile/MIDP2.0 Configuration/CLDC1.1 Software/R533_G_11.10.54R "SonyEricsson",// 索爱手机,SonyEricssonP990i/R100 Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; 405) Opera 8.65 [zh-CN] "GIONEE",//金立手机 "HTC",//HTC手机 "ZTE",//中兴手机,ZTE-A211/P109A2V1.0.0/WAP2.0 Profile "HUAWEI",//华为手机, "webOS",//palm手机,Mozilla/5.0 (webOS/1.4.5; U; zh-CN) AppleWebKit/532.2 (KHTML like Gecko) Version/1.0 Safari/532.2 Pre/1.0 "GoBrowser",//3g GoBrowser.User-Agent=Nokia5230/GoBrowser/2.0.290 Safari "IEMobile",//Windows CE手机自带浏览器, "WAP2.0"//支持wap 2.0的 }; /** * 根据当前请求的特征,判断该请求是否来自手机终端,主要检测特殊的头信息,以及user-Agent这个header * @param request http请求 * @return 如果命中手机特征规则,则返回对应的特征字符串 */ public static boolean isMobileDevice(HttpServletRequest request){ boolean pcFlag = false; boolean mobileFlag = false; String via = request.getHeader("Via"); String userAgent = request.getHeader("user-agent"); for (int i = 0; via!=null && !via.trim().equals("") && i < mobileGateWayHeaders.length; i++) { if(via.contains(mobileGateWayHeaders[i])){ mobileFlag = true; break; } } for (int i = 0;!mobileFlag && userAgent!=null && !userAgent.trim().equals("") && i < mobileUserAgents.length; i++) { if(userAgent.contains(mobileUserAgents[i])){ mobileFlag = true; break; } } for (int i = 0; userAgent!=null && !userAgent.trim().equals("") && i < pcHeaders.length; i++) { if(userAgent.contains(pcHeaders[i])){ pcFlag = true; } } if(mobileFlag==true && mobileFlag!=pcFlag){ return true; } return false; } }
发表评论
-
Java Comparable和Comparator
2016-06-26 08:52 657http://my.oschina.net/android52 ... -
html5调用手机拍照并压缩上传
2016-06-24 15:36 1172http://my.oschina.net/zyxchuxin ... -
Java集合框架之fastutil & koloboke
2016-06-23 14:04 2410Java集合框架之fastutil http://rensan ... -
ehcache 分布式支持
2016-06-05 22:26 1057原文 http://my.oschina.net/glenxu ... -
Intellij IDEA插件开发入门
2016-05-26 11:42 2842原文: http://blog.csdn.net/dc_726 ... -
阿里巴巴Druid数据源的配置与使用
2016-05-24 17:42 1499http://my.oschina.net/wjme/blog ... -
mysql中间件研究(Atlas,cobar,TDDL), 分库分表插件
2016-05-09 14:15 3391http://www.guokr.com/blog/47576 ... -
Java集合: Queue和Deque
2016-05-09 09:49 1828Queue http://my.oschina.net/kev ... -
使用gzip优化web应用(filter实现)
2016-05-07 01:45 1001使用gzip优化web应用(filter实现) http:// ... -
Byteman 3.0.5 发布,Java 字节码注入工具
2016-04-23 10:29 1726Byteman 3.0.5 发布,Java 字 ... -
RandomStringUtils的说明和生成随机汉字
2016-04-20 15:21 1319更多参考: http://my.oschina.net/wil ... -
通过IP地址获取地理位置
2016-04-20 15:19 855http://my.oschina.net/githubhty ... -
Java编程中使用正则表达式过滤非数字字符串
2016-04-14 13:51 1675/** * * @param str ... -
非对称加密DH算法,DH代码实现
2016-04-13 11:33 1316RSA算法原理(一)http:// ... -
HTML调用PC摄像头
2016-04-06 09:31 1685http://www.oschina.net/code/sni ... -
企业支付宝账号开发接口教程
2016-03-31 14:52 1196企业支付宝账号开发接口教程--JAVA-UTF-8(实际操作- ... -
java double类型数据操作工具类
2016-03-28 17:36 1177http://my.oschina.net/yxwblog/b ... -
double转换到BigDecimal
2016-03-28 17:11 1505BigDecimal b = new BigDecimal(d ... -
Java 生成好看的验证码
2016-03-23 10:52 3306http://www.oschina.net/code/sni ... -
Linux环境安装配置Swftools
2016-03-22 21:01 1054http://tetop.blog.51cto.com/188 ...
相关推荐
有些时候我们需要判断此次请求来自手机还是电脑端,这个可以帮您解决
当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。 QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...
主要为大家详细介绍了javaweb判断当前请求是否为移动设备访问的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
UserAgent:通过浏览器获取用户浏览器和电脑信息
判断流程实例是否为空来判断流程是否结束了 查看正在运行服务的详细信息 通过流程实例来开启流程 流程变量:它涉及到了两张表。 流 程变量实际上就是我们的条件。 作用 我们...
中文名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 原名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 作者: 李刚 资源格式: PDF 版本: 第一版 出版社: 电子...
服务器端实现功能:保存用户信息、处理用户上传和下载文件请求、保存用户上传文件、上传和下载文件前确保成功先判断空间是否足够。 介绍: 客户端文本框内输类似于linux指令,即可进行相应操作。 如:上传 put ...
2.第二个elevator文件为apk文件,传到手机上下载即可,个人建议电脑qq传到手机qq上,在手机qq上点击即可下载,提示有风险时无视风险即可(本app纯静态的,没有隐私泄露风险风险提示是因为需要复杂的安全准则) ...
查看文件详情时会根据大小来判断是否显示K或M了 增加歌词同步功能(暂时不支持触屏操作) /** * 1:上一首 * 2:列表上 * 3:下一首 * 4:列表上一页 * 5:播放当前列表中选中的项 * 6:列表下一页 * 7...
操作管理首先是对操作用户身份的管理,Server端接受用户登陆的请求,认证用户的请求,将通过认证的帐号信息以session的形式记录。其次是Server记下当前用户的信息,包括用户是否登陆以及登陆的时间、登录的电脑IP...
3、在旧式编程语言中(如有中阶语言之称的C),程序不会对数组的操作做下界判断,也就有潜在的越界操作的风险(比如会把数据写在运行中程序需要调用的核心部分的内存上)。 因为简单数组强烈倚赖电脑硬件之内存,...
其次, 在教师给出了学生成绩之后,系统会根据成绩来判断该生是否通过了考试,如果该成绩大于或等于60,则在该生的学分上加上该课程的学分。 管理员在本系统中有着最高的权力,包括新增,更改,删除学生,教师,...
Android 一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导开发 IOS 由苹果公司开发的移动操作系统 Webkit 一个开源的浏览器引擎,在手机上的...
用户安全意识 安全意识的定义 什么是安全意识 所谓的安全意识是指人们发现可能存在的威胁、判断其危害性并及时预防或化解威胁的一种能力。 加强自身对威胁相关知识的掌握以及正确的使用习惯可以提升这种能力。这也...
面向对象的思想方法已经非常流行了,在编程语言(例如java,js)中,都运用面向对象的编程思想。在XML中,就是要将网页也作为一个对象来操作和控制,我们可以建立自己的对象和模板。与对象进行交流,如何命令对象,...
如何判断ArrayList,Hashtable,SortedList 这类对象是否相等 帮助解决网页和JS文件中的中文编码问题的小工具 慎用const关键字 装箱,拆箱以及反射 动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/...
据我所知,JSP基于Java,因此Java程序员可以轻松开始编码。ASP只是一个一般的引擎,具有支持多种语言的能力,不过默认的并且是最常用的还是VBScript。 mod_perl与Perl一样强大,只是更快一些。 二、PHP入门 PHP...
如果你的电脑满足要求但仍然显示检查失败,这时候直接忽略,勾选全部忽略 7. 步骤6/8:概要信息 核对将要安装数据的详细信息,并保存响应文件,以备以后查看。然后点击完成数据库安装 8. 步骤7/8:安装产品 ...