网络与数据库编程基础经典教程

上传人:luobi****88888 文档编号:92925506 上传时间:2019-07-14 格式:PPT 页数:74 大小:167KB
返回 下载 相关 举报
网络与数据库编程基础经典教程_第1页
第1页 / 共74页
网络与数据库编程基础经典教程_第2页
第2页 / 共74页
网络与数据库编程基础经典教程_第3页
第3页 / 共74页
网络与数据库编程基础经典教程_第4页
第4页 / 共74页
网络与数据库编程基础经典教程_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《网络与数据库编程基础经典教程》由会员分享,可在线阅读,更多相关《网络与数据库编程基础经典教程(74页珍藏版)》请在金锄头文库上搜索。

1、第十章 网络与数据库编程基础,主要内容 支持Java程序访问网上资源的类及其方法。 支持Java程序与数据库连接、数据表查询、数据记录修改和插入的类及其方法。,重点 支持Java程序访问网上资源的类及其方法,网络编程应用。 支持Java程序与数据库连接、数据表查询、数据记录修改和插入的类及其方法,数据库编程应用。,难点 网络套接字、客户机端与服务器端实现通信的应用程序。 支持Java实现数据库编程的类,程序实现数据记录修改和插入的方法,数据库编程应用。,Java网络编程基础 IP地址和InetAddress类 1TCP/IP 协议和IP地址 通信双方必须遵守通讯协议。目前最广泛使用的是TCP/

2、IP 协议,它是Internet网中各方所遵循的公共协议。TCP(Transport Control Protocol)是一种传输控制协议,IP(Internet Protocol)是一种网际协议,TCP/IP 代表这两个协议的结合。 TCP/IP 分为四个层次:网络接口层,负责接收和发送物理帧;网络层,负责相邻节点之间的通信;传输层,负责起点到终点的通信;应用层,提供诸如文件传输、电子函件等应用程序。,TCP协议将任何网络信息传输当作信息流。例如,机器A上的一个长报文发送到机器B,发送端A需要将数据分片,把一片片数据分别打包发送。数据包有一个头,指明该数据包发往何处、包中数据在接收序列中所处

3、的位置。每个包都按照IP地址提供的目的地从一台机器传送到另一台机器,或从一个网络节点传送到另一个网络节点。在接收端B,这些数据包都能够按照正确的顺序重新组装起来。 TCPIP协议是一个协议族,由一组协议组成,主要包含以下更具体的协议: Telnet(Remote Login),远程登录,允许一台计算机用户可以登录到另一台远程计算机上,使远程操作如同在本地计算机上操作一样。 FTP(File Transfer Protocol),文件传输协议,允许用户将远程主机上的文件拷贝到自己的计算机上。,TCP/IP协议 是Internet网中各方所遵循的公共协议。 TCP(Transport Contro

4、l Protocol) 是一种传输控制协议。 IP(Internet Protocol) 是一种网际协议。 TCP/IP是协议族,TCP/IP可分为: 网络接口层 :负责接收和发送物理帧。 网络层 :负责相邻接点之间的通信。 传输层:责起点到终点的通信 应用层:提供诸如文件传输、电子函件等应用程序。,TCPIP协议族 Telnet(Remote Login) 提供远程登录功能,一台计算机用户可以登录到远程另一台计算机上,远程操作如同本地直接操作一样。 FTP(File Transfer Protocol) 远程文件传输协议,允许用户将远程主机上的文件拷贝到自己的计算机上。 SMTP(Simpl

5、e Mail transfer Protocol) 简单邮政传输协议,用于传输电子邮件。 NFS(Network File Server) 网络文件服务器,使多台计算机透明地访问彼此的目录。,3信息的发送和接收 发送和接收信息要获得流对象,并由流对象创建输入或输出数据流对象。然后,就可以用流的方法访问网上资源。 参见例10.2程序中的方法readByURL(),该方法说明已知网址读取网页内容的过程。方法利用网址参数创建一个URL对象url,接着利用对象url的openConnection()方法,获得URLConnection对象tc,用对象tc的connect()方法建立网络连接,接着获得网

6、络连接的InputStreamReader类对象in,将对象in转化成为BufferedRead对象dis,改为缓冲式输入。以后,用对象dis的readLine()方法完成读取网络文本数据。 如同本地数据流一样,网上资源使用结束后,数据流也应及时关闭。例如,代码 dis.close(); 关闭先前代码建立的流dis。,【例10.2】以数据流方式读取网页内容的应用程序。程序运行时,网址从文本框中读取。 import .*; import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; pub

7、lic class Example10_2 public static void main(String args) new DownNetFile(); ,class DownNetFile extends JFrame implements ActionListener JTextField inField = new JTextField(30); JTextArea showArea = new JTextArea(); JButton b = new JButton(“下载“); JPanel p = new JPanel(); DownNetFile() super(“读取网络文本

8、文件示意程序“); Container con = this.getContentPane(); p.add(inField); p.add(b); JScrollPane jsp = new JScrollPane(showArea); b.addActionListener(this); con.add(p,“North“); con.add(jsp, “Center“); setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); setSize(500, 400); setVisible(true); ,public void actionPerf

