网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > J2EE/J2ME
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.深入理解SKIP_PAGE,EVAL_PAGE.
.入门:对J2EE初学者的学习流程介.
.基于Java的Web服务器工作原理(二.
.M3G游戏中性能提升技巧.
.配置Eclipse进行远程调试.
.介绍MIDP应用程序的属性.
.servlet的相关内部处理机制.
.J2ME最佳实践概述.
.将TOC从XML带到DHTML.
.Servlet中jdbc应用高级篇之一.
.创建Mascot Capsule v3烟雾效果.
.索爱MIDP 2.0手机的系统字体特效.
.嵌入式系统中的模块动态加载技术.
.使用POST和GET方法与servlet通信.
.XML——连接SQL和Web程序的桥梁.
.手机游戏策划模板.
.JDBC概述(二).
.高可靠性移动应用程序-移动数据.
.J2EE入门教程之一.
.基于MIDP实现Dialog组件.

Java中的cookie管理方案(4)-与J2ME结合

发表日期:2007-12-23



  注意: 这部分假设已经对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管理器。这能成功走多远只能由你的反响决定。我将感激任何你所分享的提示或建议。

(出处:)


上一篇:smart at java(1) 人气:569
下一篇:J2ME 走向成熟 人气:624
浏览全部J2EE/J2ME的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