HttpURLConnection类的保持session会话
来源:互联网 发布:靠谱的代购淘宝店推荐 编辑:程序博客网 时间:2024/05/24 05:19
TestServlet.javapackage nj.servlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class TestServlet extends HttpServlet { public void doPost(HttpServletRequest request,HttpServletResponse response){ HttpSession session=request.getSession(); String str=(String)session.getAttribute("name"); System.out.println("name:"+str); session.setAttribute("name", "nj"); /*String ss=request.getHeader("Cookie"); System.out.println("session id:"+ss);*/ } public void doGet(HttpServletRequest request,HttpServletResponse response){ this.doPost(request, response); }} TestServlet.javapackage nj.ws.test;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;import java.util.List;import java.util.Map;import java.util.Set;public class TestConnection { public static void main(String[] args){ //第一次连接,返回session id String sessionId=testUrlConnection(); //第二次使用session id连接 connectionBySession(sessionId); } public static String testUrlConnection(){ String urlStr="Http://localhost:8080/WebServiceProject/testServlet"; OutputStream out=null; InputStream in=null; try { URL url=new URL(urlStr); HttpURLConnection con=(HttpURLConnection)url.openConnection(); con.setRequestMethod("POST"); //打印请求头信息 Map hfs=con.getHeaderFields(); Set<String> keys=hfs.keySet(); for(String str:keys){ List<String> vs=(List)hfs.get(str); System.out.print(str+":"); for(String v:vs){ System.out.print(v+"\t"); } System.out.println(); } System.out.println("-----------------------"); String cookieValue=con.getHeaderField("Set-Cookie"); System.out.println("cookie value:"+cookieValue); String sessionId=cookieValue.substring(0, cookieValue.indexOf(";")); return sessionId; } catch (Exception e) { e.printStackTrace(); return null; }finally{ try { if(in!=null) in.close(); if(out!=null) out.close(); } catch (IOException e) { e.printStackTrace(); } } } public static void connectionBySession(String sessionId){ InputStream in=null; try{ String url="Http://localhost:8080/WebServiceProject/testServlet"; URL u=new URL(url); HttpURLConnection con=(HttpURLConnection)u.openConnection(); con.setRequestMethod("POST"); con.setRequestProperty("Cookie", sessionId); in=con.getInputStream(); }catch(Exception e){ e.printStackTrace(); }finally{ try { if(in!=null) in.close(); } catch (IOException e) { e.printStackTrace(); } } }}
运行后打印结果:
Web服务端:
name:null
name:nj
测试类打印:
null:HTTP/1.1 200 OK
Content-Length:0
Set-Cookie:JSESSIONID=7827696933343BC5005E5244369CB2A8; Path=/WebServiceProject
Date:Mon, 01 Dec 2008 03:16:30 GMT
Server:Apache-Coyote/1.1
-----------------------
cookie value:JSESSIONID=7827696933343BC5005E5244369CB2A8; Path=/WebServiceProject
1 0
- HttpURLConnection类的保持session会话
- HttpURLConnection类保持session会话
- volley session 保持会话
- session会话保持
- 使用HttpURLConnection类(利用sessionId保持会话)
- web之保持会话(Session)
- httpClient 4.2 保持会话session
- apache session 会话保持 mod_proxy_balancer
- 负载均衡session会话保持
- 使用web园 多线程web应用程序的session会话保持
- Android客户端访问服务器保持SESSION会话的实现
- 网站Session(会话)保持的常用手段
- Android客户端访问服务器保持SESSION会话的实现
- Java Web 学习笔记之二:Java HttpURLConnection保持会话的方法
- F5的会话保持
- F5的会话保持
- 会话保持的英文翻译
- 了解负载均衡 会话保持 session同步 session同步、共享的3种解决方法
- VS2010 MFC中对Access数据库基本操作
- web项目 action中获得spring ioc容器
- 移除数组中的特定数
- 定期清理服务器log的脚本
- web前端(001_滚动效果)
- HttpURLConnection类的保持session会话
- Android开发—RadioGroup中RadioButton默认选中问题
- [从头学绘画] 第37节 跆拳道二十四品势之8-花郞
- 复数类Complex
- Android Hanlder机制分析(一) Hanlder常见用方法及原理
- 网上java代码中文在subtext3中显示乱码
- Android白天/夜间模式Day/Night Mode标准原生SDK实现
- CSDN博客等级
- 自然语言处理会议