- 浏览: 41200 次
- 性别:
- 来自: 广州
文章分类
最新评论
https://mozilla.github.io/rhino/ 下载 rhino1_7R5.zip ,解压后运行 cmd
cd D:\rhino\rhino1_7R5
编写测试脚本 test2.js
运行 java -jar js.jar test2.js
或者 rhino.bat test2.js
cd D:\rhino\rhino1_7R5
编写测试脚本 test2.js
// Import the Swing GUI components and a few other classes var swingNames = new JavaImporter(javax.swing, javax.swing.event, javax.swing.border, java.awt,java.awt.event); importPackage(java.net); importPackage(java.io); importPackage(java.util); importClass(java.lang.Thread); with (swingNames) { var font = new Font("宋体",Font.PLAIN,12); var frame = new JFrame("Test URL or Socket "); //frame.setSize(600,400); frame.setLocation(200,200); var txtfield = new JTextField(30); // txt entry field txtfield.setFont(font); txtfield.setText("http://www.baidu.com/"); var button1 = new JButton("send"); // Button to send message var button2= new JButton("http"); var filechooser = new JFileChooser(); // A file selection dialog var row = Box.createHorizontalBox(); // A box for field and button var col = Box.createVerticalBox(); // For the row & progress bars var padding = new EmptyBorder(3,3,3,3); // Padding for rows var texta = new JTextArea(10,30); texta.setEditable(false); texta.setLineWrap(true); var sp = new JScrollPane(texta); //sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); // Put them all together and display the GUIm row.add(txtfield); // Input field goes in the row row.add(button1); // Button goes in the row row.add(button2); col.add(row); // Row goes in the column col.add(sp); frame.add(col); // Column goes in the frame row.setBorder(padding); // Add some padding to the row frame.pack(); // Set to minimum size frame.visible = true; // Make the window visible frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // KeyEvent: ENTER txtfield.addActionListener(function() { var txt = txtfield.getText(); texta.append(txt+"\n"); txtfield.setText(""); }); // Test Socket button1.addActionListener(function() { texta.setText(""); // Clear var txt = txtfield.getText(); if (! txt.startsWith("http")){ texta.append(txt+"\n"); new java.lang.Thread(function(){ send("127.0.0.1",12345,txt);}).start(); txtfield.setText(""); } else { texta.append("this is http, can't use socket.\n"); } }); // Test URL http: button2.addActionListener(function() { texta.setText(""); // Clear var txt = txtfield.text; if (txt.startsWith("http:") || txt.startsWith("https:")){ try { var url = new URL(txt.trim()); new java.lang.Thread(function() { connect(url);}).start(); } catch(e){ texta.append(e.message); } } else { texta.append("input is not http://"); } }); // 连接 function connect(url){ var conn = url.openConnection(); conn.setConnectTimeout(5000); conn.connect(); var input = new Scanner(conn.getInputStream(),"UTF-8"); var headers = conn.getHeaderFields(); print(typeof headers); print(Array.isArray(headers.entrySet())); var str = headers.entrySet().toString(); texta.append(str.replace("], ","],\n")+"\n"); /* while (input.hasNextLine()) { texta.append(input.nextLine()+"\n"); } */ } // Socket function send(host,port,msg){ try { var socket = new java.net.Socket(host,port); var message = msg.trim(); var writer = new java.io.PrintWriter(socket.getOutputStream(),true); writer.println(message); try { var ins = new java.util.Scanner(socket.getInputStream()); while( ins.hasNextLine()){ texta.append(ins.nextLine()+"\n"); } } finally { socket.close(); } } catch(ex){ texta.append(ex.message); } } }
运行 java -jar js.jar test2.js
或者 rhino.bat test2.js
发表评论
-
html : 表单提交前检查填入数据
2018-10-27 22:21 1661fund1.html <!DOCTYPE html& ... -
javascript : 回调函数例子
2018-10-13 12:43 755数字时钟 digital_clock.html <! ... -
javascript : d3.js 读取csv , 画折线图
2018-10-07 11:04 2932参考 https://blog.csdn.net/github ... -
RGraph : svg : 波动的柱状图
2018-09-24 13:35 947www.rgraph.net 下载 RGraph4.67-st ... -
RGraph : svg : 玫瑰图
2018-09-24 08:42 1056www.rgraph.net 下载 RGraph.minifi ... -
RGraph : svg : 直方图
2018-09-23 23:50 782www.rgraph.net 下载 RGraph.minifi ... -
RGraph : svg : 饼图
2018-09-23 23:09 700www.rgraph.net 下载 RGraph.mi ... -
RGraph : svg : 双线图
2018-09-23 18:19 806www.rgraph.net 下载 RGraph.minifi ... -
java : mozilla rhino jsc 编译
2018-09-05 21:37 631mozilla rhino 用 jsc 编译 *.js 编写 ... -
java : mozilla rhino js JSON 天气预报
2018-09-01 13:34 639JSON.parse和JSON.stringify这两个浏览器 ... -
java : mozilla rhino js 打开文件
2018-08-30 23:20 522https://mozilla.github.io/rhino ... -
java : var 语法糖
2018-08-26 08:27 1205jdk 10 据说要采用 var 语法糖,其实就是一个字符串替 ... -
java : chat 客户端
2018-08-25 13:48 606Client.java import java.io.*; ... -
java : mozilla rhino chat 客户端
2018-08-25 13:08 491https://mozilla.github.io/rhino ... -
java : dom4j 美化 XML 输出文件
2017-05-21 09:31 1574PrettyXML.java package test; ...
相关推荐
《深入浅出Rhino:Java与JS互操作》是一本专注于探讨如何在Java环境中使用Rhino JavaScript引擎进行交互的书籍。Rhino是Mozilla基金会开发的一个开源JavaScript解释器,它完全用Java编写,使得JavaScript能够在Java...
总结,"org.mozilla.javascript-1.7.2.jar.zip"是Mozilla Rhino引擎的一个重要版本,它在Java平台上实现了高性能的JavaScript解释和执行,为开发者提供了丰富的功能和广泛的适用场景。无论是Web开发、服务器脚本,...
Rhino是Mozilla基金会开发的一个开源JavaScript引擎,它允许JavaScript代码在Java平台上运行。JUnit则是一个广泛使用的Java单元测试框架,但这里我们将其应用于JavaScript测试。 首先,了解Rhino引擎。Rhino提供了...
**Mozilla Rhino** 是一款用Java语言编写的开源JavaScript引擎。它不仅能够解析和执行JavaScript脚本,而且还可以作为Java程序的一部分,允许开发者直接在Java环境中使用JavaScript。Rhino是Java Scripting API (JSR...
java中执行javascript脚本需要用到的引擎工具,jdk1.6已自带,但1.5及以下还是需要的
Rhino是Mozilla开发的一个开源JavaScript引擎,它允许JavaScript在Java平台上运行,而Rhino Shell则是一个命令行工具,可以用来交互式地执行JavaScript脚本。Debugger则是用于检查和优化代码的工具,这对于理解和...
总的来说,"org.mozilla.javascript-1.7.2.jar"作为Mozilla Rhino的一个旧版本,为Java开发者提供了在Java环境中执行JavaScript的能力。虽然它不支持最新的JavaScript特性,但在许多旧项目或对新特性需求不高的场合...
而Mozilla Rhino则是一个JavaScript解释器,它是用Java实现的,完全符合Ecma-262标准,使得JavaScript可以直接在Java环境中运行。Rhino的主要用途包括: 1. **应用程序扩展和定制**:Rhino可以用来扩展Java应用的...
Java运行JavaScript脚本引擎Rhino是一个强大的工具,它允许Java应用程序执行JavaScript代码并利用JavaScript的灵活性和动态性。Rhino是Mozilla基金会开发的一个开源项目,它完全用Java编写,因此可以无缝集成到Java...
Rhino,全称为Mozilla Rhino,是一款由Mozilla基金会开发的JavaScript引擎,它以Java语言实现,因此具有很高的可移植性。Rhino在JavaScript的世界里扮演着重要角色,因为它将JavaScript的动态性和灵活性带入了Java...
Rhino的jar包。 Rhino 是开源的 JavaScript 引擎,是完全基于 Java 实现,几乎可以使用 JavaScript 完成 Java 所有的工作。
3D建模软件:Rhino二次开发.docx 3D建模软件:Rhino二次开发all.docx 3D建模软件:Rhino二次开发_3D建模核心概念.docx 3D建模软件:Rhino二次开发_3D打印与Rhino二次开发.docx 3D建模软件:Rhino二次开发_...
【Rhino教程:用Rhino制作一把螺丝刀】 在3D建模软件Rhino中创建一个复杂的对象,如螺丝刀,需要对软件的基本操作有深入理解。本教程将引导初学者通过实际操作学习Rhino的基本建模技术。Rhino 2.0版本被用于这个...
Mozilla Rhino,作为一款强大的JavaScript引擎,允许开发者在Java环境中运行JavaScript代码。而Gino,就是这样一个为基于Mozilla Rhino的JavaScript开发提供便利的Gradle插件。本文将深入探讨Gino的核心功能、使用...
Rhino,由Mozilla基金会开发,就是这样一个JavaScript引擎,它允许Java程序直接执行JavaScript代码。本篇文章将深入探讨如何在Java项目中使用Rhino来执行JavaScript,并展示从Java调用JavaScript函数以及从...
在Rhino JavaScript引擎中使用字节数组 注意 由该代码制成的字节数组可以与Java中的字节数组不同,但它似乎可以像Java字节数组一样完美地工作。 用 let b = ( new ByteArray ( size ) ) . init ( ) ;
Rhino是由Mozilla开发的一个开源的JavaScript引擎,它完全用Java编写,能够将JavaScript代码编译为Java字节码,从而使得JavaScript能够在Java平台上高效运行。这个“效率非常快的java读取javascript”很可能就是基于...
《PureJS (6.3):Rhino 中的日志与 Proxy 对象》 在JavaScript的世界里,Rhino是一个非常特别的存在。它是由Mozilla开发的一个开源的JavaScript引擎,它允许JavaScript代码运行在Java平台上,提供了丰富的Java对象...