1 部署应用程序
1.本机
整个程序都在用户的计算机上以独立、可携的GUI执行,并以可执行的Jar来部署。
Executable Jar
2.两者之间的组合
应用程序被分散成在用户本地系统运行的客户端,连接到执行应用程序服务的服务器部分。
Web Start
RMI app
3.远程
整个应用程序都在服务器端执行,客户端通过非Java形式,可能是浏览器的装置来存取。
2 组织类
1.将源代码与类文件分离
把源代码存在source目录下,类输出存在classes目录下。
javac -d ../classes MyApp.java
2.把程序包进JAR
JAR就是Java ARchive。是个pkzip格式的文件。
(1)确定所有类文件都在classes目录下
(2)创建mainfest.txt来描述哪个类带有main()方法
Main-Class: MyApp
此行后面要有换行,不然可能会出错
(3)执行jar工具来创建带有所有类以及manifest的JAR文件
cd MiniProject/classes
%jar -cvmf manifest.txt app1.jar *.classes
或
%jar -cvmf manifest.txt app1.jar MyApp.classes
3.执行JAR
cd MyProject/classes
java -jar app1.jar
3 把类包进包中
用包防止类名称的冲突
防止包命名冲突
sun公司的建议是加上你的域的反向名称。
com.headfirstjava.projects.Chart
类名称的第一个字母要大写
1.选择包名称
包名称com.headfirstjava
类名称PackageExercise
完整名称com.headfirstjava.PackageExercise
2.在类中加入包指令
必须是程序源文件的第一个语句
package com.headfirstjava
3.设定相对应的目录结构
需要把PackageExercise源文件放在headfirstjava目录下
把headfirstjava放在com目录下
编译与执行包
加上-d(directory)选项来编译
只用建立源文件目录的包结构,加上-d会自动建立类文件目录的结构
//编译
cd MyProject/source
javac -d ../classes com/headfirstjava/BeatBox.java
或
javac -d ../classes com/headfirstjava/*.java
//执行
cd ../classes/
java com.headfirstjava.BeatBox
以包创建可执行的JAR
包的第一层必须是JAR的第一层目录
1.创建manifest.txt来描述哪个类带有main(),放在classes目录下。
Main-Class: com.headfirstjava.BeatBox
2.执行jar工具来创建带有目录结构与manifest的JAR文件
只需指定com就行。
cd ../classes/
jar -cvmf manifest.txt packEx.jar com
META-INF代表META Information。
4 Java Web Start
用户能够通过点击网页上某个连接来启动Java Web Start(JWS)应用程序。
一旦程序被下载之后,它就能独立于浏览器之外来运行。
Java Web Start的工作方式
1.客户端点击某个网页上JWS应用程序的链接。
<a href="MyApp.jnlp">Click</a>
2.Web服务器收到请求发出jnlp文件给客户端的浏览器。
3.浏览器启动Java Web Start helper app读取jnlp文件,然后向服务器请求MyApp.jar。
4.Web服务器发送jar文件
5.JWS取得JAR并调用main()来启动应用程序。
创建与部署Java Web Start的步骤
1.将程序制作成可执行的JAR
2.编写jnlp文件
3.把jnlp与JAR文件放在Web服务器
4.对Web服务器设定新的mime类型
application/x-java-jnlp-file
5.设定网页连接到jnlp文件