Spring最近换域名了,去转转,发现了一个有意思的项目:spring mobile. http://projects.spring.io/spring-mobile/ 这个项目有很多实用的功能,如识别访问我们网站的设备是什么类型的(手机,平板,PC),据域名或者url来切换不同访问内容,据不同的访问设备转到不同的view中. 识别访问设备类型的核心代码在org.springframework.mobile.device.LiteDeviceResolver 类中,这个类实际上根据http请求头…
package com.lwj.util; import javax.servlet.http.HttpServletRequest; /** * 判断访问设备为PC或者手机--工具类 * * @description: * @fileName:HttpRequestDeviceUtils.java * @createTime:2015年12月15日 下午3:26:19 * @author:liwenjian * @version 1.0.0 * */ public class DeviceUt…
先给出一个实例:判断windows.linux.android 复制以下代码另存为html文件即可. <html> <head> <title>判断操作系统</title> <script type="text/javascript"> function detectOS() { var sUserAgent = navigator.userAgent; var isWin = (navigator.platform == &…
本文转自:http://www.cnblogs.com/duanguyuan/p/3534470.html 先给出一个实例:判断windows.linux.android 复制以下代码另存为html文件即可. <html> <head> <title>判断操作系统</title> <script type="text/javascript"> function detectOS() { var sUserAgent = nav…
//平台.设备和操作系统 var system ={ win : false, mac : false, xll : false }; //检测平台 var p = navigator.platform; system.win = p.indexOf(; system.mac = p.indexOf(; system.x11 = (p == ); //跳转语句 if(system.win||system.mac||system.xll){ alert("PC访问"); }else{ a…
PHP和js判断访问设备是否是微信浏览器实例,代码非常精简,适合新手学习. js判断是否是微信浏览器: 1 function is_weixin() { 2 var ua = window.navigator.userAgent.toLowerCase(); 3 if (ua.match(/MicroMessenger/i) == 'micromessenger') { 4 $("#rs").text("微信浏览器"); 5 } else { 6 $("#…
<script type="text/javascript"> //平台.设备和操作系统 var system = { win: false, mac: false, xll: false, ipad:false }; //检测平台 var p = navigator.platform; system.win = p.indexOf("Win") == 0; system.mac = p.indexOf("Mac") == 0; sy…
<scripttype="text/javascript"> function browserRedirect() { var sUserAgent= navigator.userAgent.toLowerCase(); var bIsIpad= sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs= sUserAgent.match(/iphone os/i) == "iphone os&q…
功能函数: -(bool)checkDevice:(NSString*)name { NSString* deviceType = [UIDevice currentDevice].model; NSLog(@"deviceType = %@", deviceType); NSRange range = [deviceType rangeOfString:name]; return range.location != NSNotFound; } 调用: NSString *  nsSt…
Spring Mobile--探测客户端设备和系统 今天闲来无事,浏览Spring的官方网站,发现了Spring Mobile项目,之前也看到过,还以为是针对手机端的项目,并没有细看.今天仔细看了一下,原来是可以探测请求端的设备和系统.比如是手机.平板.还是正常的PC网站.它是Spring MVC的扩展,主要的目的是简化手机web应用的开发. 它的主要特点是: 在服务端探测发起请求的设备,手机或平板等. 管理站点,统计每个用户的偏好. 根据请求设备的不同,返回适合该设备的视图 具体的在项目中使用…
JS判断不同web访问环境,主要针对移动设备,提供相对应的解析方案(判断设备代码直接copy腾讯网的) // 判断是否为移动端运行环境 if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.…
Spring Mobile 1.1.0.RC1 发布了,该版本包含: 支持 Firefox OS 设备的检测 修复了使用 LiteDeviceDelegatingViewResolver 处理重定向和 forward 的问题 其他的 bug 修复和提升 详情请看 changelog 和 reference manual Spring Mobile 是 Spring MVC 的扩展,用来简化手机上的Web应用开发. Spring Mobile 的详细介绍:请点这里 Spring Mobile 的下…
springmobile特点: 1.客户端设备识别:识别结果只有3种类型:NORMAL(非手机设备).MOBILE(手机设备).TABLET(平板电脑). 2.网站偏好设置:Spring 通过设备识别的结果来设置当前网站是NORMAL还是MOBILE.最后 Spring Mobile会将信息同时放入cookie和request attribute里面. 3.网站自动切换:可根据不同的访问设备切换到对应的页面 使用(基于maven项目) 第一步:pom.xml <dependencies>  …
最近用bootstrap做自适应,发现仍然很难很好的兼容web端和PC端的现实. 仔细观察百度,淘宝,京东等大型网站,发现这些网站都有对应不同客户端的子站. 例如: 站点 PC端url web端url 百度 www.baidu.com m.baidu.com 淘宝 www.taobao.com m.taobao.com 京东 www.jd.com m.jd.com 网易 www.163.com 3g.163.com 虽然对应不同的客户端做了不同的页面,但如何得知用户当前用的什么呢? 通过度娘找到…
//判断访问终端 var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return { trident: u.indexOf('Trident') > -1, //IE内核 presto: u.indexOf('Presto') > -1, //opera内核 webKit: u.indexOf('AppleWebKit') > -1, //苹果.谷歌内核…
原文:[ASP.NET]判断访问网站的客户端是PC还是手机 主要就是通过客户端传递的User-agent来判断访问网站的客户端是PC还是手机,.NET中就是Request.ServerVariables["HTTP_USER_AGENT"]. 比如正常pc是: Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0 常用手机的是: Nokia5320的是: Nokia 5320/UCWEB7.0.1.34/28…
日期: 2014年3月6日 人员::铁锚 看到了一篇很好的文章, <在天猫,前端做什么?>,里面有天猫php判断移动设备的正则(个人猜测),觉得很好用,于是就决定移植到JSP里面. jsp文件名为 index.jsp,其实也可以使用过滤器来进行拦截,然后跳转到其他域名去. 完整代码如下: <%@page import="java.util.regex.Matcher"%> <%@page import="java.util.regex.Patte…
目前很多网站都是采用了响应式自适应页面的设计了,根据访问设备的不同,显示不同的内容.但是还是会有一些节奏比较慢的网站,还是PC页面和手机PAD页面不同的访问域名.正好我这里有个需要,同一个域名要根据不同的访问设备显示PC页面或者手机页面,这里收集两个比较简洁的方法,都是通过JS代码实现的. 第一个: <script type="text/javascript"> var userAgent = navigator.userAgent.toLowerCase(); var p…
用 User Agent 判断移动设备 WebApp除了做成响应式设计以外,还可以给移动设备做一套UI,PC端再做一套UI,然后在前台进行判断进行相应的跳转.判断是否是移动设备一般根据浏览器的useragent进行判断,虽然可以伪造,但是用起来方便,和Chrome的设备模拟功能配合起来 调试方便. 代码 //根据useragnet判断是否是移动设备 function isMobileDevice(ua) { if (/(iphone|ios|android|mini|mobile|mobi|No…
spring boot+freemarker+spring security标签权限判断 SpringBoot+SpringSecurity+Freemarker项目中在页面上使用security标签控制按钮显示隐藏达到对按钮级权限控制还是比较方便的,如下配置即可. 1.引入依赖 <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-t…
<html xmlns=http://www.w3.org/1999/xhtml> <head> <title>JavaScript获取访问设备信息</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body onload="browserRedirect(…
Razor视图引擎布局   不需要像过去aspx一样,使用.Master文件,而是统一使用.cshtml 或 .vbhtml文件.但文件名一般以 _开头,这样做文件不会当做View显示出来 使用@RenderBody() 表示替换主体部分 使用@RenderSection()可以自定义替换部分, 先布局页使用@RenderSection("Head", false) 定义一个要替换的区域,第一个参数表示替换区域名称,第二个参数为可选参数,false表示可以不必一定在页面中替换,true…
// 判断访问终端类型 var browser = { versions: function() { var u = navigator.userAgent, app = navigator.appVersion; return { trident: u.indexOf('Trident') > -1, //IE内核 presto: u.indexOf('Presto') > -1, //opera内核 webKit: u.indexOf('AppleWebKit') > -1, //苹…
今天来分析Spring的资源接口Resource的各个实现类.关于它的接口和抽象类,参见上一篇博文——Spring源码分析——资源访问利器Resource之接口和抽象类分析 一.文件系统资源 FileSystemResource 文件系统资源 FileSystemResource,资源以文件系统路径的方式表示.这个类继承自AbstractResource,并实现了写的接口WritableResource.类全称为public class FileSystemResource extends Ab…
/** * 判断当前设备是手机还是平板,代码来自 Google I/O App for Android * @param context * @return 平板返回 True,手机返回 False */ public static boolean isTablet(Context context) { return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_…
一.ndk调用java类示例 1,调用基本方法 /* * Class: com_example_ndksample_MainActivity * Method: ndkFindJavaClass * Signature: ()Ljava/lang/String; */ /* * ndk主动查找java类并调用. */ JNIEXPORT jstring JNICALL Java_com_example_ndksample_MainActivity_ndkFindJavaClass (JNIEnv…
Android开发需要适配手机和平板,有些需求实现时就要求判断设备是手机还是平板.网上很多说通过设备尺寸.DPI.版本号.是否具备电话功能等进行判断,不过都不算太精确.这里分享一个简洁给力的方法(官方用法): /** * 判断当前设备是手机还是平板,代码来自 Google I/O App for Android * @param context * @return 平板返回 True,手机返回 False */ public static boolean isPad(Context contex…
文件及目录匹配,其中:* -f和!-f用来判断是否存在文件* -d和!-d用来判断是否存在目录* -e和!-e用来判断是否存在文件或目录* -x和!-x用来判断文件是否可执行样例 : 判断访问的图片是否存在,不存在跳转到另外的域名 location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|thumb) { root /data/wwwroot/bbs.xxx.com; expires 10d; if (!-e $request_filename) { rewrit…
Q 在NT/2000/XP中,我想用VC编写应用程序访问硬件设备,如获取磁盘参数.读写绝对扇区数据.测试光驱实际速度等,该从哪里入手呢? A 在NT/2000/XP中,应用程序可以通过API函数DeviceIoControl来实现对设备的访问-获取信息,发送命令,交换数据等.利用该接口函数向指定的设备驱动发送正确的控制码及数据,然后分析它的响应,就可以达到我们的目的. DeviceIoControl的函数原型为 BOOL DeviceIoControl(     HANDLE hDevice, …
之前写过一篇博客<Spring+Mybatis+Mysql搭建分布式数据库访问框架>描述如何通过Spring+Mybatis配置动态数据源访问多个数据库.但是之前的方案有一些限制(原博客中也描述了):只适用于数据库数量不多且固定的情况.针对数据库动态增加的情况无能为力. 下面讲的方案能支持数据库动态增删,数量不限. 数据库环境准备 下面以Mysql为例,先在本地建3个数据库用于测试.需要说明的是本方案不限数据库数量,支持不同的数据库部署在不同的服务器上.如图所示db_project_001.d…