《Java面向对象程序设计(第4版)》课件chapter13 网络技术和应用开发.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《Java面向对象程序设计(第4版)》课件chapter13 网络技术和应用开发.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java面向对象程序设计第4版 Java面向对象程序设计第4版课件chapter13 网络技术和应用开发 Java 面向 对象 程序设计 课件 chapter13 网络技术 应用 开发
- 资源描述:
-
1、教学目标教学目标n13.1 Java网络技术概述n13.2 URL与网络应用n13.2.1 URL类n13.2.2 用applet访问URL资源n13.2.3 Web浏览器的设计n13.2.4 URLConnection类n13.3 基于流套接字的客户/服务器通信n13.3.1 InetAddress类n13.3.2 Socket类n13.3.3 ServerSocket类n13.3.4 基于流套接字的客户/服务器的通信过程n13.3.5多线程实现多用户网上聊天教学目标教学目标(续续)n13.4 基于数据报套接字方式的客户/服务器通信n13.4.1 DatagramPacket类n13.4.2
2、 DatagramSocket类n13.4.3基于数据报套接字的客户/服务器的通信应用实例13.1 Java13.1 Java网络技术概述网络技术概述nJava提供两种网络支持机制:n URL的类n用于访问Internet网上资源的应用n Socket通信的类n基于TCP/IP协议中传输层接口Socketn针对Client/Server模型的网络应用n以及实现某些特殊协议的网络应用。n网络通信包:包含有网络通信所需要的类和接口 13.1 Java13.1 Java网络技术概述网络技术概述n基于流套接字(stream sockets)的网络通信n应用程序将网络通讯看做是数据流;n面向连接的网络服
3、务n用于传送的协议是TCP(Transmission Control Protocol)协议。n基于数据报套接字(datagram sockets)的网络通信n程序将要传递的数据打包分成一个个小的数据包。n服务主机跟客户机是无连接的n传送的协议是UDP(User Datagram Protocol)协议。13.2 URL13.2 URL与网络应用与网络应用 n URL(Uniform Resource Locator):URL(Uniform Resource Locator):n用于表示用于表示InternetInternet上的网络资源上的网络资源;n利用利用URLURL对象中提供的方法,
4、可直接读写网络中的数对象中提供的方法,可直接读写网络中的数据。据。n 一个一个URLURL组成组成:协议名、主机名、端口号、路径文件(文件协议名、主机名、端口号、路径文件(文件路径及文件名)。路径及文件名)。例如,例如,http:/:80/home/homepage.htmhttp:/:80/home/homepage.htm 表示表示:协议协议:http:http,主机地址主机地址: 端口号端口号:80:80,路径文件路径文件:/home/homepage.htm:/home/homepage.htm。13.2.1 URL13.2.1 URL类类 nJava将URL封装成URL类.n创建UR
5、L对象的构造方法:(1)URL(String spec)用指定的一个String来创建一个URL对象;(2)URL(String protocol,String host,int port,String file):用指定的协议、主机名、端口号、路径文件来创建一个URL对象(3)URL(String protocol,String host,String file)用指定的协议、主机名、路径及文件名来创建URL对象;(4)URL(URL context,String spec)用已存在的URL对象来创建URL对象。13.2.1 URL13.2.1 URL类类n获取URL对象属性的常用方法:v
6、String getProtocol():获取URL传输的协议;v String getHost():获取URL的机器名称;v int getPort():获取URL的端口号;v String getFile():获取URL的文件名,包括路径和文件名;v Obect getContent():获取URL的内容;v InputStram openStream():打开与URL的连接,返回一个输入流,通过这个输入流读取数据;v URLConnection openConnection():返回与URL进行连接的URLConnection对象;13.2.1 URL13.2.1 URL类类n例例13-
7、1 URL13-1 URL对象的创建及使用。对象的创建及使用。import .import .*;public class Myurlpublic class Myurl public static void main(String args)public static void main(String args)try try URL url=new URLURL url=new URL (http:/:80/home/homepage.htm);(http:/:80/home/homepage.htm);System.out.println(the Protocol:System.out.
8、println(the Protocol:“+url.getProtocol();+url.getProtocol();System.out.println(the hostname:+url.getHost();System.out.println(the hostname:+url.getHost();System.out.println(the port:+url.getPort();System.out.println(the port:+url.getPort();System.out.println(the file:+url.getFile();System.out.printl
9、n(the file:+url.getFile();System.out.println(url.toString();System.out.println(url.toString();catch(MalformedURLException e)catch(MalformedURLException e)System.out.println(e);System.out.println(e);13.2.2 13.2.2 用用AppletApplet访问访问URLURL资源资源 n例例13-213-2利用利用AppletApplet显示网络上其他显示网络上其他HTML文档。文档。在IE浏览器执行
10、showdoc.htm文件执行后,将在新的IE窗口中显示163网站的内容。n利用applet的AppletContect接口中的方法showDocument(),将使执行Applet的浏览器显示指定的URL资源。showDocument(URL url,String target)target:指定显示URL内容的窗体.Target值为“_bank”表示在新开的窗体URL资源。/showdoc.javashowdoc.javaimport javax.swing.import javax.swing.*;import java.awt.import java.awt.*;import .imp
11、ort .*;public class showdoc extends JApplet public class showdoc extends JApplet URL docur=null;URL docur=null;public void paint(Graphics g)public void paint(Graphics g)try try docur=new URL(http:/);docur=new URL(http:/);catch(MalformedURLException e)catch(MalformedURLException e)System.out.println(
12、Can ope the URL);System.out.println(Can ope the URL);if(docur!=null)if(docur!=null)getAppletContext().showDocument(docur,_blank);getAppletContext().showDocument(docur,_blank);/showdoc.htm/showdoc.htmapplet code=showdoc.class width=600 height=50013.2.3 Web13.2.3 Web浏览器的设计浏览器的设计n用application实现一个简单的Web
13、浏览器。n使用swing GUI组件JEditorPane,显示Web服务器上的文件内容。nJEditorPane组件能显示无格式或带格式的HTML文本。nJEditorPane的方法setPage(URL url),将下载由url定位的文档并显示在JEditorPane组件中。n用户在窗体顶部的JTextField中输入URL后,将URL的HTML格式的文本,在JEditorPane中显示。13.2.3 Web13.2.3 Web浏览器的设计浏览器的设计 13.2.3 Web13.2.3 Web浏览器的设计浏览器的设计n如果JEditorPane含有的HTML文档中含有超链接,当用户单击其中
14、一个超链接时,则JEditorPane产生事件HyperlinkEvent(javax.swing.event包中),并通知所有已注册的HyperlinkListener对象。nHyperlinkListener接口的方法hyperlinkUpdate()n处理超链接事件HyperlinkEvent:n在JEditorPane中显示超链接的Web网页。13.2.3 Web13.2.3 Web浏览器的设计浏览器的设计 wcontentsArea.addHyperlinkListener(new HyperlinkListener()/if user clicked hyperlink,go to
15、 specified page public void hyperlinkUpdate(HyperlinkEvent event)if(event.getEventType()=HyperlinkEvent.EventType.ACTIVATED)getThePage(event.getURL().toString(););nHyperlinkEvent类中包含一个嵌套内部类EventType,此内部类声明的三个静态常量:nACTIVEDACTIVED(表示用户单击一个超链接以改变(表示用户单击一个超链接以改变WebWeb网页)网页)nENTEREDENTERED(表示用户把鼠标移到一个超链接
16、上)(表示用户把鼠标移到一个超链接上)nEXITED(EXITED(表示用户把鼠标移离一个超链接表示用户把鼠标移离一个超链接)。13.2.3 Web13.2.3 Web浏览器的设计浏览器的设计n例例13-313-3用用JavaJava的应用程序实现一个简单的的应用程序实现一个简单的WebWeb浏浏览器。览器。假定用户在窗体顶部的JTextField中输入google的Web地址后,将在JEditorPane中显示google的Web页面。用户单击其中一个超链接“高级搜索”,将显示超链接“高级搜索”的Web网页 13.2.4 URLConnection13.2.4 URLConnection类类
17、nURLConnectionURLConnection是一个抽象类,它提供了与是一个抽象类,它提供了与URLURL资资源的双向通信(读写操作)。源的双向通信(读写操作)。nURLConnectionURLConnection对象的构造对象的构造:通过调用通过调用URLURL对象的方法对象的方法:URLConnection openConnection()来得到一个来得到一个URLounechonURLounechon对象,但这并未建立与对象,但这并未建立与指定的指定的URLURL的连接,还必须调用的连接,还必须调用URLConnectionURLConnection对对象的象的connect(
18、)connect()方法建立连接。方法建立连接。13.2.4 URLConnection13.2.4 URLConnection类类nURLConnectionURLConnection对象的常用方法:对象的常用方法:void connect():void connect():打开到此打开到此 URL URL 引用的资源的通信链接。引用的资源的通信链接。int getContentLength()int getContentLength():获得文件的长度;:获得文件的长度;String getContentType()String getContentType():获得文件的类型;:获得文件
19、的类型;long getDate()long getDate():获得文件创建的时间;:获得文件创建的时间;long getLastModified()long getLastModified()/获得文件最后修改的时间;获得文件最后修改的时间;InputStream getInputStream()InputStream getInputStream():获得输入流,以便读:获得输入流,以便读取文件的数据;取文件的数据;OutputStream getOutputStream()OutputStream getOutputStream():获得输出流,以便:获得输出流,以便写文件。写文件。1
20、3.2.4 URLConnection13.2.4 URLConnection类类n例例13-4 13-4 从从WebWeb服务器上将服务器上将URLURL文件下载到本机,文件下载到本机,并将文件的信息显示到屏幕。并将文件的信息显示到屏幕。该程序运行后,将文件http:/:80/home/homepage.htm 下载到本机的当前文件夹下,并在屏幕上输出文件homepage.htm内容。13.3 13.3 基于流套接字的客户基于流套接字的客户/服务器通信服务器通信 n基于流套接字的数据传递方式:n在两个网络应用程序(服务器应用和客户机应用)之间发送和接收信息时,需要建立一个可靠的连接。nJav
21、a中与流套接字相关的类:nInetAddress对象描绘了32位或128位IP地址nServerSocket对象用在服务器应用中nSocket对象是建立网络连接时使用的 nInternet上通过IP地址或域名标识主机,而类InetAddress用来表示与Internet地址的相关的操作。nInetAddress类没有构造方法,要创建该类的实例对象,通过该类的静态方法获得该对象。13.3.1 InetAddress13.3.1 InetAddress类类 13.3.1 InetAddress13.3.1 InetAddress类类nInetAddress类的常用一组静态方法:InetAddres
22、s getLocalHost():获得本地机的 InetAddress对象。InetAddress getByName(Stung host):获得由host指定的InetAddress对象,host是计算机的域名。InetAddressgetAllmyName(String host):在Web中,可以用相同的名字代表一组计算机获得具有相同名字的一组InetAddress对象。13.3.1 InetAddress13.3.1 InetAddress类类nInetAddrss对象的常用一组方法:byte getAddress():得到IP地址;String getHostName():得到主机
展开阅读全文