HttpURLConnection用法详解

来源:未知 责任编辑:责任编辑 发表时间:2013-11-18 20:56 点击:
针对JDK中的URLConnection连接Servlet的问题,网上有虽然有所涉及,但是只是说明了某一个或几个问题,是以FAQ的方式来解决的,而且比较零散,现在对这个类的使用就本人在项目中的使用经验做如下总结:  p>1:> URL请求的类别: 

p>分为二类,GET与POST请求。二者的区别在于: 

p>     a:) get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet, 

p>     b:) post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。 

p> 

p> 

p>2:> URLConnection的对象问题: 

p>URLConnection的对象,如下代码示例: 

p> 

p>// 下面的index.jsp由<servlet-mapping>映射到 

p>// 一个Servlet(com.quantanetwork.getClientDataServlet) 

p>// 该Servlet的注意点下边会提到 

p> 

p> 

p> 1 URL url = new URL("http://localhost:8080/TestHttpURLConnectionPro/index.jsp");   

p> 2   

p> 3 URLConnection rulConnection = url.openConnection();  

p> 4         // 此处的urlConnection对象实际上是根据URL的   

p> 5           // 请求协议(此处是http)生成的URLConnection类   

p> 6           // 的子类HttpURLConnection,故此处最好将其转化   

p> 7           // 为HttpURLConnection类型的对象,以便用到   

p> 8           // HttpURLConnection更多的API.如下:   

p> 9    

p>10 HttpURLConnection httpUrlConnection = (HttpURLConnection) rulConnection;   

p> 

p>3:> HttpURLConnection对象参数问题 

p> 

p> 

p> 1   // 设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在   

p> 2  // http正文内,因此需要设为true, 默认情况下是false;   

p> 3  httpUrlConnection.setDoOutput(true);   

p> 4   

p> 5  // 设置是否从httpUrlConnection读入,默认情况下是true;   

p> 6  httpUrlConnection.setDoInput(true);   

p> 7   

p> 8  // Post 请求不能使用缓存   

p> 9  httpUrlConnection.setUseCaches(false);   

p>10   

p>11  // 设定传送的内容类型是可序列化的java对象   

p>12  // (如果不设此项,在传送序列化对象时,当WEB服务默认的不是这种类型时可能抛java.io.EOFException)   

p>13  httpUrlConnection.setRequestProperty("Content-type", "application/x-java-serialized-object");   

p>14   

p>15  // 设定请求的方法为"POST",默认是GET   

p>16  httpUrlConnection.setRequestMethod("POST");   

p>17   

p>18  // 连接,从上述第2条中url.openConnection()至此的配置必须要在connect之前完成,   

p>19          httpUrlConnection.connect();  
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x学习(一):HelloWorld
  • cocos2dx在xcode下开发,编译到android上(2)
  • cocos2d 设置屏幕默认方向
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1