javascript - Java 和 JavaScript 如何协同工作?

标签 javascript java integration

我将在前面声明我知道 Java 不是 JavaScript,反之亦然。

我有一个项目,需要计算 1750 个文档名称和文档内容中每个单词的出现次数。我从一位同事那里得到了一些很棒的 JavaScript,它完全可以从网页上的表单输入中实现我想要的功能。

我想使用Java的FileReader、BufferedReader、walkFileTree等来遍历文档所在的目录。

我不确定这是否是最有效的方法,但代码的 Java 和 JavaScript 部分现在都相互独立工作,我想看看是否能让它们通过在我开始重新发明轮子之前,它们之间存在数据。

这就是我目前所处的位置。我陷入了 CLParse 方法并插入了伪代码:

public static void main(String... aArgs) throws FileNotFoundException    {
    File startingDirectory= new File("CGT");
    List<File> files = FileListing.getFileListingNoSort(startingDirectory);
    for(File file : files )           {
        CLParse(file.toString());
    }   }

static private List<File> getFileListingNoSort(File aDirectory) throws FileNotFoundException    {
    List<File> result = new ArrayList<File>();
    File[] filesAndDirs = aDirectory.listFiles();
    List<File> filesDirs = Arrays.asList(filesAndDirs);
    for(File file : filesDirs)          {
        result.add(file); //always add, even if directory
        if ( ! file.isFile() )   {
            List<File> deeperList = getFileListingNoSort(file);
            result.addAll(deeperList);
        }      }      
    return result;
    }

 /* is something like this doable and how would I do it?
 */
public static void CLParse(String fn) {
      pass fn to JavaScript counter
      return an array of {word,occurences} for the string
      write array to file
      }

我将创建另一组方法来提取文档内容并将其作为字符串传递。我很想知道是否有人有在 Java 和 JavaScript 之间来回传递值的实际经验,以及关于好的/更好的方法的建议。

最佳答案

你有 2 个选项可以让他们互相交互,我知道:

1.Applet <-> JavaScript

2.Serlvet <-> JavaScript

使用选项 1,您必须与 JSObject 建立通信:JSObject

或者您可以使用 document.appletname.methodname(); 立即调用 Applets 方法; 有了这个,您甚至可以相互解析相同的简单格式。

使用选项 2,您必须与 Servlet 建立通信。

在这里您必须向 Servlet 发送 Ajax 请求:

$.post('login',{name:"Peter", pw:"123456"},function() 
{ 
   //do whatever
})

JavaServlet class

第一条注释必须在 web.xml 中作为 Servlet 编写,它是 servlet 模式。 第二个是servlet 中可以读取的参数。该函数描述了可以在请求中完成的内容。

这两个选项之间的区别是:

1.Applet 在用户计算机上运行,​​因此您可以访问他的文件。但为此,您的小程序必须经过签名。

2.Servlet运行在服务器上。在这里,您拥有完整的文件访问权限(如果系统允许您也拥有它)。

关于javascript - Java 和 JavaScript 如何协同工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13840126/

相关文章:

drupal 中 javascript 文件的顺序不正确

javascript - 设置 Object.prototype.__proto__ 而不仅仅是 Object.prototype?

javascript - 箭头函数体与返回值。 ()=>{return value;} 与 ()=>value;

java - 使警报对话框的相对布局适合居中

excel - 与 500 多个应用程序集成

javascript - 如何在jquery中获取所选项目的类别?

java - 从 Android 示例上传 Azure 存储 block Blob

Java - 用正则表达式替换所有,然后替换第一次出现的字符串

android - 如何在安卓手机上集成简雨?

java - 如何将文件读取到 InputStream,然后将其写入 Scala 中的 OutputStream?