欢迎来到天天文库
浏览记录
ID:35295050
大小:41.50 KB
页数:7页
时间:2019-03-23
《urlconnection的连接、超时、关闭用法总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、URLConnection的连接、超时、关闭用法总结java中可以使用HttpURLConnection来请求WEB资源。1:>URL请求的类别:分为二类,GET与POST请求。二者的区别在于:a:)get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,b:)post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。2:>URLConnection的对象问题:URLConnection的对象,如下代码示例://下面的index.jsp由映射到//
2、一个Servlet(com.quantanetwork.getClientDataServlet)//该Servlet的注意点下边会提到URLurl=newURL("http://localhost:8080/TestHttpURLConnectionPro/index.jsp");/**此处的urlConnection对象实际上是根据URL的请求协议(此处是http)生成的URLConnection类的子类*HttpURLConnection,故此处最好将其转化为HttpURLConnection类型的对象,以便用到HttpURLConnect
3、ion*更多的API.如下:*/URLConnectionurlConnection=url.openConnection();HttpURLConnectionhttpUrlConnection=(HttpURLConnection)rulConnection;3:>HttpURLConnection对象参数问题//设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在//http正文内,因此需要设为true,默认情况下是false;httpUrlConnection.setDoOutput(true);//设置是
4、否从httpUrlConnection读入,默认情况下是true;httpUrlConnection.setDoInput(true);//Post请求不能使用缓存httpUrlConnection.setUseCaches(false);//设定传送的内容类型是可序列化的java对象//(如果不设此项,在传送序列化对象时,当WEB服务默认的不是这种类型时可能抛java.io.EOFException)httpUrlConnection.setRequestProperty("Content-type","application/x-java-s
5、erialized-object");//设定请求的方法为"POST",默认是GEThttpUrlConnection.setRequestMethod("POST");//连接,从上述第2条中url.openConnection()至此的配置必须要在connect之前完成,httpUrlConnection.connect();4:>HttpURLConnection连接问题://此处getOutputStream会隐含的进行connect(即:如同调用上面的connect()方法,//所以在开发中不调用上述的connect()也可以)。Out
6、putStreamoutStrm=httpUrlConnection.getOutputStream();5:>HttpURLConnection写数据与发送数据问题://现在通过输出流对象构建对象输出流对象,以实现输出可序列化的对象。ObjectOutputStreamobjOutputStrm=newObjectOutputStream(outStrm);//向对象输出流写出数据,这些数据将存到内存缓冲区中objOutputStrm.writeObject(newString("我是测试数据"));//刷新对象输出流,将任何字节都写入潜在的流
7、中(些处为ObjectOutputStream)objOutputStm.flush();//关闭流对象。此时,不能再向对象输出流写入任何数据,先前写入的数据存在于内存缓冲区中,//在调用下边的getInputStream()函数时才把准备好的http请求正式发送到服务器objOutputStm.close();//调用HttpURLConnection连接对象的getInputStream()函数,//将内存缓冲区中封装好的完整的HTTP请求电文发送到服务端。InputStreaminStrm=httpConn.getInputStream()
8、;//<===注意,实际发送请求的代码段就在这里//上边的httpConn.getInputStream()方法已调用,本次HTTP请求
此文档下载收益归作者所有