BeanShell简介
-------------------------------------------------------------------------------
简介:
BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法;
BeanShell是一种松散类型的脚本语言(这点和JS类似)
BeanShell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,
具有对象脚本语言特性,非常精简的解释器jar文件大小为175k。
BeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法。
官网:
BeanShell.org/
BeanShell 将成为Java平台上的第三种编程语言
-------------------------------------------------------------------------------
JCP 接纳了一个新的技术规范进入标准化进程,
这个编号为JSR-274的技术规范将把 BeanShell 引入为Java平台上支持的又一种编程语言。
(JSR, Original Java Specification Request)
JSR-274(jcp.org/en/jsr/detail?id=274)是由 Patrick Niemeyer 提交的技术规范,
其目标是将 BeanShell 脚本语言(beanshell.org/)
规范化为Java虚拟机平台上支持的第三种编程语言。
除了Java之外,Java虚拟机还支持Groovy脚本语言。
Doug Lea、Apache 和 Google 三个JCP执委会成员对此规范表示了支持。
按照
Java最初的
设计思路,有很多语言都可以在JVM上运行,详细
列表参见:
en.wikipedia.org/wiki/List_of_Java_scripting_languages
但这些语言大多没有流行起来。直到2004年为止,Java平台事实上只有一种编程语言,也就是Java。
2004年3月, Groovy(JSR-241)成为了Java平台上的第二种编程语言。
下载与安装
---------------------------------------
jar: beanshell.org/download.html
src: beanshell.org/developer.html
或使用SVN:
svn co ikayzo.org/svn/beanshell
doc: beanshell.org/docs.html
设置环境:
---------------------------------------
(1) 把bsh-xx.jar放到$JAVA_HOME/jre/lib/ext文件夹下(不推荐);
(2) UNIX: export CLASSPATH=$CLASSPATH:bsh-xx.jar(推荐)
(3) WINDOWS: set classpath %classpath%;bsh-xx.jar(推荐)
运行方式:
---------------------------------------
(1) 界面UI方式 : java bsh.Console
(2) 命令行方式 : java bsh.Interpreter
(3) 运行脚本文件: java bsh.Interpreter filename [args]
简单举例(WINDOWS):
---------------------------------------
设置好环境变量classpath, 打开dos或CMD窗口, 键入命令:
java bsh.Console
出现BeanShell的"Bsh Workspace"界面,表示设置成功,BeanShell开始运行;
在使用上面命令出现的控制台界面中进行下面的测试:
---------------------------------------
bsh % foo="Foo"; //定义变量foo
bsh % four=(2+2)*2/2; //定义变量four并初始化为(2+2)*2/2
bsh % print(foo+"="+four); //输出 Foo=4
Foo=4 //输出结果
bsh % for(i=
0;i<5;i++)print(i); //循环打印0~4
0
1
2
3
4
bsh % button = new JButton("MyButton"); //实例化一个Button对象
bsh % frame = new JFrame("MyFrame"); //实例化一个Frame对象
bsh % frame.getContentPane().add(button,"Center"); //将Button对象加入Frame对象的面板中;
bsh % frame.pack(); //打包
bsh % frame.setVisible(true); //设置Frame对象的可见性;回车后会弹出一个GUI界面;
bsh %
完整代码:
---------------------------------------
foo = "Foo";
four = (2 + 2)*2/2;
print( foo + " = " + four );
for (i=0; i<5; i++)
print(i);
button = new JButton( "My Button" );
frame = new JFrame( "My Frame" );
frame.getContentPane().add( button, "Center" );
frame.pack();
frame.setVisible(true);
在窗口中输入上面的代码, 敲回