Как используется / реализован javascript на стороне сервера?

StackOverflow https://stackoverflow.com/questions/1597337

Вопрос

Я уже давно знаком с серверным javascript, но понятия не имею, как это работает.Может ли кто-нибудь указать мне правильное направление?

Меня интересует, как использовать серверную технологию javascript + Java Servlet

Редактировать

Отлично!Я видел эти технологии раньше, но по какой-то причине я не связывал их с "серверным" javascript (doh!)

Дополнительный вопрос:если я хочу использовать библиотеку javascript для создания контента (например, ExtJS), могу ли я иметь "документ" для изменения на стороне сервера, как я делаю это на клиенте?

( Думаю, я выясню это при моих первых попытках)

Это было полезно?

Решение

Для запуска серверной части javascript требуется встроенный механизм javascript.Большинство этих «встраиваемых» механизмов предоставляют API, который позволяет вам взаимодействовать между исполняемым кодом JavaScript и вашими собственными объектами/методами.Например, у вас может быть подключен код Javascript, позволяющий выполнять функции, написанные на Java или C#, или вы можете дополнить таблицу символов сценария, включив в нее доступ к объектам, не относящимся к Javascript, в вашей системе.

Я бы взглянул на некоторые из этих движков. Я думаю, Rhino может подойти вам лучше всего, поскольку он написан на Java.В их руководствах описывается встраивание Rhino в среду Java.

  1. Учебное пособие по встраиванию Rhino: http://www.mozilla.org/rhino/tutorial.html
  2. V8 — это движок Google.V8 в настоящее время не является потокобезопасным, поэтому он, вероятно, не подойдет вашим потребностям в серверной среде. http://code.google.com/p/v8/
  3. SpiderMonkey — это движок, обеспечивающий выполнение javascript в Firefox.Это прям С. http://www.mozilla.org/js/spidermonkey/

Редактировать в ответ на ваш второй вопрос.

Я не совсем понимаю, что вы подразумеваете под контентом, созданным библиотекой JavaScript.Однако вы упоминаете ExtJS, что, как я полагаю, подразумевает HTML-контент?Важно понимать разницу между DOM (который Javascript может читать и изменять, но не является «частью» Javascript как такового) и языком Javascript.Если вам нужна идея ДОМ на стороне сервера это другая история, если вам нужен Javascript язык тогда приведенные выше варианты должны вам помочь.

Другие советы

Mozilla Носорог Движок JavaScript довольно легко встроить;он позволяет создавать подклассы классов Java и реализовывать интерфейсы, а также просто выполнять некоторые быстрые и грязные трюки с объектами JavaScript.Я работал над встраиванием его в ГеоСервер в мои нерабочие моменты уже пару месяцев.Вы можете посмотреть оба Джава код, который встраивает Rhino и несколько Примеры JavaScript в нашем репозитории SVN.У Rhino тоже есть довольно хороший гид чтобы начать работу.

ASP и ASP.NET поддерживают серверный JavaScript.Для ASP все, что вам нужно сделать, это объявить:

<%@LANGUAGE=JAVASCRIPT%>

В самом верху файла ASP вы пишете код на JavaScript.ASP.NET по сути то же самое, за исключением того, что вы получаете доступ к платформе .NET.

Не могу помочь с сервлетами Java, опыта работы с ними нет.

"Helma - это серверная среда Javascript и платформа веб-приложений для быстрого и эффективного написания сценариев и обслуживания ваших веб-сайтов и интернет-приложений". - http://helma.org/

У меня большой опыт использования серверного Javascript в среде Windows.Хост сценариев Windows во всех системах Windows предоставляет Javascript в качестве одного из языков по умолчанию.Вы можете создать объект COM для взаимодействия с ним на любом языке, поддерживающем COM.Я думаю эта страница MSDN поможет вам начать, если вы хотите использовать этот подход.

Я интуитивно чувствую, что вы будете счастливее, если выберете что-то, не связанное с COM.Я просто хотел убедиться, что перед тобой есть все варианты.

Проверить http://www.commonjs.org/

-- МВ

Если все, что вам нужно сделать, это благословить ваш HTML как Excel, возможно, вам будет лучше отправить ваш HTML на сервер и получить его обратно с заголовком содержимого и соответствующим типом MIME.Серверный JS обычно не реализует DOM, подобный браузеру, поэтому Ext не будет работать на серверной стороне.

В качестве альтернативы вы можете создать свой HTML-сервер и пропустить этот процесс.Например, POI Библиотека Java может генерировать настоящие двоичные файлы Excel с несколькими листами и функциями ячеек.

Если вы действительно хотите использовать серверный JS в качестве сервера приложений, рассмотрите возможность Майна.Я упомянул в этом вопрос некоторые его преимущества.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top