java(教学0)-java-网络编程.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《java(教学0)-java-网络编程.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 教学 网络 编程
- 资源描述:
-
1、java(教学0)-java-网络编程HTTP概述 URL URLConnection读写 InetAddres类 Socket 数据报 本章内容本章内容HTTP概述概述1.1.统一资源定位器统一资源定位器URLURL URL-URL-Uniform Resource Locator,表示表示InternetInternet上上某一资源的地址。某一资源的地址。浏览器通过解析给定的浏览器通过解析给定的URLURL可以在网络上查找可以在网络上查找相应的文件或其他资源。相应的文件或其他资源。2 2URLURL的组成的组成 protocol:/:port_number/file_nameprotoco
2、l:/:port_number/file_name 其中:其中:协议名(协议名(protocolprotocol):指明获取资源所使用的传输协议,指明获取资源所使用的传输协议,如如httphttp、ftpftp、gophergopher、filefile等。等。Host_nameHost_name:资源名(:资源名(resourceNameresourceName)所在的主机。)所在的主机。Port_nubmerPort_nubmer:连接时所使用的通信端口号:连接时所使用的通信端口号 File_nameFile_name:该资源在主机的完整文件名。:该资源在主机的完整文件名。HTTP概述概述
3、例例1:http:/ 3基于基于TCP/IP编程的两个协议编程的两个协议 目前在Internet上使用最为广泛的协议是TCP/IP协议 1)TCP 是一种面向连接的保证可靠传输的协议。通过是一种面向连接的保证可靠传输的协议。通过TCP协议协议传输,得到的是一个顺序的无差错的数据流。传输,得到的是一个顺序的无差错的数据流。发送方和接收方在进行数据传输前必须进行连接(成对的两发送方和接收方在进行数据传输前必须进行连接(成对的两个个socket之间必须建立连接)。之间必须建立连接)。HTTP概述概述2)UDP UDP是是User Datagram Protocol的简称,是一种无连接的协议,的简称,
4、是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地每个数据报都是一个独立的信息,包括完整的源地址或目的地址。址。它在网络上以任何可能的路径传往目的地,因此能否到达目的它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。地,到达目的地的时间以及内容的正确性都是不能被保证的。HTTP概述概述在在JavaJava语言中,可以使用三种方式实现网络编语言中,可以使用三种方式实现网络编程:程:(1 1)URLURL编程(获取编程(获取URLURL属性信息)属性信息)(2 2)SocketSocket编程(基于编程(基于TCP
5、TCP 的的C/SC/S)(3)Datagram(3)Datagram编程(编程(UDPUDP)HTTP概述概述包 -URL类 -URLconnection类 -Socket类 -ServerSocket类 -DatagramPacket类 -DatagramSocket类 -MulticastSocket类TCPTCP实现实现网络通信网络通信UDP实现实现网络通信网络通信HTTP概述概述URL本节主要内容:本节主要内容:URLURL构造方法构造方法URLURL类的其他方法类的其他方法URLURL相关的异常相关的异常从从URLURL读取读取WWWWWW网络数据网络数据 1 1)public U
6、RL(String spec);public URL(String spec);使用使用URLURL对象的字符串对象的字符串specspec来构造一个来构造一个URLURL对象。对象。例例1 1:URL url=new URL(http:/www.URL url=new URL(http:/)构造方法构造方法2)public URL(URL baseurl,String spec);通过基地址通过基地址URL和表示相对路径的字符串构和表示相对路径的字符串构造一个造一个URL对象。对象。例例2:URL net263=new URL(http:/ index263=new URL(net263,i
7、ndex.html)基地址基地址构造方法构造方法3)public URL(String protocol,String host,String file);通过协议名、主机名和文件名构造一个通过协议名、主机名和文件名构造一个URL对象。对象。例例3:URL u1=new URL(http,/pages/G.html);构造方法构造方法4)public URL(String protocol,String host,int port,String file);通过协议名、主机名、端口号和文件名构造一个通过协议名、主机名、端口号和文件名构造一个URL对象。对象。例例4:URL g1=new URL
8、(http,“,80,“07/1208/16/3v2007j.html);构造方法构造方法URL类的其他方法类的其他方法获取获取URL对象属性的方法对象属性的方法:public String getProtocol():获取该获取该URL的协议名的协议名 public String getHost():获取该获取该URL的主机名的主机名 public String getPort():获取该获取该URL的端口号的端口号 public String getPath():获取该获取该URL的文件路径的文件路径 public String getFile():获取该获取该URL的文件名的文件名 pu
9、blic String getRef():获取该获取该URL在文件中的相对位置在文件中的相对位置 public String getQuery():获取该获取该URL的查询名的查询名也可使用下列方法将也可使用下列方法将URLURL对象的内容以字符串对象的内容以字符串的形式来表示:的形式来表示:String toString();String toString();String toExternalForm();String toExternalForm();URL类的其他方法类的其他方法与与URL相关的异常相关的异常 URL URL类的每个构造方法在类的每个构造方法在URLURL地址残缺或无法
10、地址残缺或无法解释时,都将抛出解释时,都将抛出MalformedURLExceptionMalformedURLException异常。异常。一般将相关语句放入一般将相关语句放入trycatchtrycatch语句块中。格语句块中。格式如下:式如下:try URL myURL=new URL()catch(MalformedURLException e)/exception handler code here URLURL编程步骤:编程步骤:1 1)导入)导入包;包;2 2)创建)创建URLURL对象(对象(URLURL构造方法)构造方法)3 3)获取)获取URLURL对象属性对象属性 或利用
11、或利用URLURL对象读入数据对象读入数据 例例5:URL url1,url2,url3;try url1=new URL(“file:/D:/image/example.gif”);url2=new URL(“http:/ URL(url2,“test.gif”);catch(MalformedURLException e)DisplayErrorMessage();.例例6 6:获取:获取URLURL对象属性对象属性try /创建创建URL对象对象URL ur1=new URL(http:/ e)System.out.println(错误的错误的URL对象。对象。);获取获取URLURL对
12、象属性的运行结果对象属性的运行结果从从URL读取读取WWW网络数据网络数据 URL URL类定义了类定义了openStream()openStream()方法用以读取方法用以读取URLURL地址的数据,其定义为地址的数据,其定义为:public final InputStream openStream()public final InputStream openStream()thorws IOException thorws IOException;URLJava 程序程序InputStream例例7:从:从URL中读取数据中读取数据 URL google=new URL(“http:/);
13、BufferedReader in=new BufferedReader(new InputStreamReader(google.openStream();String inputLine;while(inputLine=in.readLine()!=null)System.out.println(inputLine);in.close();.从从URLURL中读取数据的运行结果中读取数据的运行结果基于基于URLConnection的读写的读写1.1.URLConnectionURLConnection类类 URLURL的方法的方法openStream()openStream()只能从网络上
14、只能从网络上读取数据,而不能写。读取数据,而不能写。URLConnectionURLConnection是封装访问远程网络资是封装访问远程网络资源一般方法类,通过它可以建立与远程服务源一般方法类,通过它可以建立与远程服务器的连接,检查远程资源的一些属性。器的连接,检查远程资源的一些属性。URL类中的方法类中的方法openConnection()可以对可以对URL指向的网络资源进行指向的网络资源进行读写。读写。public URLConnetion openConnection();作用:尝试连接作用:尝试连接URL指向的网络资源,然后返回封装了操作该连接指向的网络资源,然后返回封装了操作该连接
15、的类的类.URLConnection的一个实例。的一个实例。基于基于URLConnection的读写的读写例例8:try /先创建一个先创建一个URL对象对象url1 URL url1=new URL(http:/);/创建到创建到url1的一个连接对象的一个连接对象con URLConnection con=url1.openConnection();catch(MalformedURLException)catch(IOException)2URLConnetion类中的常用方法类中的常用方法 public InputStream getInputStream();public Outpu
16、tStream getOutputStrem();public URl getURL();基于基于URLConnection的读写的读写3.URLConnection读读/写编程步骤写编程步骤 1)创建一个)创建一个URL对象对象u1;2)使用)使用URLConnection类中的类中的openConnection()方法方法创建到创建到URL的一个连接对象的一个连接对象:URLConnection u1.openConnection()成功,返回一个成功,返回一个URLConnection对象对象不成功,抛出不成功,抛出IOException异常异常 3)进行数据的读或写操作)进行数据的读或
17、写操作;4)关闭流关闭流基于基于URLConnection的读写的读写 4从URLConnection读URL资源URLConnectionURLConnection类的读写渠道类的读写渠道 getInputStream()getInputStream()基于基于URLConnection的读写的读写例例9:采用:采用URLConection 从从URL读取数据读取数据 String inputLine;System.out.println(gl.getContentLength();System.out.println(gl.getDate();System.out.println(gl.g
18、etLastModified();System.out.println(gl.getURL();System.out.println(gl.toString();基于基于URLConnection的读写的读写URL google=new URL(http:/localhost:8080/examples/jsp/datatreat.jsp);BufferedReader in=new BufferedReader(new InputStreamReader(google.openStream();String inputLine;while(inputLine=in.readLine()!=n
19、ull)System.out.println(inputLine);in.close();基于基于URLConnection的读写的读写从从URLConectionURLConection读取数据的运行结果读取数据的运行结果CGICGI程序程序POSTPOST信息信息有动态特性的有动态特性的HTMLHTML网页网页标准输入标准输入标准输出标准输出4.4.对对RLConnectionRLConnection写写setDoOutput(true),getOutputStream()什么情况下有必要向什么情况下有必要向URLURL写信息呢?写信息呢?-表单(表单(Form)Form)与与CGICGI
20、有交互的网页有交互的网页 -使用使用POSTPOST方式向方式向CGICGI传送信息传送信息 基于基于URLConnection的读写的读写例例10:向一个:向一个RLConnection写写 URL url=new URL(http:/);URLConnection connection=url.openConnection();connection.setDoOutput(true);PrintWriter out=new PrintWriter (connection.getOutputStream();out.println(string);out.close();InetAddres
21、类类 类.InetAddress表示一个 Internet Protocol(IP)地址。应用程序必须使用方法 getLocalHost,getByName,或 getAllByName 来创建新的 InetAddress 实例。例11:InetAddress ia=new InetAddress();其他方法其他方法 1)public byte getAddress()返回这个返回这个 InetAddress 对象的原始对象的原始 IP 地址。地址。2)public static InetAddress getAllByName(String)throws UnknownHostExcept
22、ion 给定主机名,确定该主机的所有给定主机名,确定该主机的所有 IP 地址。地址。3)public static InetAddress getByName(String host)throws UnknownHostException 给定主机名,确定该主机的所有给定主机名,确定该主机的所有 IP 地址。地址。4)public String getHostAddress()返回返回IP 地址串地址串%d.%d.%d.%dInetAddres类类 5)public String getHostName()返回此地址的全限定主机名。返回此地址的全限定主机名。6)public static In
23、etAddress getLocalHost()返回本地主机。返回本地主机。7)public String toString()把此把此IP 地址转换为地址转换为 String 类型。类型。上述上述1)-4)方法均要抛出方法均要抛出UnknownHostException 异常。异常。InetAddres类类例例12:InetAddress 获取获取 IP地址地址import .*;public class getip public static void main(String args)throws UnknownHostException InetAddress ad=InetAddre
24、ss.getByName(localhost);System.out.println(主机名:主机名:+ad.getHostName();System.out.println(主机地址:主机地址:+ad.getHostAddress();System.out.println(ad.getCanonicalHostName();System.out.println(本地地址:本地地址:+ad.getAddress();System.out.println(本地主机名:本地主机名:+ad.getLocalHost();netAddress类获取IP地址 socketSocketSocket是网络程
展开阅读全文