资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,面向对象的程序设计,对外经济贸易大学 雷擎,面向对象的程序设计,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,面向对象的程序设计,对外经济贸易大学 雷擎,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,10,章,网络应用,对外经济贸易大学信息学院,content,10.1 网络编程根底,10.2 关于URI、URL,10.3 InetAddress类,10.4 套接字通信,10.5 数据报通信,10.6 数据库访问,10.1 网络编程根底,网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。,网络编程中有两个主要的问题,如何准确的定位网络上一台或多台主机,找到主机后如何可靠高效的进行数据传输。,TCP/IP模型,网络编程模型是C/S结构,Java提供的网络功能有四大类:URLs、InetAddress、Sockets、Datagram,URL面向的应用层,利用URL的表示和建立,Java程序可以直接读入网络上所放的数据,或把自己的数据传送到网络的另一端。,InetAddress面向的是IP层,用于标识网络上的硬件资源。,Sockets和Datagram面向的那么是传输层。,10.2,关于,URI,、,URL,URI,、,URL,和,URN,是识别、定位和命名互联网上的资源的标准途径,10.2.1 使用URI,URI是个纯粹的句法结构,用于指定标识Web资源的字符串的各个不同局部。,URL是URI的一个特例,它包含了定位Web资源的足够信息。,URI类的作用,解析标识符并将其分解成各个不同的组成局部,处理绝对标识符和相对标识符。,URI类支持根本的操作,URI类支持根本的操作,包括标准化normalize、分解resolution和相对化relativize。,URI类提供的方法,调用,以下方法,提取信息,getAuthority(),getFragment(),getHost(),getPath(),getPort(),getQuery(),getScheme()、,getSchemeSpecificPart(),getUserInfo(),10.2.2 使用URL,Java,提供了,URL,类,每一个,URL,对象都封装了资源标识符和协议处理程序。,使用URL(String url)建立一个URL对象,下面的代码片断演示了使用URL(String url)建立一个URL对象,该对象封装了一个简单的URL组件和 协议处理程序。URL url=new URL(:/uibe.edu);,URL类提供的方法,一旦拥有了URL对象,就可以使用,以下,方法提取各种组件,getAuthority(),getDefaultPort(),getFile(),getHost(),getPath(),getPort(),getProtocol(),getQuery(),getRef(),getUserInfo(),getDefaultPort(),10.2.3 URLConnetction,连接,WWW,类URLConnection在包中定义,它表示Java程序和URL在网络上的通信连接。,当与一个URL建立连接时,首先要在一个URL对象上通过方法openConnection()生成对应的URLConnection对象。如果连接过程失败,将产生IOException,。,10.3 InetAddress,类,类是,Java,的,IP,地址封装类,它不需要用户了解如何实现地址的细节。,在Java中分别用Inet4Address和 Inet6Address类来描述IPv4和IPv6的地址。这两个类都是InetAddress的子类。,10.4,套接字通信,Socket,是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以较为方便的编写网络上数据的传递。,在,Java,中,有专门的,Socket,类来处理用户的请求和响应。利用,Socket,类的方法,就可以实现两台计算机之间的通讯。,Socket,工作过程,一个功能齐全的Socket,都要包含以下根本结构,其工作过程 包含以下四个根本的步骤:,1.创立Socket;,2.翻开连接到Socket的输入/出流;,3.按照一定的协议对Socket进行读/写操作;,4.关闭Socket.,10.5,数据报通信,我们可以认为基于UDP协议的Socket类似于一个码头,该码头的作用就是负责发送、接收集装箱,一个数据报类似于一个集装箱。因此对于基于UDP协议的通信双方而言,没有所谓的客户端和效劳器端的概念。,Java中的DatagramSocket的作用类似于码头,而 DatagramPacket的作用类似于集装箱。,10.6,数据库访问,在,JDK,的基类中提供已经提供了建立连接、访问数据库的方法,而,JDBC,正是这些用于访问数据库的组件的统称。,JDBC,JDBC是Java DataBase Connectivity的缩写,由一些Java语言编写的类和接口Interface组成。,在java.sql包里提供了JDBC API,定义了访问数据库的接口和类。,JDBC已成为一种开发人员访问数据库使用的标准API。通过JDBC,开发人员可以用Java语言编写各种复杂的数据库应用程序。,Java,程序通过,JDBC,访问数据库,JDBC API,中重要的接口和类,Java使用JDBC访问数据库的操作,利用,JDBC,技术,,java,程序可以通过下面三个操作实现对数据库的访问和操作。,与数据库建立连接,向数据库系统发送,SQL,语句,将获得数据库系统返回的值或结果集,10.6.1 建立连接,通常,一个,JDBC,应用程序连接到目标数据源使用两种机制:采用,DriverManager,类和采用DataSource接口。,我们这个例子采用,DriverManager,类。,1加载驱动程序,通过,JDBC,与数据库建立连接之前,必须加载相对应数据库的,JDBC,驱动程序。调用方法,Class.forName(),可以显式地加载驱动程序。,Class.forName(com.mysql.jdbc.Driver);,2建立连接,可以使用,用,DriverManager,和,DataSource,两种方法。但多数情况下,我们让 DriverManager类管理建立连接的细节。,Connection con=DriverManager.getConnection(url,myLogin,myPassword);,发送SQL语句,在已经建立好一个连接并且,Connection,对象存在的情况下,,java,可以使用,Statement,语句来执行普通的,SQL,语句调用,Statement类型,Java的Statement有三种类型:,Statements接口:提供了执行语句和获取结果的根本方法,可以执行不带参数的 SQL语句。,PreparedStatement接口:从Statement接口中继承,添加了处理 IN 参数的方法,可以接受IN参数。SQL语句可以被预编译并且存储在PreparedStatement对象中,能使用此对象高效地屡次执行该语句。,CallableStatement接口:从PreparedStatement接口中继承,添加了处理 OUT 参数的方法,接受IN和OUT参数。主要用于执行数据库存储过程。,Statement,接口提供执行,SQL,的方法,Statement 接口提供了三种执行 SQL 语句的方法,使用哪一个方法由 SQL 语句所产生的内容决定。,executeQuery方法:用于产生单个结果集的语句,例如 SELECT 语句。,executeUpdate方法:用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL数据定义语言语句。,方法execute:用于执行返回多个结果集、多个更新计数或二者组合的语句。,使用Statement 接口的步骤,使用Statement 接口有4个步骤:,创立 Statement 对象,使用 Statement 对象执行语句,语句完成,关闭Statement 对象。,10.6.3 从结果集检索值,结果集ResultSet是数据库中查询时返回的结果对象,但是结果集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成对数据的更新等。,结果集分类,结果集可以分为四类,这四类的结果集所具备的特点完全取决于Statement语句的创立。,1根本ResultSet,2可滚动的ResultSet,3可更新的ResultSet,4.可保持的ResultSet,小结,9.1 Java图形技术介绍,9.2 Applet根底,9.3 图形设计根底,9.4 Swing容器和组件,End of Chapter 10,
展开阅读全文