首页  |  繁体  |  代码下载  |  网络学院  |  旧版网络学院  |  手机学院  |  加入收藏  |  设为首页  |  联系我们
Java中的cookie管理方案(3)-与J2ME结合-网络学院-中国代码网China-Code.Net-打造中国最大代码、源代码、源码下载网站
您的位置:文章首页 -> 网络编程 -> 其他编程 -> Java中的cookie管理方案(3)-与J2ME结合

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

jCookie结构
下面我将描述层及他们使用的不同的类。
层1
那些开发者多数都想进行透明cookie操作,这通常是使用层1的情形。在这个级别,你用Client类操作cookies。它有两个主要的方法:
? public CookieJar getCookies(URLConnection urlConn): 这个方法从给出的URLConnection中析取cookies,将它们解析到Cookie对象,并作为一个CookieJar返回。
? public CookieJar setCookies(URLConnection urlConn, CookieJar cj): 这个方法从CookieJar中提取合适的Cookie对象并设置URLConnection的报头。
层0
这些开发者没有在使用层0的代码中深入就无法呼吸(包括我)。在这里,你可以通过使用cookie操作代码改变解析逻辑和安全规则。要这样做,首先实现CookieParser接口,它有以下四个方法:
? public Header getCookieHeaders(CookieJar cj): 在CookieJar中转换Cookies为一报头以适合与一个HTTP请求一起发送。
? public boolean allowedCookie(Cookie c, URL url): 检查是否一个给出URL的请求能返回指定的Cookie。
? public CookieJar parseCookies(Header h, URL url): 在一个HTTP响应中将报头转换到一个Cookie对象的CookieJar中。
? public boolean sendCookieWithURL(Cookie c, URL url, boolean bRespectEXPires): 检查是否给出的Cookie能被与给出URL的一个请求一起发送。
你能使用Client类的setCookieParser(CookieParser cp)方法去设置CookieParser实现。被库缺省使用的CookieParser是一个RFC 2965 cookie规范中的实现。
在层1,jCookie作为一个库;在层0,它成为一个API的基础。
jCookie用法
Client类在两个层都调用cookie操作逻辑。它提供了应用程序开发者的库架构。要使用jCookie库,按照下面这些步骤:
? 从响应到请求检索cookies:
创建一个URLConnection对象并初始化。
连接URLConnection。
创建一个Client对象并设定一个定制的CookieParser。
通过调用Client实例的getCookies()方法得到一个Cookies的CookieJar,作为在URLConnection中的一个参数。
与HTTP响应一起作一些事情。

? 和一个请求(假定一个CookieJar已被检索)一起发送cookies:
创建一个URLConnection对象并初始化。
创建一个Client对象并设定一个定制的CookieParser。
通过调用Client实例的setCookies()方法设置cookie报头,作为URLConnection and CookieJar 中的参数。
连接URLConnection。
与HTTP响应一起作一些事情。

下面的摘录显示了普通jCookie的用法。这个jCookie代码十分突出:


import com.sonalb.net.http.cookie.*;
import Java.net.*;
import java.io.*;
...
public class Example
{
...
public void someMethod()
{
...
URL url = new URL("http://www.site.com/");
HttpURLConnection hUC = (HttpURLConnection) url.openConnection();
//在这里初始化
分页:  1              全文阅读
相关文章
线程同步的一些常见模式(1)
《WTL起步 - 玩转图形界面》目录
java ee5平台java持久化开发(ejb3和jsf)
按位“与”赋值运算符 (&=)
解析[2] :编写Enterprise bean的客户端(下)
Java设计模式之外观模式(1)
Tomcat5+Mssql server 2000数据库连接池配置之旅
Java与.NET间进行Web Service交互的选择
运行期间生成代码的动态执行
高质量C++/C编程指南(第9章 类的构造函数、析构函数与赋值函数)
STL程序设计实践二: 注意迭代子的失效
零代码保存窗口运行状态
解析[3] : ASP与JSP的比较
如何将C/C++程序转译成Delphi(十二)
Delphi图象截取编程示例(7)
探讨开源软件的互操作策略
解析[1] :J2EE
定位符
关于 Service 设计初步(MSDN节选翻译)
VC++实现混合静态分裂视窗的方法
Effective C++ 2e Item1
php的汉字转换: Unicode(UTF8)->GBK
如何隐藏和显示Windows的任务条
换肤手术
Session Facade设计模式
DELPHI加注册表自启动的最简单代码
对Java 提供的两个Map 进行了性能测试
几种从数据库读取数据生成excel文件的比较
Web Service Appender 管理日志纪录
精通Hibernate之映射继承关系八
浅析c/c++中的指针
全面认识JUnit 4的新特征
JScript5.5下String.prototype.replace(str,
解析[4] :让你的IIS服务器支持JSP
Servlet/JSP 容器开发手记2



您正在搜索的关键字为 Java中的cookie管理方案(3)-与J2ME结合