gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 20:02:04 25 4
gpt4 key购买 nike

我会先声明我知道 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.小程序<->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.Applets运行在用户的电脑上,所以你可以访问他的文件。但是为此,您的小程序必须签名。

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

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com