预览加载中,请您耐心等待几秒...
在线预览结束,喜欢就下载吧,查找使用更方便
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第8章网络编程设计人机界面的目的是帮助用户与远端的服务器进行交互式对话,但在大多数情况下,实现这种对话需要Applet对服务器上的文件进行访问,或与服务器交换信息,所以要实现这种对话就离不开网络的支持。在Java中,也有网络编程。但是,出于安全性的考虑,Java中对Applet的访问权限有严格的控制。如果一台工作站运行另一台服务器上的Applet,那么这个Applet不经允许不以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作能访问工作站上的文件,除了那台服务器,Applet也不能访问其它机器上的文件,也就是说,在Applet中只能访问服务器中的文件。而在Application中就没有这样的限制。实际上,Java本身的用途是一种网络计算语言,编写Applet只是Java用途中的一种,真正复杂的Java程序是进行网络通信的Application。Java中的网络编程,我们分成网络资源的使用、Socket类和数据报三个部分来介绍?8.1网络资源的使用关于网络资源的编程主要有两方面,一个是在Applet中建立于其它URL的连接,另一个是对服务器上的文件进行操作。这两个方面需要使用几个重要的类AppletContext类、URL类和URLconnection类8.1.1URL类在Internet上的所有网络资源都是用URL(UniformResourceLocator)来表示的,URL类在Applet的网络编程中也是相对重要的,网络编程都以它为基础,其它两个类也要使用URL类。URL类的构造方法有四种。URL(String,String,int,String)构造一个URL类。第一个String类型的参数是协议的类型,可以是http,ftp,file等。第二个String类型参数是主机名,int类型参数是指定端口号,最后一个参数是给出文件名或路径名。URL(String,String,String)构造一个URL类。参数含义与上相同,使用缺省端口号。URL(URL,String)构造一个URL类。使用给出的URL和相对路径,String类型参数是相对路径。URL(String)使用URL字符串构造一个URL类。与以往介绍的其它类不同的是,在构造URL类时,必须有相应的异常处理(有关异常处理在第七章中将详细介绍)。因此应写成:StringECNU=“http://www.ecnu.edu.cn/”;try{url=newURL(ECNU);}catch(MalformedURLExceptione){……//出错处理}在构造完一个URL类后,可以使用URL类中的openStream方法与服务器上的文件建立一个流的连接,但是这个流是输入流(InputStream),只能读而不能写。(关于流的概念,在第六章有专门介绍)。8.1.2URLConnection类使用URL类中openConnection方法可以构造一个URLConnection类。这个类中包含了更丰富的方法,可以对服务器上的文件进行更多的处理。URLConnection类的构造方法是URLConnection(URL),可以构造一个对指定URL的连接对象。用URLConnection的构造方法来构造URLConnection类时,并未建立与指定URL的连接,所以还必须使用URLConnection类中的connect方法建立连接。而用URL类中的openConnection方法来构造时,已建立了连接,就不需要使用connect方法。8.1.3AppletContext类AppletContext类是一个接口类,Applet通过AppletContext接口与环境进行通讯。可以利用这个类从Applet环境获取信息,而这个环境一般是指浏览器。AppletContext类没有构造方法,但可以通过Applet类中的getAppletContext方法获取AppletContext接口.使用showStatus方法可以在浏览器的状态条中显示提示信息。使用showDocument方法可以通知浏览器在指定窗口中显示另一个URL的内容。比如要浏览器显示中国教育科研网总节点的主页,可以写成:Stringcernet=“http://www.cernet.edu.cn/”;try{url=newURL(cernet);}catch(MalformedURLE