选择显示字体大小

java中的cookie管理方案(4)-与j2me结合

注意: 这部分假设已经对j2me至少有一点熟悉。
前面,我曾提起用jcookiemicro库在j2me平台的移动设备上建立与网络应用程序交互的客户系统的可能性。我仍然在开发jcookiemicro库。它的结构及用法将与jcookie库类似,除了urlconnection,jcookiemicro库将用midp httpconnection对象。这部分描述了在移动应用程序(在我们的案例midlets中)使用成熟的cookie操作的好处。
让我们先练习在j2me应用程序中状态管理常用的方法。诺基亚论坛一篇命名为“a brief introduction to.networked midlets”(2002年三月)的论文描述了一个方法。论文提出作为一个url重写机制的变异工作的机制:一个在网络服务器上的servlet站点操作所有的商务逻辑和使用通常的http报头传送状态信息要胜于cookies。midlet简单地作为一个用户界面,传递用户输入到servlet并显示结果。(更多的关于在j2me应用程序上的状态管理的url重写及其他方法,请读“track wireless sessions with j2me/midp”,michael juntao yuan和ju long著(javaworld,2002年四月).)
使用上述方法,这有与此讨论相关的应用程序的解决方法,一是象一个小型网络浏览器一样与网络服务器或应用程序交互:
· midlet从用户那里收集相关输入(比如,一个hotmail用户名和密码)
· midlet传送输入到servlet
· servlet用输入与网络服务器或应用程序交互(比如,hotmail网站)
· servlet传送结果到 midlet(比如,一个新消息列表)
· midlet向用户显示结果
在上述解决方法中,通用http报头维护一个midlet和servlet间的会话。因此,servlet和midlet 都包含执行会话管理的逻辑。这证明前面讲过的不受欢迎的同一原因:通用代码很容易被破坏,甚至成为常规管理变化所带来的必然结果,比如服务器升级。这种方法的另一个缺点:它要求有一个在目标网络应用程序(如hotmail)和移动应用程序之间的中间件。
对于上述方法你可以用两种办法替代jcookiemicro:
1. 将商务逻辑转移到移动应用程序上并完全消除中间servlet。在移动客户系统上用jcookiemicro进行会话管理。
2. 将商务逻辑保持在中间servlet上,但除去通用报头,并用jcookiemicro进行透明坚固的会话管理。
修改已存在的应用程序第二种方法证明更适合。第一种方法导致成本的降低和移动应用程序开发更轻松,因为它除去了服务器端资源的开销。下面的应用程序使用了第一种方法:
· midlet从用户处收集相关输入
· midlet直接连接到目标网络服务器并与之交互
· midlet向用户显示结果
第一种方法同时也消除了将商务逻辑保持在servlet的如下一些缺点:
· 一个servlet容器故障会导致整个应用程序离线,即使目标网络服务仍在运行。
· 应用程序被限制仅作为servlets展开。
在移动应用程序中进行状态管理的另一个方法在sun无线java开发者的一篇不依赖风俗权威的文章“session handling in midp”(2002年一月)中有描述,但包括在移动应用程序中写操作cookies的通用代码。前面关于写通用代码的缺点的讨论及使用jcookie(micro)的优势请看上述命为“在java中的状态管理”部分)。
自从pjae提供连同一些java2类的完整jdk 1.1.8平台,即使在工作中的jcookiemicro,今天你也能在personaljava application environment (pjae)下的应用程序中使用jcookie库。。
jcookie局限性
jcookie库还有一些局限性:
· 当cookie解析逻辑及安全标准插入到已存在的api(用cookieparser)时,没有一个对于核心数据结构和cookie类有用的机制。
· 没有作性能测试
你可以从http://jcookie.sourceforge.net/得到jcookie最近的版本以及项目源代码。有一些项目是为未来版本计划的包括:
· 雅加达项目log4j logging api的使用提供了用户可配置的记录和调试。
· 用一个用户定义的控制器可简单修改jcookie行为,这可以决定解析一单个cookie是否失败将导致致命错误。
这些及其他部分的执行大量依赖于你的反馈。请在sourceforge.net的jcookie项目站点上使用邮件列表、bug追踪、特征请求等等。
取得cooking
这里提到的jcookie库能帮助减轻客户端应用程序状态开发的难度。作为前面曾提到的,其他库的执行类似于函数,但这些结构已和存在的本地java.net api远无关系。另外,没有api/库单独从事cookie操作。其他的库将cookie操作合并作为一个完整的java 网络客户结构的一部份,结果,使用这些库涉及了整个新的学习体系。
jcookie库接近于存在的java.net对象。在普遍的urlconnection或httpconnection两个方法调用中状态管理十分简单。你可以通过一个有用的httpredirecthandler类使得状态管理更简单。在处理客户端应用程序开发者时jcookie努力把浏览器作为cookie管理器。这能成功走多远只能由你的反响决定。我将感激任何你所分享的提示或建议。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons