Linux 版 (精华区)
发信人: tcpip (高级草包), 信区: Linux
标 题: 公报11-为 Linux 设置一个 Java 开发环境-2
发信站: 紫 丁 香 (Tue May 2 22:08:56 2000) WWW-POST
属性 窗
工具盒 初始已包括很多 bean 的例子, 你可加上你的bean来创建自己的可视编程环境。
用滑鼠在bean上按动来选择它。然后在 BeanBox 的某处按动。javaBean 就会出现,并且
它的属性会在属性窗中列出。然后你就可用属性窗来为你的应用程序来制作JavaBean。当
你加完了 Bean, 对 BeanBox 中的你的应用程序的外观满意后,你可用 BeanBox 窗中菜
单 File/Make applet 来生成applet并有相配的html文件的例子。
到此应该清楚的是 JavaBeans 提供了一种不用写一行代码的开发应用程序的方法。当然
你需要自己写 bean 但很多第三方的供应者制作 Bean, 并且因特网是寻找新的组件的好
地方。
JavaBeans 的一个特点是它们以 JAR 文件格式打包。这个格式比起java class文件有许
多优点,包括:
文件压缩 JAR文件可选择性地被压缩以便有效地储存和快速下载。
减少下载时间 整个 applet 可被捆绑在一个 JAR 文件中。这意味着用户的浏览器只需用
一次链接即可下载你的applet,而不是为你的applet所需的没一个类文件分别进行连接。
安全 JAR文件可数字签名。这使用户能够接受通常没有的软件安全权限。只要用户能够识
别你的签名。
JDK 1.2.x 所包括的另一个增加的功能是包的版本,包的封存和包的扩展。
安装
从 http://java.sun.com/beans 获取BDK
在一个子目录下把它打开, 例如 /usr/lib/BDK
可选择地给CLASSPATH增加一个新的类。例如 export CLASSPATH=$CLASSPATH:/usr/lib/B
DK/beanbox/classes
进入 demo 子目录并运行 "make -f GNUMakefile"
进入 demo/html 目录并用上面所述的方式把文件属性变为可执行的,试用一下
进入 beanbox 目录并运行"run.sh"
Swing
不是所有的 Java 应用程序都是一样的! 有些看起来比其它的好。Swing 提供了几项对
Java语言的扩充。即使你不需要 Swing 来开发和运行Java应用程序和 applet, 你可能也
需要它来编译和运行某些在因特网上免费可得的 Java 应用程序(例如 jedit)。
Java 基本类 (JFC, 已被包括在 Swing 包中 ), 配上 Swing, 提供了一套在各平台下都
可用的 "轻量级" 的组件。它们有效地提供了对 Java 语言的图形用户界面的 GUI 扩充
,可给你的应用程序提供许多外观感觉上的扩充。
上图是你运行swingset应用程序时的初始屏幕显示。这可用来示范Swing所提供的扩充。
通过选择一个类目,例如ListBox,你就可显示和变更各种不同的可选项,从而熟悉Swing
所能提供的效果。
我推荐用的可完全使用Swing的应用程序是 jedit, 它是一个非常漂亮的编辑器。它的全
部源代码都可得到。它适合编辑文本文件,Java源程序,Perl脚本,LaTeX文档等等。这
个编辑器支持插件(plug-ins),包括很多试用的样例供你初步使用。
安装
在你所选的目录下打开 Swing 包 (我建议用 1.1 版本)。例如 /usr/local/Swing
export SWING_HOME={SWING_HOME}
可选择地,
给 CLASSPATH 加上在 {SWING_HOME} 下的 .jar 文件和 src.zip。
这里的 {SWING_HOME} 是你打开 Swing 所在的目录。
Java 访问工具
实际上,有两个包: Java 访问 API 和 Java 访问工具。
Java访问 API 定义组成Java应用程序的各个用户界面单元,并提供访问Java 应用程序的
辅助技术间的约定。如果一个Java 应用程序完全支持Java访问 API, 那么它应该是与诸
如屏幕阅读器,屏幕放大器等辅助技术相兼容的。一个完全支持Java访问API的Java应用
程序,不再需要关闭屏幕模式,因为这个API已提供了一般关闭屏幕模式所包括的所有信
息。
为了提供对Java应用程序的访问,辅助技术所要求的比Java访问API更多:它要求对执行
API的对象的定位支持,也要求对装入Java虚拟机的支持,还要跟踪事件等等。Java访问
工具类提供这个辅助。
可能你从上面的屏幕显示可猜到,Java访问工具需要你安装好 Swing 包。
在这个包中提供了几个示例工具。上面所抓取的屏幕显示的是Java 监测器。它可让你获
得由Java虚拟机在屏幕上显示的对象的信息资料。此外还包括:
AWT 监测器 和 Java 监测器 一样,但不要求或支持 Java基本类。
浏览器 浏览器用Java访问工具检查Java虚拟机中的对象的访问信息。它让用户选择不同
的方法来选择要监测的对象:通过焦点,滑鼠,漏字符号位置,或者当指针指向一个对象
时按动F1键。一旦一个对象被选择来监测,浏览器通过调用在这个对象中的Java访问API
方法来显示结果。
猴子 就象一个猴子, 猴子在特定的Java虚拟机的元件树上"荡秋千",并以两种不同的方
式来表现组织结构。第一种是实际的组件组织结构,第二种是被当作访问对象的组织结构
。此外,如果用户在猴子中的树的节点上按动滑鼠右键,猴子将显示一个包括可对对象进
行操作的选项弹出菜单。
访问监测器 访问监测器是监测在虚拟机中所有非瞬间对象的所有可访问部分的变化。此
外,如果用户在访问监测器所提供的表中的事件上按鼠标器右键,访问监测器会给出一个
包括对相关对象进行操作的选项菜单。
链接器 链接器捕捉包含在鼠标器下的对象的可访问的超文本信息(用户按F1键), 在一个
表格中显示该对象中的可访问超链接的列表。选择其中一个链接并按动“激活所选链接”
,就会使得超文本对象跟随所选的链接(更新显示, 在对象上移动鼠标器并再按F1键)。
安装
这与在此提到的其它包的安装有点不同。因为所包括的不同的工具必须由你明确地打开。
当你启动任何一个Java应用程序时,通过下面的步骤,你也能够自动声明上面所提到到的
其中一个工具:
在你所选的目录下打开包。例如 /usr/local/jaccess
用上面所说的方法安装 Swing 包
给你的CLASSPATH 增加新的 jar 文件。例如 export CLASSPATH=$CLASSPATH:{jaccess_h
ome}/jaccess.jar:{jaccess_home}/jaccess-examples.jar
编辑 JDK_HOME/lib/awt.properties 文件,加上下面一行来选用 jaccess:
AWT.EventQueueClass=com.sun.java.accessibility.util.EventQueueMonitor
决定你要用哪些工具,在 awt.properties 文件中给每个要用的工具加上一行。例如,要
用JavaMonitor,加上这一行:
AWT.assistive_technologies=JavaMonitor
JSDK
Java Servlet API 是对Java程序开发工具箱的标准扩展。Servlet是运行在服务器内部,
用来扩展服务器功能的程序。例如,servlet可作为平台独立的程序来替代CGI脚本。支持
servlet的服务器回应客户端的请求。
上图示出了Java servlet最典型的使用。HTTP 服务器运行servlet,负责从HTML订单输入
表格中拿数据,并用公司规则来更新数据库。简单地说,java servlet 是服务器版的
java applet。由于服务器是在远程(从用户的角度看), servlet没有图形用户界面。
Servlet提供了一种写起来容易运行起来快的产生动态文本的方法。Servlet也用特定平台
的API来定位服务器端程序的问题。它们是用Java Servlet API开发出来的,是标准的
Java扩展。
因此可用 servlet 来处理 HTTP 客户端的请求。例如, servlet 的处理数据用HTML表格
通过HTTP被发送。包括购货订单或信用卡数据。servlet 可以是订单输入和处理系统的一
部分,用于生产和存货数据库,也可是一个在线支付系统。
servlet还有如下用途:
可做协调工作。servlet 可并行处理多项要求,并对各请求进行协调。这使得 servlet
可支持象在线会议这样的系统。
转发请求。 Servlet 可将请求转发给其它服务器和 servlet。这样,servlet可用来在有
相同内容的几个服务器间平衡负载,按照任务类型或结构分界来用几个服务器来分割单项
服务。
如果你使用 Apache 服务器,那么你可能对javapache 项目感兴趣。从
http://java.apache.org/ 可得到。要使用它,你需要用 1.1x 版的JDK, 并且必须用
2.0版的 JSDK。下个月我希望对这个项目做一个介绍。
JSDK 可从 http://java.sun.com/products/java-server/servlets 下载。请记得,如果
你用的是新的 1.2.x 版的 JDK,你不必下载这个包,因为它已包括了 JSDK。
安装
在你所选的位置打开 JSDK 包, (例如 /usr/lib/JSDK)
将 JSDK /bin 目录加入你的路径。最好的办法是在你的/etc/profile文件中放一行
export PATH=$PATH:/usr/lib/JSDK/bin
给你的 CLASSPATH 加上JSDK 类,例如:
export CLASSPATH=$CLASSPATH:/usr/lib/JSDK/lib/jsdk.jar
同样地,你可把这一行加到你的 /etc/profile 文件中。
文档
每个包都包括它自己的HTML格式的文档。然而, 由于你需要从 Blackdown.org 而不是从
Sun 公司获取JDK,关于 JDK 的文档会从包中失去。
Sun 公司为 1.1.x 和 1.2.x 版的 JDK 提供完整的文档。1.1.x 版的文档也用于 1.1.3
版。我想从那时起这个文档没有被更新过。
在 demo 子目录下你可找到很多例子。找一个启动java applet的 HTML 文件,用我上面
说过的方法把它变为可执行文件,你就可把它当作普通程序来运行。
docs 子目录包括完整的Java语言编程指南。这是Java 教材的进一步深入。
Java 教材
Sun公司有综合性的Java教材让你起步,加速你的Java编程。完整的教材和它的特定部分
都可下载得到:
包 格式 压缩 /
未压缩 下载地址
在线教材
(最后更新
12月21日) Zip 8.5 MB / 14.7 MB ftp://ftp.javasoft.com/docs/tutorial.zip
tar/compress 10.5 MB / 14.7 MB ftp://ftp.javasoft.com/docs/tutorial.tar.Z
tar/GNUzip 7.2 MB / 14.7 MB ftp://ftp.javasoft.com/docs/tutorial.tar.gz
教材例子
(最后更新
12月21日) Zip 2.9 MB / 4.4 MB ftp://ftp.javasoft.com/docs/tut-examples.zip
tar/compress 3.6 MB / 4.4 MB ftp://ftp.javasoft.com/docs/tut-examples.tar.Z
tar/GNUzip 2.5 MB / 4.4 MB ftp://ftp.javasoft.com/docs/tut-examples.tar.gz
JFC/Swing Trail
(最后更新
12月21日) Zip 2.8 MB / 4.6 MB ftp://ftp.javasoft.com/docs/tut-swing.zip
Servlets 书店例子
(最后更新
12月21日) Zip 18 KB / 51 KB ftp://ftp.javasoft.com/docs/tut-bookstore.zip
BINGO E
例子
(最后更新
12月21日) Zip 35 KB / 108 KB ftp://ftp.javasoft.com/docs/tut-bingo.zip
你也可用下面的地址在线阅读这些教材 http://java.sun.com/docs/books/tutorial.
请注意: 虽然你可自由地对上面的教材在当地网络或内联网上建立镜象,Sun公司要求你
不要把它们在因特网上发布。
Sun公司的 HotJava 浏览器
这是一个完全用Java写的网页浏览器。甚至是在 133Mhz 奔腾处理器上它都非常慢。它是
Linux下可运行Java applet的很少的几个浏览器中的一个。还有其它原因使得它很有趣。
HotJava高度模块化,用户界面很容易定制,还有Sun公司申明的它不会占用很多系统资源
。我发现实际上当我跑其它应用程序时,如果用它装载Java applet会死机。我想这都是
因为Sun公司对此没有说明。
Sun 公司申明这个浏览器可理想地用于各种设施 - 例如屏幕电话和桌面电脑。我所要说
的是,只有当这个浏览器能够更快一些 ( 在我的有32M内存的奔腾机上,大约要三分钟的
时间来启动和装入缺省屏幕显示), 能够更可靠一些,才能够用它用得多一些,除非你有
很快的电脑微处理器。
HotJava的核心是 HotJava HTML 组件。这是一个 JavaBean,它分析和呈递 HTML。它可
嵌入你自己的应用程序,包括新闻阅读器和微波炉 (是的,现在已有微波炉甚至是冰箱,
都可让你从因特网上访问), 可用它来显示信息。
HotJava 支持下列因特网标准:-
JDK 1.1
HTTP 1.1协议
HTML 3.2
表格和帧
FTP 和 Gopher 文件传输协议
小甜饼(Cookies)
GIF 和 JPEG 媒体格式
AU 声频格式
SMTP 和 MIME E-mail 协议
SOCKS 协议
SSL 3.0
Java 档案格式 (jar)
根据你的需要,也可得到下列包:
HotJava 浏览器源代码 (包括 HotJava HTML 组件)
HotJava 浏览器可执行文件
HotJava HTML 组件源代码
HotJava HTML 组件可执行文件
下个月
上个月我解释了怎样设置 Apache HTTP 服务器。下个月我打算把这两篇文章结合起来,
让你看看如何把javapache 扩展与 Apache 合并起来,从而你就可使用Java来创建动态
HTML网页和服务器端的应用程序来扩展你的网站。
在我以后的文章中,我将对可得到的Netscape插件做一个概要介绍,让你看看开发你自己
的插件是多么简单。同时,我欢迎你对我将来的文章进行评论和提出你的建议。
------------------------------------------------------------------------------
--
编辑的通告: 十月份的 Linux Journal 在线栏目,包括了与Java有关的两篇文章:
Java Servlets
Java 2 Software Development Kit
------------------------------------------------------------------------------
--
--
"这一千多年没写诗了?"
"写了, 不过只写了两句."
"千年得两句, 一定是万古丽句了. 念来听听."
"好吧, 我现丑了" 太白星清了清嗓子, 浑厚的男中音在天庭响起:
大海啊, 都是水;
骏马啊, 四条腿;
※ 来源:·紫 丁 香 bbs.hit.edu.cn·[FROM: freesrc.hit.edu]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.945毫秒