第10章网络与数据库编程基础.ppt
《第10章网络与数据库编程基础.ppt》由会员分享,可在线阅读,更多相关《第10章网络与数据库编程基础.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第1010章章 网络与数据库编程网络与数据库编程本章重点本章重点支持JAVA程序访问网上资源的类及其方法网络编程应用支持Java程序与数据库连接的类及其方法支持Java程序的数据表查询、数据记录修改和插入的类及其方法数据库编程应用更多优质自考资料尽在百度贴吧自考乐园俱乐部(http:/ 网络编程是指利用不同层次的通信协议提供的接口实现网络进程通信的编程网络编程中有两个主要的问题:(1)如何准确的定位网络上一台或多台主机如何准确的定位网络上一台或多台主机,(2)找到主机后如何可靠高效的进行数据传输)找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输
2、的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。31、网络基础知识、网络基础知识网络编程模型:客户机/服务器(C/S)结构 即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。网络进程:就是网点机(连入网络的计算机)上运行的程序。网络进程在通信协议中用端口(port)标识,而它驻
3、留的网点机则用其IP地址或域名来标识。通信协议指网络进程之间的通信必须遵循预定的规则。TCP/IP是一组在Internet网络上的不同计算机之间进行通信的协议的总称,它由应用层的HTTP、FTP、SMTP和传输层的TCP及网络层的IP等一系列协议组成。4TCP(传输控制协议)是面向连接的、可靠的点对点的传输协议。UDP(用户数据报协议)是无连接的不可可靠的传输协议。IP是网络层协议,实现按IP地址的网络路由的功能。IP地址:标识计算机等网络设备的网络地址,由四个8位的二进制数组成,中间以小数点分隔。如:166.111.136.3,166.111.52.80主机名(hostname):网络地址的
4、助记名,按照域名进行分级管理。如服务类型(service):网络的各种服务。如:web服务,ftp服务,smtp服务,Telnet服务等1、网络基础知识、网络基础知识51、网络基础知识、网络基础知识-TCP 通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送或接收操作。61、网络基础知识-UDP UDP是User Da
5、tagram Protocol的简称,是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。71、网络基础知识、网络基础知识-套接字套接字“套接字”或者“插座”(Socket)也是一种软件形式的抽象,用于表达两台机器间一个连接的“终端”。针对一个特定的连接,每台机器上都有一个“套接字”,可以想象它们之间有一条虚拟的“线缆”。线缆的每一端都插入一个“套接字”或者“插座”里。进程之间要实现通信首先要建立各自的套接字。在Java中,我们创建一个套接字,用它建立与其他机器
6、的连接。81、网络基础知识、网络基础知识-端口号端口号 l指TCP/IP协议中的端口,是逻辑意义上的概念。主机上每一个提供服务的程序都运行在该主机的一个对外开放的端口上。程序员可以在创建自己的服务程序时使用自定义的端口,通过这个端口号来连接服务进程以接收服务。如果把IP地址比作一间房子,端口就是出入这间房子的门。端口常以16位无符号整数编号(0-65535)保留端口(0-1023)和动态端口(1024-65535)一个端口与使用该端口的服务进程是对应的Java网络程序设计支持机制网络程序设计支持机制利用利用URL访问网络资源访问网络资源利用利用Socket通信通信支持支持Socket通信的类通
7、信的类网网 络络 Java网络应用系统网络应用系统支持支持URL的类的类10Java网络程序设计支持机制网络程序设计支持机制支持网络通信的类在支持网络通信的类在包中。包中。URL,URLConnection,Socket,ServerSocket,使用,使用TCP实现网络通信。实现网络通信。DatagramPacket,DatagramSocket,MulticastSocket 支持支持 UDP 通信方式。通信方式。InetAddress类URL类URLConnection类套接字类DatagramPacket类2 2、JavaJava网络基本类网络基本类 lSocket类、ServerSo
8、cket类lDatagramSocket类12lInetAddress类是描述是描述Internet地址的类。地址的类。l常用方法:常用方法:lUnknownHostException异常异常 2、Java网络基本类网络基本类-InetAddress类类lstatic InetAddress getLocalHost();返回本地主机。返回本地主机。lstatic InetAddress getByName(String host);在给定主机名的情况下确定主机的在给定主机名的情况下确定主机的 IP 地址。地址。lString getHostAddress();/获得获得IP地址地址lStri
9、ng getHostName();/获得主机名获得主机名13 2、Java网络基本类网络基本类-InetAddress类类 .*;importjava.io.*;publicclassGetLocalHostpublicstaticvoidmain(Stringargs)InetAddressmyIp=null;Stringip,hostname;trymyIp=InetAddress.getLocalHost();System.out.println(myIp);ip=myIp.getHostAddress();/获得获得IP地址地址System.out.println(ip);hostna
10、me=myIp.getHostName();/获得主机名获得主机名System.out.println(hostname);catch(UnknownHostExceptione)统一资源定位器URL URL(Uniform Resource Locator)是一致资源定位器的简称,它表示Internet上某一资源的地址。通过URL我们可以访问Internet上的各种网络资源,比如最常见的WWW,FTP站点。浏览器通过解析给定的URL可以在网络上查找相应的文件或其他资源。URL的组成 protocol:/resourceName 协议名(protocol)指明获取资源所使用的传输协议,如htt
11、p、ftp、gopher、file等 资源名(resourceName)则应该是资源的完整地址,包括主机名、端口号、文件 名或文件内部的一个引用。例如:http:/ http:/ 协议名:/机器名文件名 http:/:80/Gamelan/network.html#BOTTOM 协议名:/机器名端口号文件名内部引用 2、Java网络基本类网络基本类-URL类类 15创建一个URL 为了表示URL,中实现了类URL。可以通过下面的构造方法来初始化一个URL对象:(1)public URL(String spec);通过一个表示URL地址的字符串可以构造一个URL对象。URL urlBase=ne
12、w URL(“http:/ URL(URL context,String spec);通过基URL和相对URL构造一个URL对象。URL net263=new URL(“http:/ index263=new URL(net263,index.html)2、Java网络基本类网络基本类-URL类类 16(3)public URL(String protocol,String host,String file);new URL(http,/pages/G.html);(4)public URL(String protocol,String host,int port,String file);U
13、RL gamelan=new URL(http,80,Pages/Gwork.html);2、Java网络基本类网络基本类-URL类类 2、Java网络基本类网络基本类-URL类类 注意:注意:类URL的构造方法都声明抛弃非运行时例外(MalformedURLException),因此生成URL对象时,我们必须要对这一例外进行处理,通常是用try-catch语句进行捕获。格式如下:tryURL myURL=new URL()catch(MalformedURLException e)/exception handler code here182、Java网络基本类网络基本类-URL类类 一个U
14、RL对象生成后,其属性是不能被改变的,但是我们可以通过类URL所提供的方法来获取这些属性:public String getProtocol()获取该URL的协议名。public String getHost()获取该URL的主机名。public int getPort()获取该URL的端口号,如果没有设置端口,返回-1。public String getFile()获取该URL的文件名。public String getRef()获取该URL在文件中的相对位置。public String getQuery()获取该URL的查询信息。public String getPath()获取该URL的
15、路径public String getAuthority()获取该URL的权限信息public String getUserInfo()获得使用者的信息public String getRef()获得该URL的锚 192、Java网络基本类网络基本类-URL类类 1.import .*;2.import java.io.*;3.public class ParseURL 4.public static void main(String args)throws Exception 5.6.URL aURL=new URL(http:/:80/docs/books/7.+tutorial/inde
16、x.html#DOWNLOADING);8.System.out.println(protocol=+aURL.getProtocol();9.System.out.println(host=+aURL.getHost();10.System.out.println(filename=+aURL.getFile();11.System.out.println(port=+aURL.getPort();12.System.out.println(ref=+aURL.getRef();13.14.202、Java网络基本类网络基本类-URL类类 从从URL读取读取WWW网络资源网络资源 当我们得到
17、一个URL对象后,就可以通过它读取指定的WWW资源。这时我们将使用URL的方法openStream(),其定义为:InputStream openStream();方法openSteam()与指定的URL建立连接并返回InputStream类的对象以从这一连接中读取数据。1.public class URLReader 2.public static void main(String args)throws Exception 3./声明抛出所有例外声明抛出所有例外4.URL tirc=new URL(http:/ in=new BufferedReader(new InputStreamRe
18、ader(tirc.openStream();7./使用使用openStream得到一个输入流,并由此构建一个得到一个输入流,并由此构建一个BufferedReader对象对象8.String inputLine;9.File outfile=new File(test.html);10.PrintWriter out=new PrintWriter(new FileWriter(outfile);11.while(inputLine=in.readLine()!=null)12./从输入流中不断读取数据直到读完为止从输入流中不断读取数据直到读完为止13.out.println(inputLi
19、ne);/把读入的数据写入把读入的数据写入test.html14.15.in.close();/关闭输入流关闭输入流16.out.close();17.18.223、Java网络基本类网络基本类-URLConnetction类类通过URL的方法openStream(),我们只能从网络上读取数据,如果我们同时还想输出数据,例如向服务器端的CGI程序发送一些数据,我们必须先与URL建立连接,然后才能对其进行读写,这时就要用到类URLConnection了。类URLConnection也在包中定义,它表示Java程序和URL在网络上的通信连接。当与一个URL建立连接时,首先要在一个URL对象上通过方
20、法openConnection()生成对应的URLConnection对象。23下面的程序段首先生成一个指向地址http:/ URL zjut=new URL(http:/ tc=zjut.openConnection();catch(MalformedURLException e)/创建URL()对象失败 catch(IOException e)/openConnection()失败24类URLConnection提供了很多方法来设置或获取连接参数,程序设计时最常使用的是getInputStream()和getOurputStream(),其定义为:InputSteram getInputS
21、teram();OutputSteram getOutputStream();3、Java网络基本类网络基本类-URLConnetction类类25通过返回的输入通过返回的输入/输出流我们可以与远程对象进行通信输出流我们可以与远程对象进行通信URL url=new URL(“http:/ con=url.openConnection();/由URL对象获取URLConnection对象DataInputStream dis=new DataInputStream(con.getInputSteam();/由URLConnection获取输入流,并构造DataInputStream对PrintS
22、tream ps=new PrintSteam(con.getOutupSteam();/由URLConnection获取输出流,并构造PrintStream对象String line=dis.readLine();/从服务器读入一行ps.println(client);/向服务器写出字符串 client264、Socket和和ServerSocket类类客户套接字类(Socket)服务器套接字类(ServerSocket)27套接字类套接字类Socket1、Socket的四种构造方法(1)Socket(String host,int port)thows UnknownHostExcepti
23、on,IOException 创建一个面向连接的套接字对象,并将其连接至特定的主机(host)的特定端口(port)(2)Socket(String host,int port,boolean stream)创建一个套接字对象,并将其连接至特定的主机的特定端口上,此套接字对象是面向连接的还是数据报的,则由最后的一个参数决定(3)Socket(InetAddress address,int port)创建一个面向连接的套接字对象,并将其连接至特定IP的主机的特定端口(port)(4)Socket(InetAddress address,int port,boolean stream)创建一个套接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 网络 数据库 编程 基础
限制150内