首先,先介绍了一下Spring Mobile是什么。Spring Mobile是Spring MVC在移动平台上的扩展,目的是帮助开发者开发跨平台移动Web应用。 目前只有1.0版本的。 该版本所实现的功能相对比较简单,主要有:
- 客户端设备识别:通过关键字识别手机、pad、pc。 spring在过滤器(DeviceResolverRequestFilter)或者拦截器(DeviceResolverHandlerInterceptor)中完成识别工作,然后将识别结果放入request的attribute里面。 识别结果只有3种类型:NORMAL(非手机设备)、MOBILE(手机设备)、TABLET(平板电脑)。
- 网站偏好设置:我们可以通过设置request请求参数,告诉spring mobile 当前网站是手机版还是pc版。这里特别说明一下,request请求的key和value都是有一定规范的,request key 必须为site_preference,value必须为NORMAL或者MOBILE。 如果我们没有传request参数,或者参数有误,spring则默认通过设备识别的结果来设置当前网站是NORMAL还是MOBILE。 最后spring mobile会将信息同时放入cookie和request attribute里面。