一、部署的分类
- 本机:整个程序都在用户的计算机上以独立、可携的GUI运行,并以可执行的Jar来部署;
- 远程:整个应用程序都在服务器端执行,客户端通过非Java形式,可能是浏览器的装置来存取;
- 介于二者之间:应用程序分散成在用户本地系统运行的客户端,连接到执行应用程序服务的服务器部分。
二、Jar部署(本地)
- 源代码和类文件分离:.java放进sources目录,.class放进classes目录,命令行格式为
-d …/classes *.java:编译时会将编译后文件放入classes目录;包目录会自动创建 - 确定所有类文件(.class)都在classes目录下;
- 在classes目录下创建manifest.txt来描述带有入口的类,内容为 Main-Class: classname\n
- 执行jar工具来创建所有类以及带有manifest.txt文档的jar: jar -cvmf manifest.txt app1.jar *.class;
三、Java Web Start部署(介于两者之间)
- 原理:通过浏览器发布的Java应用程序;
- 过程:
a.客户端点击网页上JWS应用程序的链接(.jnlp);
b. Web服务器接收到请求发送.jnlp文件给客户端浏览器;
c. 浏览器启动JWS,JWS的helper app 读取.jnlp文件,然后向服务器请求jar文件;
d. Web服务器发送jar;
e.JWS取得jar并调用入口启动. - 创建与部署JWS:
a. 将程序制作成可执行的JAR;
b. 编写jnlp文件;
c. 把JAR和jnlp文件放进服务器;
d. 对服务器设定新的mime类型;
e. 设定网页连接到.jnlp文件。
四、远程部署的RMI
- 原理:客户端负责对对象方法的调用,服务器端负责方法的执行以及计算,返回结果;
- 远程过程调用设计:客户端、服务端、辅助设施
a.创建客户端和服务器应用程序;
b. 创建客户端和服务器端的辅助设备,处理低层次网络输入/输出细节; - 步骤:
a. 客户端对象对辅助设备对象调用doBigThing();
b. 客户端辅助设备把调用信息打包通过网络送达到服务器的辅助设备上;
c.服务器的辅助设备解析,然后调用真正的服务;
d.服务器辅助设备取得返回值后打包送还给客户端的辅助设备;
e.客户端的辅助设备解析传送给客户端对象。
824



被折叠的 条评论
为什么被折叠?



