精通Grails: Grails与移动Web - 编程入门网
Web 开发策略
您已经知道为三种基本设备创建内容都需要什么工具,现在的任务是如何根据需要使用它们。有三种 基本的策略可供选择。 为移动内容创建独立的、专用的网站 正如前面看到的一样,m 是许多 Web 站点所采用的策略。Google、Yahoo! 以及 CNN,都设置了一个 m 域,它独立于主站点,用于提供移动内容。如果改动域名系统(Domain Name System,DNS)的话,可 以创建一个类似 http://mysite.org/mobile 的 URL。您也可以注册一个移动内容专用的 .mobi 域。 监听用户代理 每一个 Web 浏览器在请求数据时都向服务器表明身份。可以利用这个信息来提供为设备定制的内容。 (http://twitter.com 使用的就是这种技术)。 访问 http://davisworld.org/echo.gsp。清单 15 中的页面只用了个简单的循环,就回应了 HTTP 的 请求: 清单 15. 显示 Request Header
精通Grails: Grails与移动Web(11)时间:2011-07-29 IBM Scott Davis正如您在图 11 中所看到的,当我打开 http://davisworld.org/echo.gsp 时,Firefox 浏览器提供 了足够身份提示: 图 11. 查看 HTTP header 根据图 11 中展示的 user-agent 字符串,就可以断定请求程序通过 Intel CPU 运行 Mac 系统。对 于 OS(10.5)、HTML 呈现引擎(Gecko)、和真实浏览器(Firefox)的版本,您已经很熟悉了。清单 17 展示了其他常见的用户-代理字符串: 清单 17. 常见的用户-代理字符串
通过捕获 request.getHeader("user-agent") 值为请求浏览器提供适当的内容。 发回浏览器接受的内容 第三种策略就是满足浏览器的所有请求。每一个请求都会包含一个 accept 值和一个 user-agent 值 。Firefox 返回的 accept 值如下: text/html,application/xhtml+xml,application/xml; 这告诉服务器 Firefox 偏好 text/html。如果服务器不包含 text/html 数据,那么它可以发送 application/xhtml+xml。如果两者都没有的话,服务器会在列表中逐个查找,直到找到一个可以返回的 MIME 类型。 WAP 1.x 浏览器需要 text/vnd.wap.wml,更现代的手机会需要 application/vnd.wap.xhtml+xml。只 要多加注意,聪明的开发者便可以返回适当的数据。 当然,这三种策略并不是相互排斥的。您可以全部选用,确保您的网站已经准备好为全球 33 亿的手 机用户提供服务了。 结束语 让 Grails 应用程序便于手机使用的方法有很多种,可以不做任何改动(对于 iPhone 而言)、做很 小的改动(对于 XHTML-MP 设备而言)、或者全部重写(对于 WML 1.x 设备而言)。借助文中所介绍的 这些仿真器和验证器,您一定可以实现顺利支持移动 Web。 在下一篇文章中,您将会学习如何处理 Grails 中的遗留数据库。您将学习 Mapping DSL、使用 Hibernate 注释和 HBM 文件。学会了这些技术,您就可以让 Grails 使用现有 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |