在SDK中的URLConnection链接Servlet的问题

1.URL的请求分类GET和POST

GET请求可以获取页面静态的值,参数放URL后,传给Serverlct

POST的参数是存放于http请求的正文中

2.URLConnection的对象问题

根据URL生成URLconnection,URLConnection在转成HttpUrlConnection.

URL url = new URL("www.baidu.com");

HttpUrlConnection httpUrlConnection = (HttpURLConnection) url.openConnection();

3.HttpURLConnection对象参数问题

设置是否向HttpURLConnection输出,因为这个是Post请求,参数要放在http正文中,因此要设置为true

httpUrlConnection.setDoOutput(true);

设置是否从httpUrlConnection读入,默认情况下是true

httpUrlConnection.setDoInput(true);

Post请求不能使用缓存

httpUrlConnection.setUseCaches(false);

设定传输的内容结果是可以序列化的JAVA对象

(假设不设置,在传送序列化对象时,当WEB服务器默认的不是这种类型时可能抛出java.io.eofexcrption)

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

//设定请求的方式必须是POST,默认时GET

httpUrlConnection.setRequestMethod("Post");

分装完毕

httpUrlConnection.connect();

getOutPutStream会隐含着connect,所以在开发环境中不调用上述的connect()也可以

OutputStream outStrm = httpUrlConnection.getOutputStream()

现在通过输出流对象构建对象的输出流,以实现输出可序列化的对象

OutputStreamWriter out =  new  OutputStreamWriter(httpUrlConnection.getOutputStream(), "UTF-8");

向对象输出流写数据,这些数据保存到内存中

objectOutputStream.writeObject("测试字符串")

//刷新对象输出流,将任何字节都写入潜在流中
objOutputStm.flush()

// 定义BufferedReader输入流来读取URL的响应
        BufferedReader    in = new BufferedReader( new InputStreamReader(conn.getInputStream(), "UTF-8"));
   String line

  StringBuilder result = new StringBuilder();;

while ((line = in.readLine()) != null) {
                result.append(line);
            }

用finally{

关闭输出流和输入流。

in.close();

}

//关闭流对象,不在对输出流对象写入任何东西,先前写入的数据存在于缓存中

objOutputStm.close();

调用httpURLConnection连接对象的getInputStream()函数

将内存缓冲区封装好完整的HTTP请求电文发送到服务端

InputStream  inStrm = httpConn.getInputStream();

HttpURLConnection用法的更多相关文章

  1. HttpURLConnection用法详解

    针对JDK中的URLConnection连接Servlet的问题,网上有虽然有所涉及,但是只是说明了某一个或几个问题,是以FAQ的方式来解决的,而且比较零散,现在对这个类的使用就本人在项目中的使用经验 ...

  2. 【转】HttpURLConnection用法详解

    原文链接:http://www.blogjava.net/supercrsky/articles/247449.html 针对JDK中的URLConnection连接Servlet的问题,网上有虽然有 ...

  3. [转]Android各大网络请求库的比较及实战

    自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...

  4. Android之网络请求库

    自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...

  5. Android进阶笔记01:Android 网络请求库的比较及实战(一)

    在实际开发中,有的时候需要频繁的网络请求,而网络请求的方式很多,最常见的也就那么几个.本篇文章对常见的网络请求库进行一个总结. 一.使用HttpUrlConnection: 1. HttpUrlCon ...

  6. Android 几种网络请求的区别与联系

    HttpUrlConnection 最开始学android的时候用的网络请求是HttpUrlConnection,当时很多东西还不知道,但是在android 2.2及以下版本中HttpUrlConne ...

  7. Android 各大网络请求库的比较及实战

    自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...

  8. 关于HttpClient,HttpURLConnection,OkHttp的用法

    1 HttpClient入门实例 1.1发送get请求 /** * HttpClient发送get请求 * @param url 请求地址 * @return * @throws IOExceptio ...

  9. HttpURLConnection和HttpClient的简单用法

    HttpURLConnection的简单用法:先通过一个URL创建一个conn对象,然后就是可以设置get或者是post方法,接着用流来读取响应结果即可 String html = null; lon ...

随机推荐

  1. 个人整理方幂和公式(∑i^k 公式)

    有个Oier小学妹问了我一个Σi^k,i<=1e8 ,k<=1e6的问题,我认为这个用伯努利数列可能可以解决他的问题,所以整理了以下文章,给学弟学习学习~~~本人水平有限,也只能帮到这里了 ...

  2. HDU 1312 Red and Black(DFS,板子题,详解,零基础教你代码实现DFS)

    Red and Black Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  3. COGS 862. 二进制数01串【dp+经典二分+字符串】

    862. 二进制数01串 ★   输入文件:kimbits.in   输出文件:kimbits.out   简单对比 时间限制:1 s   内存限制:128 MB USACO/kimbits(译 by ...

  4. 94、存储库之MongoDB、mysql

    本篇导航: 简介 MongoDB基础知识 安装 基本数据类型 CRUD操作 其它 存储库之mysql   一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库1.易用性 MongoDB是 ...

  5. JXLS 2.4.0系列教程(四)——多sheet是怎么做到的

    注:本文代码在第一篇文章基础上修改而成,请务必先阅读第一篇文章. http://www.cnblogs.com/foxlee1024/p/7616987.html 本文也不会过多的讲解模板中遍历表达式 ...

  6. JQeury添加和删除class内部实现代码(简化版)

    下面是JQuery对元素class操作的简单实现,请看代码: 添加class: //增加class function addClass(elem,value) { var classes, cur, ...

  7. 使用django建博客时遇到的URLcon相关错误以及解决方法。错误提示:类型错误:include0获得一个意外的关键参数app_name

    root@nanlyvm:/home/mydj/mysite# python manage.py runserver Performing system checks... Unhandled exc ...

  8. css样式小记

    溢出文字展现为... .over-hidd { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }

  9. git回退操作

    情况一:checkout 当你修改了某个文件,未提交暂存区,回退本次修改 git checkout -- file 情况三:reset 当你的代码,已提交到暂存区,还未提交到远程仓库 git log ...

  10. MySQL的Illegal mix of collationsy异常原因和解决方法

    原创 2008年12月25日 11:54:00 标签: mysql / collation / character / variables / database / server   今天在使用数据库 ...