用 Node.js 重写 java applet
用 Node.js 重写 java applet
用户在浏览器端启动一个 java applet :
- 选择本地文件
- 获取其完整 path
- 把 path 发给一个 java application
现在需要更好的方案替换 applet , node.js 是否能做到?
不能,现在的浏览器为了安全都是隐藏了文件的真实路径,如果还能让你拿到真实路径只能说明这浏览器不够安全
这是前端方案,跟 nodejs 有关系么
LZ 顶多只是不懂来请教罢了,最后一句话可以去掉的 :)
另外你对文件的真实路径有什么意图呢?拿到路径你也不可能拿其他用户没选择的文件,除非你整个上传组件都是用 activex 写的,绕过了浏览器的 file 封装
所以你只是为了上传文件?那你直接搜索 HTML5 ajax 大文件上传 就好了啊?
leader 坚持保留 javaApplication ,不过 ajax 是很好的建议,谢谢~
link2 上说的是用 js 替代 applet ,用 node.js 替代 server 。原文“ Nodejs interacting with a javascript client (web) app is really easy and nice to do ” web 前端是普通的 js 。
好可怕的 leader
好可怕的 leader
快点走
重写 Java Applet 到 Node.js 涉及将客户端的 Java 代码迁移到基于 JavaScript 的服务器端(或客户端,如果使用浏览器端 JavaScript)环境。由于 Java Applet 通常运行在浏览器中,并且依赖于 Java 虚拟机,而 Node.js 是一个服务器端运行时,直接转换是不可能的。但我们可以尝试实现相同的功能逻辑。
假设你有一个简单的 Java Applet,它在网页上显示一个 “Hello, World!” 消息。以下是使用 Node.js 和 Express.js(一个流行的 Node.js 框架)来模拟这一功能的示例。
Java Applet 示例(伪代码)
// Java Applet code (pseudo-code)
public class HelloApplet extends Applet {
public void paint(Graphics g) {
g.drawString("Hello, World!", 20, 20);
}
}
Node.js + Express.js 示例
- 创建一个新的 Node.js 项目并安装 Express.js。
mkdir hello-applet
cd hello-applet
npm init -y
npm install express
- 创建一个
server.js
文件,并添加以下代码:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('<h1>Hello, World!</h1>');
});
app.listen(port, () => {
console.log(`Server is running at http://localhost:${port}`);
});
- 运行服务器:
node server.js
访问 http://localhost:3000
,你将看到 “Hello, World!” 消息。虽然这不是直接转换,但它展示了如何在 Node.js 环境中实现类似的功能。