9、ormed(ActionEvent e) readByURL(inField.getText(); public void readByURL(String urlName) try URL url = new URL(urlName);/由网址创建URL对象 URLConnection tc = url.openConnection(); /获得URLConnection对象 tc.connect();/设置网络连接 InputStreamReader in = new InputStreamReader(tc.getInputStream(); BufferedReader dis = n

10、ew BufferedReader(in); /采用缓冲式输入 String inLine; while(inLine = dis.readLine() != null) showArea.append(inLine+“n“); ,dis.close();/网上资源使用结束后,数据流及时关闭 catch (MalformedURLException e) e.printStackTrace(); catch(IOException e) e.printStackTrace(); /*访问网上资源可能产生MalformedURLException和IOException异常*/ ,客户机/服务器

11、模式 网络应用模式主要有:主机/终端模式,集中计算,集中管理;客户机/服务器(Client/Server,简称C/S)模式,分布计算, 分布管理;浏览器/服务器模式,利用Internet跨平台。 WWW(万维网)就是建立在客户机/服务器模式上,以HTML语言和HTTP协议为基础,能够提供各种Internet服务的信息浏览系统。网络信息放在主机的不同位置,WWW服务器利用超文本链路链接各项信息。WWW客户机(浏览器Browser)负责与服务器建立联系,向服务器发送请求,处理HTML超媒体,提供图形用户界面(GUI),显示信息等。 在客户机/服务器工作模式中,在Server端,要准备接受多个Cli

12、ent端计算机的通信。为此,除用IP地址标识Internet上的计算机之外,另还引入端口号,用端口号标识正在Server端后台服务的线程。端口号与IP地址的组合称为网络套接字(socket)。,Java语言在实现C/S模式中,套接字分为两类:在Server端,ServerSocket类支持底层的网络通讯;在Client端,Socket类支持网络的底层通讯。 Server机通过端口(总线I/O 地址)提供面向Client 机的服务;Server机在它的几个不同端口分别同时提供几种不同的服务。Client接入Server的某一端口,通过这个端口提请Server机为其服务。规定:端口号0 1023

13、供系统专用。例如,HTTP 协议在端口80,telnet 协议在端口23。端口号1024 65535 供应用程序使用。 当Client程序和Server程序需要通信时,可以用Socket 类建立套接字连接。套接字连接可想象为一个电话呼叫:最初是Client程序建立呼叫,Server程序监听;呼叫完成后,任何一方都可以随时讲话。,双方实现通讯有流式socket和数据报式socket两种可选方式。 流式socket是有连接的通讯,即TCP(Transmission Control Protocol)。每次通讯前建立连接,通讯结束后断开连接。特点是可以保证传输的正确性、可靠性。 数据报式socket

14、是无连接的通讯,即UDP(User Datagram Protocol)。将欲传输的数据分成小包,直接上网发送。无需建立连接和拆除连接,速度快,但无可靠保证。 流式socket在Client程序和Server程序间建立连接通讯的通道。每个socket可以进行读和写两种操作。对于任一端,与对方的通信会话过程是: 建立socket连接,获得输入/输出流,读数据/写数据,通讯完成后关闭socket(拆除连接)。流式Socket的通讯过程见图10.1。,利用Socket的构造方法,可以在客户端建立到服务器的套接字对象: Socket(String host, int port),host是服务器的IP

15、地址,port是端口号,这些都是预先约定的。 try Socket mySocket = new Socket(“http:/“, 1860); catch(IOException e) 然后,用getInputStream()方法获得输入流,用这个输入流读取服务器放入“线路”的信息;用getOutputStream()方法获得输出流,用这个输出流将信息写入“线路”。 利用ServerSocket的构造方法,可以在服务器端建立接受客户套接字的服务器套接字对象: ServerSocket(int port),指定端口号,创建一个ServerSocket对象。端口号port要与客户呼叫的端口号相同

16、。 用以下形式代码: try ServerSocket serverSocket = new ServerSocket(1860); catch(IOException e) ,服务端程序在指定的端口监听,当收到Client程序发出的服务请求时,创建一个套接字对象与该端口对应的Client程序通讯。例如,执行上述建立服务器套接字对象的代码,确立了对象serverSocket后,就可对它使用accept()方法,得到Socket对象,接收Client程序来自套接字mySocket的信息。 代码: try Socket sc = serverSocket.accept(); /sc是一个Socket对象 catch(IOException e) 要撤消服务,关闭Socket对象sc: sc.close();,【例10.3】C/S模式中的Client端应用程序。这是一个Client端的流式S

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 数据库

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号