用URLConnection或是HttpURLConnection提交保持Session的方法

方法如下:

第一次和服务器发起POST或是GET请求以后,通过getHeaderField方法获得SessionID,具体方法为:

String session_value=getHeaderField("Set-Cookie");

里得到的session_value可能不全是sessionId,还包含其他内容,用正则或者其他方法获得session_value中的sessionId的值就可以了

 第二次发起POST或是GET请求的时候需要把刚才获得的SessionID放置在请求的头部然后再提交,这样就能服务器就会认为是同一个Session请求了,具体方法为:

setRequestProperty("Cookie", session_value);

这样就实现了保存session向服务器提交请求

 示例代码:
 

URL url = new URL(link);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
//获得session信息
session_value = urlConnection.getHeaderField("Set-Cookie");
String[] sessionId = session_value.split(";");
//保存session信息
urlConnection.setRequestProperty("Cookie", sessionId[0]);

 

你可能感兴趣的:(朝花夕拾,JavaWeb,JAVA)