- 浏览: 386131 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (314)
- java (132)
- 生活 (13)
- javase模式 (6)
- weblogic (4)
- jquery (5)
- sql (21)
- ecside (1)
- el (3)
- css (5)
- spring (7)
- ireport (2)
- linux (14)
- struts2 (2)
- jstl (1)
- rmi (1)
- rose (9)
- js (6)
- swing (4)
- webservice (1)
- jboss (1)
- ejb3 (2)
- xml (1)
- 线程 (9)
- socket (3)
- jms (2)
- tomcat (10)
- 领域驱动 (3)
- json (3)
- 权限 (2)
- jvm (1)
- 书籍 (1)
- eclipse RCP (0)
- 数据库设计 (10)
- 软件分析建模 (5)
- 分析建模 (3)
- hibernate jpa (5)
- Java 获取系统信息,包括CPU使用率、硬盘大小、网卡状态、系统信息等 (1)
- 项目管理 (2)
- 财务 (0)
- oracle (2)
- 需求 (2)
- rcp gef (0)
- c++ (1)
- hadoop (2)
- BIGDATA (3)
- c (6)
最新评论
-
lh_kevin:
...
jpa 注解 -
一别梦心:
你好,我也遇到此问题了。就你贴的那段代码,你说了两种解决方式, ...
Hibernate的Antlr在Weblogic中产生Jar冲突的历史缘故以及解决办法 -
fireinjava:
...
el表达式 -
宋建勇:
...
JSON: property "xxx" has no getter method in class "..." -
handawei:
有道理,jpa是orm框架的java标准,它关注的是对象到关系 ...
jpa 注解
package cn.itcast.js; import java.io.File; import java.io.FileNotFoundException; import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; /** * @author handw * @version 创建时间:2009-10-20 上午09:49:31 * 类说明:JDK1.6加入了对Script(JSR223)的支持。这是一个脚本框架,提供了让脚本语言来访问Java内部的方法。你可以在运行的时候找到脚本引擎,然后调用这个引擎去执行脚本。这个脚本API允许你为脚本语言提供Java支持。另外,Web Scripting Framework允许脚本代码在任何的Servlet容器(例如Tomcat)中生成Web内容。 * */ public class JdkJs { /** * @author handw * @time 2009-10-20上午09:49:31 * @param args * @throws Exception */ public static void main(String[] args) throws Exception { // TODO Auto-generated method stub //JdkJs.test1(); //-------------------------- ScriptEngineManager mgr = new ScriptEngineManager(); ScriptEngine engine = mgr.getEngineByExtension("js"); //------------------------------- //JdkJs.testUsingJDKClasses(engine); //-------------------------- JdkJs.testScriptInterface(engine); } /** * 关于ScriptEngine和ScriptEngineManager的使用: * 超做js首先需要ScriptEngine * 在jdk中可以用3中方式获得: * @author handw * @throws ScriptException * @throws FileNotFoundException * @throws NoSuchMethodException * @time 2009-10-20上午09:51:06 */ public static void test1() throws FileNotFoundException, ScriptException, NoSuchMethodException { ScriptEngineManager mgr = new ScriptEngineManager(); ScriptEngine engine = mgr.getEngineByExtension("js"); // mgr.getEngineByExtension(String extension) //getEngineByExtension可用参数:js // mgr.getEngineByMimeType(String mimeType) // getEngineByMimeType可用参数:application/javascript;application/ecmascript;text/javascript;text/ecmascript; // mgr.getEngineByName(String shortName) //getEngineByName可用参数:js;rhino;JavaScript;javascript;ECMAScript--js和javascript是它的扩展; //具体解析js可以是加载js文件或者js 脚本字符串: //例如夹在js文件: String jsfile=""; //engine.eval(new FileReader(jsfile)); //或者 String jsstring=""; //engine.eval(jsstring); // 解析js需要Invocable 类:首先ScriptEngine 记载js文件或者字符串(如上): // 然后转化为Invocable 就可以用来执行我们的js函数: // eg: engine.eval("function test(){return 'this is test js in java'}"); Invocable inv = (Invocable) engine; String value = String.valueOf(inv.invokeFunction("test")); System.out.println(value); } /** * 演示脚本语言如何使用JDK平台下的类,调用一个JDK平台的Swing窗口 * @param engine ScriptEngine实例 * @return void * */ private static void testUsingJDKClasses(ScriptEngine engine) throws Exception { // Packages是脚本语言里的一个全局变量,专用于访问JDK的package String js = "function doSwing(t){var f=new Packages.javax.swing.JFrame(t);f.setSize(400,300);f.setVisible(true);}"; engine.eval(js); // Invocable 接口: 允许java平台调用脚本程序中的函数或方法 Invocable inv = (Invocable) engine; // invokeFunction()中的第一个参数就是被调用的脚本程序中的函数,第二个参数是传递给被调用函数的参数; inv.invokeFunction("doSwing", "Scripting Swing"); } /** * 演示脚本语言如何实现Java的接口,启动线程来运行script提供的方法 * * @param engine ScriptEngine实例 * @return void * */ private static void testScriptInterface(ScriptEngine engine) throws ScriptException { String script = "var obj = new Object(); obj.run = function() { println('run method called'); }"; engine.eval(script); Object obj = engine.get("obj"); Invocable inv = (Invocable) engine; Runnable r = inv.getInterface(obj, Runnable.class); Thread th = new Thread(r); th.start(); } /** * 演示如何在Java中调用脚本语言的方法,通过JDK平台给script的方法中的形参赋值 * * @param engine ScriptEngine实例 * @return void * */ private static void testInvokeScriptMethod(ScriptEngine engine) throws Exception { String script = "function helloFunction(name) { return 'Hello everybody,' + name;}"; engine.eval(script); Invocable inv = (Invocable) engine; String res = (String) inv.invokeFunction("helloFunction", "Scripting"); System.out.println("res:" + res); } /** * 演示如何暴露Java对象为脚本语言的全局变量,同时演示将File实例赋给脚本语言,并通过脚本语言取得它的各种属性值 * * @param engine ScriptEngine实例 * @return void * */ private static void testScriptVariables(ScriptEngine engine) throws ScriptException { File file = new File("test.txt"); engine.put("f", file); engine.eval("println('Total Space:'+f.getTotalSpace())"); engine.eval("println('Path:'+f.getPath())"); } }
文章出处:http://sharong.iteye.com/blog/474476
感谢吃西红柿的人。
发表评论
-
字符串,Volatile
2013-03-18 12:01 1121转载:http://www.ibm.com/de ... -
qian rushi
2012-12-01 10:13 0唐攀,华清远见高级研 ... -
110道 C语言 题目 超经典中的经典
2012-10-21 08:57 0... -
LOG4J
2012-08-07 10:34 1036long4j配置 转载:http://www.iteye. ... -
jpa 注解
2011-12-20 09:23 11821转:http://blog.csdn.net/gdweijin ... -
jna
2011-11-29 17:28 1525... -
eclipse设置
2011-11-16 08:45 864转:http://www.iteye.com/topic/11 ... -
深入分析 Java I/O 的工作机制
2011-11-14 08:57 888... -
java获得计算机信息
2011-10-29 13:03 1366采用singar.jar实现,需要将sigar-x86-win ... -
java内存机制
2011-10-24 13:01 1278转. Java内存机制详解 Ja ... -
缓存技术
2011-09-27 13:28 814一个培训的ppt,是介绍缓存知识的。有兴趣的可以参考:缓存技术 ... -
单点登录
2011-09-26 08:37 1596了解单点登录:: 可以使 ... -
继承和组合的关系
2011-08-18 09:17 904个人工作的感触: 首先框架的编写是难度很大,而工具 ... -
导入导出,创建databaselink
2011-08-10 15:56 2126pl/sql导出表结构和表 ... -
小结一下
2011-08-04 10:20 862觉得程序层面上是:数据类型(int long string) ... -
分析建模
2011-07-17 20:13 866系统建模与分析。 -
Java浮点数的精确计算
2011-06-27 16:10 988... -
异常系统
2011-05-31 17:19 707http://www.iteye.com/topic/7217 ... -
权限管理
2011-01-27 09:30 1331... -
jvisualvm
2011-01-11 21:09 907可以查看远程 本地的jvm 有两种方式 jmx jstatd ...
相关推荐
- **改进的脚本支持**:添加了对JavaScript和其他脚本语言的支持。 **3. 安装与配置** - **下载**:从Oracle官网或其他可信源下载JDK 1.6的安装文件,如"jdk1.6.exe"。 - **安装**:双击执行安装文件,按照向导步骤...
5. **脚本引擎支持**:通过`javax.script`包支持脚本语言的嵌入式执行,方便开发者编写混合Java和其他脚本语言的应用程序。 ### 三、JDK1.6的下载与安装 #### 下载方式 - **官方渠道**:通常推荐从Oracle官方网站...
- **JSR 292**:支持动态语言,引入了invokedynamic指令,使得Java平台更适合脚本语言。 总的来说,JDK1.6是Java开发的重要里程碑,虽然现在已经有了更新的版本,但对于某些老项目或者特定环境,JDK1.6仍然是必要的...
7. **Scripting API**:通过`javax.script`包,Java 1.6开始支持脚本语言,如JavaScript,Rhino等,增强了Java的脚本引擎支持。 8. **改进的JMX(Java Management Extensions)**:提供了一套用于管理系统资源的...
7. **Scripting API**:JDK1.6引入了JSR 223,即脚本引擎API,允许开发者在Java程序中嵌入并执行JavaScript和其他脚本语言。 8. **XML处理**:JAXB(Java Architecture for XML Binding)和StAX(Streaming API for...
6. **脚本引擎支持**:JDK1.6开始支持JavaScript和其他脚本语言,通过JSR 223规范,可以在Java程序中嵌入和执行脚本代码。 7. **改进的垃圾收集器**:包括并行GC、CMS(Concurrent Mark Sweep)和G1(Garbage-First...
6. **Scripting API**:JSR 223引入了脚本引擎支持,允许在Java应用中执行JavaScript和其他脚本语言。 7. **改进的日志框架**:JDK 1.6的日志API进行了改进,提供了更强大的日志处理能力,可以方便地配置和管理日志...
7. **增强的脚本引擎**:JDK 1.6添加了对JavaScript(Rhino引擎)和其他脚本语言的支持,增强了Java平台的脚本编程能力。 8. **安全增强**:包括证书链验证的改进,增强了网络和应用程序的安全性。 9. **JMX (Java...
6. **改进的内存管理**:JVM在1.6版本中对垃圾收集进行了优化,如使用CMS(Concurrent Mark Sweep)收集器,减少了STW(Stop-the-World)时间,提升了应用响应速度。 7. **国际化改进**:增强了对多种语言和地区的...
- **动态语言支持**:JDK 1.6开始引入JSR 223(Scripting for the Java Platform),允许Java程序直接调用脚本语言,增强了Java的灵活性。 - **JDBC增强**:JDBC 4.0引入了自动连接管理和新的数据库元数据API,简化...
2. 动态语言支持:通过JSR 223,JDK 1.6增加了对动态语言的支持,允许Java平台更方便地运行脚本语言。 3. JAXB 2.1:提供了XML到Java对象的绑定,简化了XML处理。 4. NIO.2:引入了新的文件系统API,提供了异步I/O...
这个压缩包文件"jdk1.6-bin.zip"包含了JDK 1.6版本的二进制文件,适用于Linux操作系统,特别是64位系统。JDK 1.6,也被称为Java SE(标准版)6,发布于2006年,它在Java平台上具有里程碑式的意义,引入了许多新特性...
9. **脚本引擎支持:** JDK 1.6开始支持内置的JavaScript引擎Rhino,允许在Java应用程序中直接执行JavaScript代码。 10. **Javadoc和源码可用:** JDK 1.6包含了Javadoc文档和源码,便于开发者理解和学习。 虽然...
这一版本引入了许多新特性,如改进的动态代理、增强的Swing组件、新的脚本引擎支持以及对XML处理的优化。 在压缩包子文件的文件名称列表中,`jdk-6u43-windows-i586.exe`是32位版本的JDK安装程序,而`jdk-6u43-...
- **脚本语言支持**:通过JSR 223,JDK1.6支持了更多脚本语言,如JavaScript、Groovy等,可以在Java环境中执行。 总的来说,JDK1.6 64位是一个经典且稳定的选择,对于那些需要兼容旧系统的开发者来说,它是必不可少...
9. **脚本语言支持**:JDK 1.6通过JSR 223引入了对脚本语言的支持,允许Java应用程序直接运行JavaScript等脚本语言。 10. **改进的调试工具**:JDK自带的Java Debug Interface (JDI) 和Java VisualVM等工具得到了...
1. **动态语言支持**:JDK 1.6引入了JSR 223(Scripting for the Java Platform),使得在Java环境中可以方便地使用脚本语言,如JavaScript、Ruby等。 2. **改进的Swing组件**:Swing UI库得到增强,包括新的JTable...
改进的动态语言支持使得Java可以更好地处理脚本语言,如JavaScript和Ruby。另外,JDBC(Java Database Connectivity)API也得到了升级,增强了数据库连接的性能和稳定性。 在安全性方面,JDK 1.6加强了对网络通信的...
1. **动态语言支持**:JDK 1.6引入了JSR 223(Scripting for the Java Platform),为Java平台提供了对多种动态脚本语言的支持,如JavaScript、Ruby等。 2. **改进的Swing UI组件**:JDK 1.6更新了Swing组件,提供...
7. **脚本支持**:JDK 1.6添加了对脚本语言的支持,如JavaScript,通过JSR 223(Scripting for the Java Platform)实现。 8. **XML处理**:在`javax.xml`包下增加了一些新类,如`StAX` API,提供了更高效的XML解析...