快速业务通道

构建适用不同客户端的J2EE网络应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
建适用不同客户端的J2EE网络应用程序(2) 时间:2010-12-12

应用程序实例

在这个简单的实例情景中,应用程序中的第一个JSP页面显示一个包含超链接的页面。 当用户点击一个连接时,应用程序作出响应,连接到一个特殊的页面。 为了接受选择,另一个页面将成为结果页。 正如你看见的,例程中的内容是极其地简单,所以你可以专心于应用程序怎样产生适当的语言与针对设备的不同的响应。这个应用程序的完整的请求/响应部分是由四个主要组分组成的:

· 一个提供处理请求和驱动应答序列的代码逻辑的JSP页面。

· 一个XML生成程序,负责生成一个XML页面。

· 一个XSL样式表,针对提出请求的客户端有不同格式的应答。 XSLT用于服务器端转化。

· 一个Resource Bundle文件,提供I18N支持。

构建适用不同客户端的J2EE网络应用程序 - 编程入门网

图3显示了顶级应用程序配置结构,并解释了组件之间的配置顺序和相互关系。

JSP文件的结构和处理

在示例应用程序中,JSP页面负责:

· 识别客户端。

· 创建应答MIME设置。

· 确定页面中将生成什么样的语言。

· 产生一个请求来生成XML页面

· 应用适当的XSLT样式表来产生XML页面。

比如,假定一个客户端对Options.jsp文件(示例应用程序的第一个页面)提出了一个请求。 客户端把所使用的语言和国家名作为一个参数(URL参数)传入服务器。 如果服务器上的JSP页面不能接受(或者不能识别)客户端的语言和国家设置,那么应用程序就使用美国英语来显示响应。 下面的程序代码段说明一个JSP页面怎样从请求中取得语言和国家信息。

/*检查应答中将显示的语言 默认情况下,将使用美国英语来显示应答 */ if((language = request.getParameter("language"))==null) language="en"; if((country = request.getParameter("country"))==null) country="US"; country = country.toUpperCase();

构建适用不同客户端的J2EE网络应用程序(3)

时间:2010-12-12

基于客户端程序,JSP页面设置应答的MIME类型,识别用于产生的XML的XSLT样式表,并且设置适当的pageType值,XML生成程序使用这个值来在XML生成程序中找到适当的Resource Bundle文件。

另外,应用程序将足够智能化以识别相应的应答格式。 比如,下列代码片断检查一个浏览器客户端,如果发现的话,执行某些具体的处理过程。

String userAgent = request.getHeader("User-Agent"); /* 识别用户设备∶

1. 设置为产生XML的pageType变量。 在这个时候,应用程序随语言、国家和页面类型设置来从资源包中取得相应的条目。

2.设置contentType变量。 应用程序根据识别的用户设备来设置MIME头。

3. 设置xslName变量。 这是用于把XML转换为页面的XSLT文件的文件名。

*/ if(userAgent.startsWith("Mozilla")) { pageType="Web"; contentType="text/html;charset=UTF-8"; xslName="articles-html-form.xsl"; }

其他的用户设备发送不同的Header。例如,你可以使用下面的程序代码识别iMode用户设备(可以在 wapprofit.com模拟器中验证)∶

userAgent.startsWith("Microsoft URL")

而且你也可以使用下面的代码来识别WAP(Nokia工具包)用户设备:

userAgent.startsWith("Nokia")

你必须使用UTF-8字符集来支持I18N。

此时,应用程序已经识别用户设备和语言,所以应用程序可以产生一个XML页面。 为了初始化XML的生成,JSP调用一个XML生成程序类方法,例如OptionsXML类的getOptionXML()方法,来根据请求返回一个包含数据的XML字符串。

/* 调用JSP的一个私有方法来根据用户设备产生XML和应用一个XSL样式表来产生输出。 */ sh

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号