我是一个初学者,老师留了一个问题。要求我们不使用浏览器,用java代码编写一个客户端程序,实现session会话功能。
然后我urlconnection类  写了一个程序可以访问一个网站,并能够得到他的一些session信息。
程序如下:import java.io.*;
import java.net.*;
import java.net.HttpURLConnection;
public class cookie{
public void sc(){
try{
URL ur=new URL("http://www.sina.com");
HttpURLConnection huc= (HttpURLConnection)ur.openConnection(); 
String cook = huc.getHeaderField("Set-Cookie");
System.out.println(cook);
}catch(Exception e){
System.out.println(e.getMessage());
}
}
 public static void main(String[] args){
cookie c=new cookie();
c.sc();
}
}
但是我用这段程序再访问该网站其他页面时,返回的session信息与我第一次返回的session信息不一样,如果能返回相同的session信息,就表示是同一个会话。
我想把第一次返回的session信息作为参数发给服务器,让服务器知道我与之前的访问是属于一个会话的,但是我不知道使用什么方法能够达到这个效果。
因为我是个初学者有很多不明白的地方,最好能给我一段代码说明,原理的东西可能说了,本人也暂时无法理解。希望大家帮我一下!!我在线等答案。

解决方案 »

  1.   

    这里有解决的办法啊?http://www.javadingle.com
      

  2.   

    我来帮你吧.方法如下:
    将第一次访问页面得到的SESSION保存起来.即下面的值,保存起来,可以通过定义静态变量的形式.
    strCookie = huc.getHeaderField("Set-Cookie");
    之后,再次送信时,将之前保存的SESSION信息再设定,就可以了.
    加下下面的处理就OK了.
     if (strCookie != null) {
         huc.setRequestProperty("cookie", strCookie);
     }