1 / 13

第 23 讲 Java 高级编程(二)

第 23 讲 Java 高级编程(二). URL 编程. URL(Uniform Resource Locator) 是统一资源定位器的简称,它表示 Internet 上某一资源的地址。通过 URL 我们可以访问 Internet 上的各种网络资源,比如最常见的 WWW 和 FTP 站点。浏览器通过解析给定的 URL 可以在网络上查找相应的文件或其他资源。 一个 URL 包括两部分内容:协议名和资源名,中间用 “ : ” 分开,即 protocol:resourceName

makana
Download Presentation

第 23 讲 Java 高级编程(二)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第23讲 Java高级编程(二)

  2. URL 编程 • URL(Uniform Resource Locator)是统一资源定位器的简称,它表示Internet上某一资源的地址。通过URL我们可以访问Internet上的各种网络资源,比如最常见的WWW和FTP站点。浏览器通过解析给定的URL可以在网络上查找相应的文件或其他资源。 • 一个URL包括两部分内容:协议名和资源名,中间用“:”分开,即protocol:resourceName • 其中协议名(protocol)指明获取资源所使用的传输协议,如http、ftp、file等,资源名(resourceName)则应该是资源的完整地址,包括主机名、端口号、文件名或文件内部的一个引用。对于多数协议,其中的主机名和文件名是必须的,而端口号和文件内部的引用则是可选的,例如: • http://www.aqtc.edu.cn • http://www.5460.net • http://www.sina.com.cn/index.htm

  3. URL构造方法 1.public URL (String spec);   通过一个表示URL地址的字符串可以构造一个URL对象。 例如,URL url1=new URL("http://www.aqtc.edu.cn/") 2.public URL(URL context, String spec);   通过基URL和相对URL构造一个URL对象。   例如,URL url2=new URL ("http://www.5460.net/"); URL url3=new URL(url2, "index.html") 3.public URL(String protocol, String host, String file); 例如,new URL("http", "www.aqtc.edu.cn", "/index.htm") 4.public URL(String protocol, String host, int port, String file); 例如,URL lib=new URL("http", "www.aqtc.edu.cn", 80, "library/library.htm"); • 类URL的构造方法都要声明抛弃非运行时异常(MalformedURLException),因此生成URL对象时,我们必须要对这一异常进行处理,通常是用try-catch语句进行捕获。

  4. URL常用的方法及其功能 • public String getProtocol() //获取该URL的协议名。缩进四格,   public String getHost() //获取该URL的主机名。 • public int getPort() //获取该URL的端口号,若没有设置端口,返回-1。 • public int getDefaultPort() //获取默认的端口号。 • public String getFile() //获取该URL的文件名。 • public String getRef() //获取该URL在文件中的相对位置。 • public String getQuery() //获取该URL的查询信息。 • public String getPath() //获取该URL的路径。 • public String getAuthority() //获取该URL的权限信息。 • public String getUserInfo() //获得使用者的信息。 • public String getRef() //获得该URL中的HTML文档标记。 • public String toString() //获得完整的URL字符串。

  5. 套接字(Socket)编程 • 在Java环境下,Socket编程主要是指基于TCP/IP协议的网络编程。TCP是面向连接的可靠数据传输协议,它重发一切没有收到的数据,并进行数据准确性检查。IP协议是面向无连接的数据包通信,它具有数据包路由选择和差错控制功能,但是它不进行正确检验。 • Socket工作过程包含以下四个基本的步骤: 1.创建Socket; 2.打开连接到Socket的输入流和输出流; 3.按照一定的协议对Socket进行读/写操作; 4.关闭Socket。

  6. 基于无连接的数据报(UDP)通信 • UDP是一个无连接、发送独立数据包的协议。不可靠的协议,不提供可靠性保证。但是有时人们需要快速传输信息,并能容忍小的错误,就可以考虑使用UDP协议。 • DatagramPacket类和DatagramSocket类是Java用来实现无连接的数据报通信的。其中DatagramPacket类负责读取数据等信息,它的主要构造方法为: (1)public DatagramPacket(byte buf[],int length); (2)public DatagramPacket(byte buf[],int length,InetAddress add,int port); • DatagramSocket类则负责数据报的发送与接收,它主要构造方法有: (1)public DatagramSocket(); (2)public DatagramSocket(int port);

  7. UDP的编程实现过程 • UDP编程包括数据报的发送和接收过程。数据报的发送过程可描述如下: (1)创建一个DatagramPacket对象,其中包含要发送的数据,数据分组长度,以及目标主机的IP地址和端口号。 (2)在指定的本机端口创建DatagramSocket对象。 (3)调用DatagramSocket对象的send()方法,以DatagramPacket对象为参数发送数据报。 • 数据报的接收过程可以描述为: (1)创建一个用于接收数据报的DatagramPacket对象,其中包含空数据缓冲区和指定数据报分组长度。 (2)在指定的本地端口好创建DatagramSocket对象。 (3)调用DatagramSocket对象的receive()方法,以DatagramPacket对象为参数接收数据报,接收到的信息包括数据报内容,发送端的IP地址,以及发送端主机的发送端口号。

  8. 建立与数据库的连接 • 在建立与数据库系统的连接时,首先要使用JDBC加载驱动程序。JDBC使用Class类的forName()方法指明加载哪个数据库系统的JDBC驱动程序。forName()方法的参数为代表各数据库系统的一个字符串,各个数据库系统的写法各不相同,例如MySQL数据库系统写为“org.git.mm.mysql,Driver”,Oracle写为“oracle.jdbc.driver,OracleDriver”,JDBC-ODBC Bridge的数据库系统的写法为“sun.jdbc.odbc.JdbcOdbcDriver”。在正确加载JDBC驱动程序后,使用DriverManager.getConnection()方法连接数据库,该方法可有3个参数,第一个是JDBC URL,后两个分别是数据库系统的用户名和密码,指定以什么身份连接数据库。 • JDBC URL是唯一确定数据库的命名方式,以便Java程序定位数据库实现连接,由数据库系统的生产厂商确定,即由JDBC驱动程序提供商确定。各驱动程序提供商并没有一个严格的JDBC URL命名标准,但在一定程度上还是有其必须遵循的规范。

  9. JDBC URL • JDBC URL的标准格式如下所示,它由三部分组成,各部分之间用冒号分隔。 • jdbc:<子协议>:<数据库标识> • 其中“:”是必须的。jdbc是总协议,是固定的。子协议是使用驱动程序或者数据库的名称。例如JDBC-ODBC的子协议为“odbc”。但是子协议不唯一,例如Oracle的纯Java驱动程序的子协议不一定是“oracle”。 • 注意,Java是大小写敏感的,JDBC URL中的协议部分所有字符必须是小写的。 • 数据库标识的一般格式如下: //<服务器名>:<端口号>/<数据库名> • 其中<服务器名>用于指定连接数据库所在的服务器,可以是服务器的机器名,也可以是IP地址。当客户端和服务器是同一台机器时,服务器名可以写成 “localhost”或者 “127.0.0.1”。“:”后的端口号,是可选的。如果没有标明端口号,将使用数据库系统的默认端口号。

  10. 建立连接 • 在创建完数据源后,就可以建立与数据库data.mdb的连接。下面代码是通常情况下用驱动程序建立连接所需所有步骤的示例: • Class.forName(“sun.jdbc.odbc:OdbcOdbcDriver”); • String url= “jdbc:odbc:data”; • DriverManager.getConnection(url);

  11. 访问数据库 • 与数据库建立连接后,可以实现数据库的访问。访问数据库是数据库应用最根本的目的,而访问数据库最基本的问题有两个, • 第一,如何通过SQL语句来访问数据库; • 第二,如何接收从数据库返回的结果。JDBC通过接口Statement和接口ResultSet来实现数据库的访问,它们都在系统包java.sql中。

  12. 编写一个程序将Access数据库文件中的记录打印出来编写一个程序将Access数据库文件中的记录打印出来 import java.sql.*; public class Ex12-6{ public static void main(String args[]){ try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn = DriverManager.getConnection("jdbc:odbc:mydatabase"); Statement stmt = conn.createStatement(); String sql = "SELECT name,phone FROM fam"; ResultSet resultSet = stmt.executeQuery(sql); String name, phone; while ( resultSet.next() ) { name = resultSet.getString(1).trim(); phone = resultSet.getString(2).trim(); System.out.println( name + ", " + phone ); } }catch ( Exception e ){ e.printStackTrace(); } } }

  13. 本章小结 • Java提供了强大的编程功能,如多线程程序设计,网络程序设计和数据库编程。 • Java语言的一个重要特性就是内置对多线程的支持,程序员可以应用Java开发出具有多线程、同时处理多个任务的应用程序。 • 多线程程序设计主要介绍了多线程的概念、多线程的实现和多线程的同步与控制。 • Java网络编程主要介绍基于URL的高层Java网络编程和基于Socket的低层Java网络编程与基于UDP的Java网络编程,以及基于无连接的数据报通信编程。 • Java数据库编程主要介绍JDBC概念、与数据库的连接,以及对数据库的访问。

More Related