好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第8章applet与Web编程课件.ppt

16页
  • 卖家[上传人]:我***
  • 文档编号:141073881
  • 上传时间:2020-08-04
  • 文档格式:PPT
  • 文档大小:318KB
  • / 16 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第八章applet与Web编程,本章详细讲述applet的原理、特性、安全机制以及编程方法,并讨论applet在web编程中的应用同时还介绍了web编程的一些有用知识8.1 Java applet基础,Java程序通常可分成应用程序(application)和小程序(applet)两大类应用程序是普通的Java程序,而applet小程序则是设计用来运行在intemet网上的程序 applet的运行必须依赖HTML文档当然applet也可在集成开发环境(IDE)下,如小程序查看器(applet viewer)中直接运行 applet是一种在internet网上传播的,自动安装的,作为Web页面的一部分运行的小应用程序学习和使用applet,可以使我们轻松地将Java用于网络编程,增加网页设计的功能,体会到internet的乐趣8.1.1 什么是applet,applet是最早的一种Java程序,它没有main方法,不能由解释器直接解释执行要运行applet,需要把它嵌入到Web页面当中当这个页面在浏览器上显示时,applet就在页面中指定的一部分区域内显示其运行结果 applet实际上是一个运行在网页中的Java窗体容器。

      如同在JFrame类中添加组件一样,可以用同样的方法在applet中添加组件,处理事件JApplet类有一个类似JFrame的面板,可以把组件添加到面板中,而不必直接加入到JApplet中 applet的继承层次结构 8.1.2 编写applet程序,编写applet 把applet放置到该网页中 在浏览器中运行 applet applet也可以显示在小程序查看器中,这是一个专门为运行applet而设计的程序如果使用NetBeans IDE等开发工具,那么applet会自动运行在小程序查看器中,就像运行普通的Java应用程序一样 如果要把applet放置到网页中,则需要创建一个HTML文档,并在HTML中嵌入这个applet来实现为此,需要使用标记将applet嵌入到网页中时,必须给出applet的.class文件名,设置applet的宽度和高度,宽度和高度以像素为单位 在internet上发布的一个applet程序之所以能够在用户本地计算机的浏览器上运行,是因为Web浏览器中的Java虚拟机运行了这个appletHelloWorldApplet.java import java.awt.*; import java.util.*; import javax.swing.*; public class HelloWorldApplet extends JApplet public void init() Container contentPane=getContentPane(); Date now=new Date(); String timenow=问候时刻:; timenow=timenow+ now.getHours()+时; timenow=timenow+ now.getMinutes()+分; timenow=timenow+ now.getMinutes()+秒; JLabel timeLabel=new JLabel(timenow,SwingConstants.CENTER); JLabel greetLabel= new JLabel(Hello World!,SwingConstants.CENTER); contentPane.add(greetLabel,Center); contentPane.add(timeLabel,South);// ,HelloWorldApplet.html Hello World 小程序演示 ,8.1.3 applet的生命周期,applet类提供四个方法:init、start、stop和destroy,它们构造了创建任何applet的框架,并实现了一个applet从诞生、启动、到停止、消亡的生命周期。

      init方法:当初始化applet时就要使用该方法 start方法:当JAVA调用init方法后会自动调用该方法而当用户从其他页面返回到包含applet的页面时候,该方法也会被调用这表示start方法会被调用多次,而init方法仅仅被调用一次正是因为这个原因那些仅仅被执行一次的代码应该放在init方法里,而不是start方法中 stop方法:该方法在用户离开包含applet的页面时会自动调用 destroy方法:仅仅在浏览器正常退出时,该方法会被调用8.2 applet在Web中的应用,applet利用了浏览器的资源丰富了Web应用当它被加载时,浏览器会根据HTML文本中的信息提供applet所要求的环境浏览器中的applet能显示图像,演奏声音等使用applet能够让Web页面表现出有趣的效果,大大增强Web页面的处理能力8.2.1 HTML与Web编程,,Web页面是用HTML语言编写的HTML是Hypertext Markup Language的简称,译做超文本标记语言在使用浏览器时,超文本的内容包含了链接(或者叫做超链接),点击这些链接时,浏览器将转向该链接指向的文档,这些文档通常称做页面。

      HTML是一种非常简单的语言,由一些标记(Tag)的集合组成可以把这些标记插入到文本文件中,从而使这些文档可以在Web浏览器中浏览 HTML标记有两种基本类型:标识一段文本开始和结束的标记以及标识文本位置的标记需要设置标识的内容放在开始和结束的标记中间:内容 在这些HTML标记中,专用于Java小程序的是标记,applet的有关信息就由这一标记引导的内容给出8.2.2 applet Web编程技巧,,applet可以处理图像和声音它处理的图像格式必须是GIF和JPEG,而声音文件必须是AU、AIFF、WAV或MIDI格式它还可以处理动画GIF,并且也能显示动画效果 applet作为Panel的子类,它也有事件响应和处理机制 applet可以通过通常URL来访问某些媒体文件而URL则是对Internet上某一资源的最常用的描述方式,它由资源类型、服务器地址、端口、路径组成 在Java语言中URL类封装了多个URL在URL构造函数中可以使用绝对URL,也可以使用相对URL创建URL实例时,需要处理MalformedURLException异常URL的组成部分,Internet资源类型:如 http:// ftp:// 服务器地址host:服务器域名 端口port:可选项 路径path:服务器上的某资源的位置 例如:http://www.liu-,多媒体小程序MultimediaDemo。

      显示GIF动画,并通过点击按钮发出声音,MultimediaDemo.java public class MultimediaDemo extends javax.swing.JApplet public void init() //获取媒体资源 getResource(); urlImg=getImage(imgurl);//加载图片 auBird=getAudioClip(auurl);//加载声音 //添加Swing组件 Container contentPane=getContentPane(); btn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) birdWhistle(); ); contentPane.add(new JLabel(飞 动 的 天 使,SwingConstants.CENTER),North); contentPane.add(btn,South); ,,public void paint(Graphics g) super.paint(g); g.drawImage(urlImg,20,20,this); private void birdWhistle() auBird.play(); private void getResource() try auurl=new URL(getCodeBase(),bird.au); imgurl=new URL(getCodeBase(),fly.gif); catch (MalformedURLException e) e.printStackTrace(); Image urlImg; AudioClip auBird ; JButton btn=new JButton(鸣叫); URL imgurl; URL auurl; ,MultimediaDemo.html, Applet多媒体演示页面 MultimediaDemo小程序 源代码参见Java程序设计大学教程示例程序:MultimediaDemo.java ,8.2.3 applet的安全机制,,applet的安全运行规则包括: applet不能运行任何本地可执行程序。

      除了与自己所在的服务器外,applet不能和其他主机通信这条规则保证applet不可能探测内部网络资源 applet不能对本地文件系统进行读写操作 除了使用的Java版本、操作系统的名字和版本、系统使用的特殊字符外,applet不能获取其他有关本地计算机的信息特别是,applet不能找到用户名,e-mail地址等等信息 applet的弹出式窗口都会带有一个警告信息 Java通过3个独立的机制来加强安全性:程序代码是在Java虚拟机中解释执行,而不是直接运行;安全管理器会检查Java运行库中的所有敏感操作,使之符合安全运行规则;applet可以通过签名技术来表明其来源8.3 把Java应用程序转换为applet,,Java应用程序转换成一个applet具体方法如下: 1、创建一个JApplet的派生类,而不是JFrame的派生类即把extends JFrame替换成extends JApplet 2、删除main方法applet中不需要 3、在创建类时使用不带参数的init方法init的内容可以和以前构造函数中的一样,但有些项需要删除例如super的调用因为方法init不是构造函数,所以无须调用super。

      浏览器会实例化对象并调用init方法进行初始化 4删除所有关闭窗体的方法因为applet没有窗体,它是在浏览器窗体中显示的这意味着要删除所有setDefaultCloseOperation方法的调用,以及窗体事件处理程序 5删除所有的setTitle方法的调用和setSize方法的调用applet的标题和大小由applet所嵌入的HTML文档决定 6、不使用show方法或setVisible方法,applet会自动显示 7、去掉不安全的操作,使之符合applet的安全运行规则,否则applet安全管理器都会抛出SecurityException异常 8、最后,创建一个HTML页面来装载编译好的applet类8.3 把Java应用程序转换为applet,,转换示例 : 去掉不安全的操作 简化设置操作 新建JApplet派生类替换原来的JFrame派生类,,,。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.