Spring Mobile 1.0发布
来源:互联网 发布:广西来宾广电网络招聘 编辑:程序博客网 时间:2024/05/16 08:02
近日,SpringSource发布了Spring Mobile 1.0。Spring Mobile包含了Spring MVC的扩展,有助于移动Web应用的开发。
Spring Mobile将服务端的开发模式带到了移动Web开发上来,它能够在服务器端检测设备并赋予开发者根据设备来处理不同内容的能力。这与CSS3 Media Queries和响应式Web设计技术形成了对比,后者的检测与渐进增强都是在客户端完成的。
Spring Mobile具有如下3个主要特性。
设备检测
设备检测是分析HTTP请求以决定发出请求的设备的过程。这通常是通过检测User-Agent头和其他请求头来实现的。在需要区别对待移动与桌面浏览器的场合下这是非常有用的。要想启用设备检测,请在DispatcherServlet配置中添加DeviceResolverHandlerInterceptor。
<mvc:interceptors><bean class="org.springframework.mobile.device.DeviceResolverHandlerInterceptor" /></mvc:interceptors>
在默认情况下,LiteDeviceResolver用于设备检测,它基于WordPress Mobile Pack的检测算法。你可以通过注入一个DeviceResolverHandlerInterceptor构造参数来插入另一个DeviceResolver实现。诸如WURFL等更加复杂的设备检测可以识别出具体的设备能力,比如说屏幕尺寸、制造商、型号以及首选标记。
你可以通过调用DeviceUtils.getCurrentDevice()获得当前的设备,还可以在配置完DeviceWebArgumentResolver之后将当前的Device作为参数传递给某个@Controller方法。
站点首选项管理
用户可以通过站点首选项管理指出他首选的是移动站点抑或常规站点。Spring Mobile的实现位于StandardSitePreferenceHandler中,它支持基于查询参数的站点首选项标识以及可插拔的SitePreference存储。如果用户没有明确指定SitePreference,那么Spring Mobile会根据用户设备使用一个默认值。指定的站点首选项会存储在SitePreferenceRepository中,默认实现会在客户端cookie中保存首选项。
要想启用站点首选项管理,请在DispatcherServlet配置中添加SitePreferenceHandlerInterceptor。
<mvc:interceptors><bean class="org.springframework.mobile.device.DeviceResolverHandlerInterceptor" /><bean class="org.springframework.mobile.device.site.SitePreferenceHandlerInterceptor" /></mvc:interceptors>
用户可以通过单击某个链接提交site_preference查询参数来指定站点首选项。
<a href="?site_preference=normal">Normal</a> | <a href="?site_preference=mobile">Mobile</a>
指定的SitePreference作为一个请求属性,其名字为“currentSitePreference”。你还可以在配置完SitePreferenceWebArgumentResolver后将当前的SitePreference以参数的形式传递给某个@Controller方法。
<mvc:annotation-driven><mvc:argument-resolvers><bean class="org.springframework.mobile.device.DeviceWebArgumentResolver" /><bean class="org.springframework.mobile.device.site.SitePreferenceWebArgumentResolver" /></mvc:argument-resolvers></mvc:annotation-driven>
站点切换
站点切换指的是可以根据设备与指定的站点首选项将用户切换至最适合的站点的能力。目前有3个SiteSwitcher实现。“mDot”工厂方法会构建一个SiteSwitcher,它会将移动用户重定向至m.${DOMAIN}。“dotMobi”工厂方法会构建一个SiteSwitcher,它会将移动用户重定向至${DOMAIN - TLD}.mobi。“urlPath”工厂方法会构建一个SiteSwitcher,它会将移动用户重定向至${DOMAIN}/${MOBILE_PATH}。下面的示例介绍了如何配置mDot SiteSwitcher。
<mvc:interceptors><bean class="org.springframework.mobile.device.DeviceResolverHandlerInterceptor" /><bean class="org.springframework.mobile.device.switcher.SiteSwitcherHandlerInterceptor" factory-method="mDot"><constructor-arg value="domain.com" /></bean></mvc:interceptors>
感兴趣的读者可以观看这个4分钟的Spring Mobile视频并阅读Spring Mobile参考手册来了解更多信息。要想上手,请下载发布包或是添加Maven依赖。
<dependency><groupId>org.springframework.mobile</groupId><artifactId>spring-mobile-device</artifactId><version>1.0.0.RELEASE</version></dependency>
Spring Mobile示例位于GitHub上。
查看英文原文:Spring Mobile 1.0 Released
- Spring Mobile 1.0发布
- jQuery Mobile 1.0 正式版发布
- jQuery Mobile 1.0 正式版发布
- JavaFX 1.1 发布,包含JavaFX Mobile 1.0
- JQuery Mobile 1.0发布,人们反响不一
- Spring Mobile
- bugzilla-mobile客户端发布
- Microsoft Office Mobile 6.1 发布
- SUN正式发布JavaFX Mobile
- jQuery Mobile 1.3.0发布
- jQuery Mobile 1.3.1 发布
- SAP Mobile Platform 3.0 发布
- Spring Mobile 逻辑分析
- Introdution to Spring Mobile
- spring mobile简单试用
- spring mobile 的扩展
- spring mobile简单试用
- Spring Mobile 介绍
- 线程的同步与互斥
- ArcGISServer Flex API 调用GP服务实现服务区分析(转帖)
- 16-1:基本数据类型对象包装类
- 数据结构 - 从一个链表中删除在另一个链表中的元素(C++)
- Fedora17 修改vi默认显示行号
- Spring Mobile 1.0发布
- linux下产生core文件以及不产生core文件的条件
- linux 线程池
- python logging现学现用 – TimedRotatingFileHandler使用方法
- HTML学习总结1
- 关于Java 23种设计模式的有趣见解 .
- 练习19
- HDU 1159 Common Subsequence(还是DP)
- 智能指针