博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Mobile 1.0发布
阅读量:6419 次
发布时间:2019-06-23

本文共 1832 字,大约阅读时间需要 6 分钟。

近日,SpringSource发布了。Spring Mobile包含了Spring MVC的扩展,有助于移动Web应用的开发。

Spring Mobile将服务端的开发模式带到了移动Web开发上来,它能够在服务器端检测设备并赋予开发者根据设备来处理不同内容的能力。这与CSS3 Media Queries和响应式Web设计技术形成了对比,后者的检测与渐进增强都是在客户端完成的。

Spring Mobile具有如下3个主要特性。

设备检测

设备检测是分析HTTP请求以决定发出请求的设备的过程。这通常是通过检测User-Agent头和其他请求头来实现的。在需要区别对待移动与桌面 浏览器的场合下这是非常有用的。要想启用设备检测,请在DispatcherServlet配置中添加 DeviceResolverHandlerInterceptor。

在默认情况下,LiteDeviceResolver用于设备检测,它基于WordPress Mobile Pack的。你可以通过注入一个DeviceResolverHandlerInterceptor构造参数来插入另一个DeviceResolver实现。诸如WURFL等更加复杂的设备检测可以识别出具体的设备能力,比如说屏幕尺寸、制造商、型号以及首选标记。

你可以通过调用DeviceUtils.getCurrentDevice()获得当前的设备,还可以在配置完DeviceWebArgumentResolver之后将当前的Device作为参数传递给某个@Controller方法。

站点首选项管理

用户可以通过站点首选项管理指出他首选的是移动站点抑或常规站点。Spring Mobile的实现位于StandardSitePreferenceHandler中,它支持基于查询参数的站点首选项标识以及可插拔的 SitePreference存储。如果用户没有明确指定SitePreference,那么Spring Mobile会根据用户设备使用一个默认值。指定的站点首选项会存储在SitePreferenceRepository中,默认实现会在客户端 cookie中保存首选项。

要想启用站点首选项管理,请在DispatcherServlet配置中添加SitePreferenceHandlerInterceptor。

用户可以通过单击某个链接提交site_preference查询参数来指定站点首选项。

Normal | Mobile

指定的SitePreference作为一个请求属性,其名字为“currentSitePreference”。你还可以在配置完 SitePreferenceWebArgumentResolver后将当前的SitePreference以参数的形式传递给某个 @Controller方法。

站点切换

站点切换指的是可以根据设备与指定的站点首选项将用户切换至最适合的站点的能力。目前有3个SiteSwitcher实现。“mDot”工厂方法会 构建一个SiteSwitcher,它会将移动用户重定向至m.${DOMAIN}。“dotMobi”工厂方法会构建一个SiteSwitcher,它 会将移动用户重定向至${DOMAIN - TLD}.mobi。“urlPath”工厂方法会构建一个SiteSwitcher,它会将移动用户重定向 至${DOMAIN}/${MOBILE_PATH}。下面的示例介绍了如何配置mDot SiteSwitcher。

感兴趣的读者可以观看这个4分钟的Spring Mobile并阅读来了解更多信息。要想上手,请发布包或是添加Maven依赖。

org.springframework.mobile
spring-mobile-device
1.0.0.RELEASE

Spring Mobile位于GitHub上。

转载地址:http://iclra.baihongyu.com/

你可能感兴趣的文章
一键安装kubernetes 1.13.0 集群
查看>>
RabbitMq的集群搭建
查看>>
spring boot + mybatis 同时访问多数据源
查看>>
URL中汉字转码
查看>>
[转]go正则实例
查看>>
Selector中关于顺序的注意事项
查看>>
小黑小波比.清空<div>标签内容
查看>>
Java中的ExceptionInInitializerError异常及解决方法
查看>>
Spring 注入bean时的初始化和销毁操作
查看>>
java线程同步原理(lock,synchronized)
查看>>
MyEclipse中使用Hql编辑器找不到Hibernate.cfg.xml文件解决方法
查看>>
yRadio以及其它
查看>>
第四节 对象和类
查看>>
闪迪(SanDisk)U盘防伪查询(官方网站)
查看>>
Android onMeasure方法介绍
查看>>
无锁数据结构
查看>>
MySQL的变量查看和设置
查看>>
android onNewIntent
查看>>
XML特殊符号
查看>>
kaptcha可配置项
查看>>