我很长时间都知道服务器端的javascript,但我不知道它是如何工作的。有人能指出我正确的方向吗?
我对如何使用服务器端javascript + Java Servlet技术感兴趣
编辑
大!我以前见过这些技术,但由于某些原因我没有将它们与“服务器端”javascript相关联(doh!)
补充问题:如果我想使用javascript库来创建内容(例如ExtJs),我能否像在客户端那样在服务器端修改“文档”?
(我想我会在第一次尝试时发现)
答案 0 :(得分:6)
运行javascript服务器端需要可嵌入的javascript引擎。这些“可嵌入”引擎中的大多数都提供了一个API,允许您在执行的javascript代码和您自己的对象/方法之间进行接口。例如,您可能连接了javascript代码以允许执行用Java或C#编写的函数,或者您可以扩充脚本的符号表以包含对系统中非JavaScript对象的访问。
我会看看其中的一些引擎,我猜测Rhino可能是最适合你的,因为它是用Java编写的。他们的教程概述了如何在一个Java环境中嵌入Rhino。
编辑以回应您的第二个问题。
我不确定javascript库生成的内容究竟是什么意思。你提到ExtJS,这会暗示我相信的HTML内容吗?理解DOM(Javascript可以读取和修改但不是Javascript本身的“部分”)和Javascript语言之间的区别非常重要。如果你需要一个不同故事的 DOM 服务器端的想法,如果你需要Javascript 语言,那么上面的选项可以帮助你。
答案 1 :(得分:3)
Mozilla的Rhino JavaScript引擎很容易嵌入;它允许子类化Java类和实现接口,以及只是做一些快速的脏JavaScript对象技巧。我一直在努力将它嵌入GeoServer我的关闭时刻,现在已经有几个月了。您可以在我们的SVN存储库中查看嵌入Rhino的Java代码和一些JavaScript examples。开始时,Rhino还有一个非常好的guide。
答案 2 :(得分:2)
ASP和ASP.NET支持服务器端JavaScript。对于ASP,您所做的就是声明:
<%@LANGUAGE=JAVASCRIPT%>
在ASP文件的最顶层,您使用JavaScript进行编码。除了可以访问.NET框架之外,ASP.NET基本相同。
无法帮助Java servlet,没有经验。
答案 3 :(得分:1)
“Helma是一个服务器端Javascript环境和Web应用程序框架,用于快速有效地编写脚本并为您的网站和Internet应用程序提供服务。” - http://helma.org/
答案 4 :(得分:1)
我在Windows环境中使用服务器端Javascript的经验丰富。所有Windows系统上的Windows Scripting Host都提供Javascript作为默认语言之一。您可以使用支持COM的任何语言创建COM对象以与其进行交互。我想如果您想使用这种方法,this MSDN page将帮助您入门。
我的直觉是,如果你选择不涉及COM的东西,你会更快乐。我只是想确保你面前有所有的选择。
答案 5 :(得分:1)
- MV
答案 6 :(得分:1)