窗口与网络编程第1课oommttpptConvertor.docx
- 文档编号:17942136
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:17
- 大小:22.41KB
窗口与网络编程第1课oommttpptConvertor.docx
《窗口与网络编程第1课oommttpptConvertor.docx》由会员分享,可在线阅读,更多相关《窗口与网络编程第1课oommttpptConvertor.docx(17页珍藏版)》请在冰点文库上搜索。
窗口与网络编程第1课oommttpptConvertor
教学计划
JAVA程序设计
基本语法,
面向对象思想,
java类
WEB编程技术
JSP指令,
表单处理,
Servlet
JAVAEE企业开发技术
参考教材
1《Web编程技术——JSPXMLJavaEE》
丁跃潮主编;科学出版社。
2、《JavaEE企业级架构开发技术与案例教程》
杨树林胡洁萍;机械工业出版社
第一课主要内容
Java的历史与发展
Java语言概貌
Java开发工具
Java的程序结构
Applet与application
计算机语言发展史
第一代语言
打孔机——纯机器语言
第二代语言
汇编语言
第三代语言
C、Pascal、Fortran面向过程的语言
C++面向过程/对象
Java跨平台的纯面向对象的语言
.NET跨语言的平台
Java是什么
Java是面向对象的程序设计语言
Java是Internet上的世界语。
Java是最佳的网络应用开发语言。
Java是环境
Java是产业
Java已经逐步从一种单纯的计算机高级编程语言发展为一种重要的Internet平台,并进而引发、带动了Java产业的发展和壮大,成为当今计算机业界不可忽视的力量和重要的发展潮流与方向!
Java的历史与发展
名字的由来
Java的名称是来源于太平洋一个名为Java(中译爪哇)的小岛,该岛出产一种味道非常美妙的咖啡。
Java的发明者认为该计算机语言是非常好的东西,所以把他认为最好的名字给了她。
439。
Java的历史与发展
1996年1月,JDK1.0诞生
4月,10个最主要的操作系统供应商申明将在其产品中嵌入Java技术
9月,约8.3万个网页应用了Java技术来制作
1997年2月,JDK1.1发布
4月,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
9月,JavaDeveloperConnection社区成员超过十万
1998年2月,JDK1.1被下载超过2,000,000次
1998年12月,JAVA2企业平台J2EE发布
1999年6月,SUN公司发布Java的三个版本
标准版(J2SE)、企业版(J2EE)和微型版(J2ME)
Java的历史与发展
2000年5月,JDK1.3发布
2000年5月,JDK1.4发布
2001年9月,J2EE1.3发布
2002年2月,J2SE1.4发布
2004年9月,J2SE1.5发布
为了表示该版本的重要性,J2SE1.5更名为JavaSE5.0
2005年6月,SUN公司公开JavaSE6
2006年12月,SUN公司发布JRE6.0
2009年12月,SUN公司发布JavaEE6
Java语言技术架构
J2SE(Java2StandardEdition)标准版,提供了标准的SDK开发平台,利用该平台可以开发java桌面应用程序和低端的服务器应用程序,也可以开发applet程序。
J2EE(Java2EnterpriseEdition)企业版,为构建企业级的服务应用提供了开发和运行平台,包括了J2SE,并添加了附加类库。
J2ME(Java2MicroEdition)小型版,J2ME是一种很小的Java运行环境,用于嵌入式的消费产品中,如移动电话、掌上电脑和其他的无线设备等。
Java语言特点
Simple
Java语言与C++语言的风格极为相似,却比C++语言简单得多,Java去掉了C++语言中容易引发程序错误的非必要功能。
Object-Oriented
面向对象语言,四大特点:
封装、继承、多态和动态。
Distributed
丰富的网络编程功能,轻松处理TCP/IP,通过URL访问远地资源。
Robust:
异常处理,抛弃指针,实现废料的自动收集,静、动态安全检查,排除出现错误的条件。
易学,如操作符重载、多继承、自动的强制类型转换,去掉指针,自动内存管理
“面向对象程序设计语言”的核心之一就是开发者在设计软件的时候可以使用自定义的类型和关联操作,程序代码以类的形式组织,由类来定义对象的各种状态和行为。
为了简单起见,只支持类之间的单继承,但支持接口之间的多继承
支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(javanet),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等
取消指针,杜绝了对内存的非法访问
Java语言特点
Secure
安全机制,适用于网络/分布式运算环境,确保建立无病毒且不会被侵入的系统。
Interpreted
Java程序在Java平台上被编译为字节码格式,可以在实现这个Java平台的任何系统中运行。
Architecture-Neutral
字节代码:
平台无关性。
完全统一的语言版本:
实现无关性。
访问底层操作系统功能的扩展类库:
不依赖于具体系统。
Java应用程序能够在网络上任何地方执行,适用于异构的网络环境和软件分布式开发
Java语言特点
Portable
源自体系机构的中立性;Java系统本身具有很强的可移植性,Java程序可在配备了Java解释器和运行环境的任何机器上运行。
High-Performance
字节码—>目标代码,JustInTime编译器,运行速度接近C++。
Multi-Threaded
在语言级嵌入了对并发控制的功能:
多线程控制,在一个程序里可同时执行多个小任务。
Java提供的同步机制保证了对共享数据的正确操作。
Dynamic
Java的类是在运行时动态装载的,在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行,有利于软件的升级。
大大简化了多线程应用程序的开发,支持多任务。
Java语言的设计目标之一是适应于动态变化的环境,Java的基本组成单元是类
Java语言的特点
一种面向对象的语言
一种平台无关的语言,提供程序运行的解释环境
一种健壮的语言,吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如:
指针、内存的申请与释放等)。
JavaVS.C\C++
全局变量
Java:
不能在所有类之外定义全局变量,只能在一个类中定义公用、静态的变量以实现全局变量,对全局变量进行了更好的封装。
C\C++:
依赖不加封装的全局变量常常造成系统的崩溃。
goto
Java语言不支持C\C++语言中的goto语句,而是通过try、catch、finally等语句来代替C\C++语言中用goto处理的遇到错误时的跳转情况,使程序更可读且更结构化。
指针
Java语言对指针进行了完全的控制,程序员不能直接进行任何指针操作。
数组作为类在Java语言中实现,它很好地解决了数组访问越界这一C\C++语言中不作检查的错误。
指针是C\C++语言中最灵活,也是最容易产生错误的数据类型
JavaVS.C\C++
内存管理
在C语言中,程序员通过库函数malloc()和free()来分配和释放内存。
C++语言中,通过运算符new和delete来分配和释放内存。
Java语言中,所有的数据结构都是对象,通过运算符new为它们分配内存堆。
数据类型的支持
在C\C++语言中,对于不同的平台,编译器对于简单数据类型如int,float等分别分配不同长度的字节数
Java语言中,对于这些数据类型总是分配固定长度的位数,从而保证了Java语言的平台无关性。
头文件
C\C++语言用头文件来声明全局变量、库函数等,当系统比较庞大时,维护这些头文件很困难。
Java不支持头文件,Java语言中用import语句与其他类进行通信,以便使用它们的方法。
通过new得到对象的处理权,而实际分配给对象的内存可能随程序的运行而改变,Java运行系统对此自动进行管理并且进行垃圾收集,有效地防止了由于程序员的误操作而导致的错误,并且更好地利用了系统资源。
JavaVS.C\C++
类型转换
C\C++语言中,可以通过指针进行任意的类型转换,常常带来不安全性
Java语言中,运行时系统对对象的处理要进行类型相容性检查,以防止不安全的转换。
结构与联合
C\C++语言中的结构与联合中的所有成员均为公有,这就带来了安全性问题。
Java语言不包含结构与联合,所有的内容都封装在类中。
宏定义
C\C++语言用宏定义实现的代码给程序的可读性带来了困难。
Java语言不支持宏,它通过关键字final来声明一个常量,以实现宏定义中广泛使用的常量定义。
Java语言的特点
缺点
解释型语言,运行速度慢
语言标准有待进一步统一
缺乏稳定的编程环境
Java是什么
Java是面向对象的程序设计语言
Java是Internet上的世界语。
Java是最佳的网络应用开发语言。
Java是环境
Java是产业
Java已经逐步从一种单纯的计算机高级编程
语言发展为一种重要的Internet平台,并进
而引发、带动了Java产业的发展和壮大,成
为当今计算机业界不可忽视的力量和重要
的发展潮流与方向!
Java的工作方式
文件类型
.javaJava源文件
.class二进制字节码文件
编译过程
Java的工作方式
本地计算机系统
Java虚拟机(JVM)
.class二进制字节码文件
.javajava源程序文件
编译
Java的工作方式
Java虚拟机(JVM)
Java虚拟机类似于一个小巧而高效的CPU,以字节码为机器指令,Java处理器“芯片”,一般由软件实现。
Java虚拟机
编译型工作方式
解释型
工作方式
Java虚拟机
核心机制:
Java虚拟机可以理解成一个以字节码为机器指令的CPU。
对于不同的运行平台,有不同的虚拟机。
Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。
Java虚拟机
JVM提供以下定义:
指令集(Bytecodes是JVM的机器指令)。
寄存器组(用于保存机器的运行状态)
类文件格式
栈(局部变量区、执行环境区和操作数区)
垃圾回收“堆”(实现内存的动态分配和自动回收)
方法区域(是编译后的代码区域,包括方法代码、符号表等)
Java术语—JVM、JRE
JVM-javavirtualmachine
JVM虚拟机将java字节码程序翻译成机器语言。
然后由计算机执行。
JVM没有其他相关的文件。
JVM本身不足以支持javaapplication和applet的运行。
JRE-java运行环境
JRE是由JVM和javaplatform核心类以及相关支撑文件组成。
Java术语—API
Applicationprogramminginterface.
应用程序编程接口
API是rules(syntax):
在java技术中如何编程。
API包括数百个类—sun公司预先编好的代码,你可以在编程中充分利用它们的功能。
Java术语—JDK、J2SDK
JDK—javadeveloper’skit(java开发工具包)
JDK包含JVM和其他工具,以及所有的API和相关文件。
JDK是java技术的旧名(1999/11以前),JDK1.1是最后版本。
Java2—Java2Platform,J2SDK–java技术的新名称
SDK—SoftwareDevelopmentKit
Java开发工具
J2SDK系列(Sun)命令行方式
JBuilder(Borland)
VisualJ++(MicroSoft)
JavaStudio(Sun)
VisualAgeforJava(IBM)
Java语言应用
由于其跨平台的特点,可用于不同机型、不同操作系统计算机之间的数据交换和通信,完成协调控制、综合管理等功能
用于可视化图形软件和动画软件的设计
由于其具有良好的图形功能、可视化及可操作化等优点,可用于计算机交互软件的设计和开发
由于具有Applet功能,可很方便地将动画和各种信息嵌入到网页,为Internet网络用户设计生动活泼的带动画的主页提供了便利
Java程序的几种类型
Application
“Java应用”是可以独立运行的Java程序。
由Java解释器控制执行。
Applet
“Java小程序”不能独立运行,而是被嵌入到Web页中。
由与Java兼容的浏览器控制执行。
Client机
Browser
网页
字节码
Java程序的几种类型
Servlets
是用Java编写的服务器端小程序,与客户端的applet小程序对应。
是运行于Webserver上的、作为来自于Webbrowser或其他HTTPclient端的请求和在HTTPserver上的数据库及其他应用程序之间的中间层程序。
Servlets的工作是:
读入用户发来的数据(通常在web页的form中)
找出隐含在HTTP请求中的其他请求信息(如浏览器功能细节、
请求端主机名等)
产生结果(调用其他程序、访问数据库、直接计算结果)
格式化结果(网页)
设置HTTPresponse参数(如告诉浏览器返回文档格式)
将文档返回给客户端。
J2SDK实用程序
javac
Java编译器,将Java源程序编译成字节码。
java
Java解释器,直接从类文件执行Java应用程序,即application。
appletviewer
小程序浏览器,执行html文件中的Java小程序,即Applet。
JDK下载安装配置
下载jdk1.6版本
安装
配置path&classpath
Path=c:
\jdk\bin;
Classpath=c:
\jdk\lib;
自定义安装路径为C:
\jdk
Java源程序
HelloApplication.java
importjava.io.*;
publicclassHelloApplication
{
publicstaticvoidmain(Stringargs[])
{
for(intj=0;j<5;j++)
{
System.out.println(“Hello,JavaWorld!
”);
}
}
}
类声明与定义
类中的方法
语句结尾以分号标志
用大括号括起
语句组
Java语言规则
Java语言区分大小写
类名第一个字母大写PhoneCard
方法名第一个字母小写getBalance()
变量名第一个字母小写cardNumber
内含单词首字母大写
Application程序基本结构
由一个或多个“类”组成。
其中必须有一个“类”定义了main()方法,该方法是自动执行的类方法,是Java应用运行的起始点。
而这个类也就称之为“主类”。
编辑Java源文件。
如
HelloApplication.java
importjava.io.*;
publicclassHelloApplication{
publicstaticvoidmain(Stringargs[]){
System.out.println("Hello,Javaworld!
");
}
}
Application程序编译与执行
编译—javac
javacHelloApplication.java
产生HelloApplication.class文件
解释执行—java
javaHelloApplication(隐含.class文件)
Java程序文件
源文件名要与主类名同名(包括大小写)
一个类产生一个.class文件
applet小程序
applet程序中必须包含java.applet.Applet类的子类。
该子类就是applet小程序的主类。
系统类Applet中已经定义了很多的成员域和成员方法,它们规定了Applet小程序如何与执行它的解释器—
WWW浏览器配合工作;
主方法——被浏览器自动调用的方法。
init()
start()
stop()
destroy()
paint()
编写applet小程序就是根据需要重新编写这些方法
applet小程序
当applet的字节码文件下载后,浏览器首先创建Applet实例并调用从Applet类那里继承来的init()方法进行初始化工作,然后调用start()方法开始applet小程序的执行。
当用户离开小程序所在页面时,浏览器调用stop()方法停止小程序执行;当用户重新进入小程序页面时,就再调用start方法。
当用户退出浏览器时,浏览器调用destroy()方法并释放资源。
每当需要在Applet的界面中显示文字、图形和其他界面元素时,浏览器调用paint()方法重画界面。
applet小程序编译与执行
编辑Java源文件
HelloApplet.java
importjava.awt.Graphics;
importjava.applet.Applet;//将java.applet包中的
//系统类Applet引入本程序
publicclassHelloAppletextendsApplet{
publicvoidpaint(Graphicsg){
g.drawString(“Hello,JavaWorld!
”,10,20);
}
}
编译java小程序
javacHelloApplet.java
applet小程序编译与执行
建立index.html文件,嵌入HelloApplet.class
浏览html文件
使用appletviewer
appletviewerindex.html
使用常规的浏览器
Applet开发、执行模式
applet小程序编译与执行
Browser
240。
编译、运行程序
Application:
Applet:
D:
\>javacHelloApplication.java
D:
\>javaHelloApplication
Hello,JavaWorld!
D:
\>javacHelloApplet.java
D:
\>appletviewerindex.html
简单输出方法
字符界面(用于application)
System.out.println(“字符串”);
图形界面(在Applet中)
在paint()方法中
g.drawString(“字符串”,xInt,yInt);
注:
(xInt,yInt)为输出字符串的起始位置坐标,即x表示第一个字符的左边界,y表示
整个字符串的基准线位置坐标。
THEEND!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 窗口 网络 编程 oommttpptConvertor