Какой веб-сервер мне следует использовать, если я хочу запускать на нем код Java?

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

Вопрос

На данный момент у меня есть много Java, которая делает множество интересных вещей, и я ею доволен.Код управляется из командной строки, и это до сих пор было здорово, но недавно я решил, что хочу сделать эту функциональность доступной через веб-сервисы.Поскольку мой язык сложен, и я доволен тем, как он написан, я не хочу мучиться с переносом его на другие языки.Поэтому я отправился в путешествие по Google, чтобы узнать, какие веб-серверы существуют (на машине с Linux, хотя интересно услышать ответ без этого ограничения).

Из того, что я смог найти, кажется, что есть два жизнеспособных варианта: Апач Томкэт и Sun Java-сервер.

Какова причина выбора одного поверх другого?в чем сила каждого и каковы слабости?Или, возможно, есть третий, гораздо более простой, гибкий и менее громоздкий.

Любой?

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

Решение

Легко, гибко и не обременительно, это было бы Пристань, но и Simpleweb может быть полезно.Вы мало говорите о своем программном обеспечении, поэтому я не совсем уверен, но для программы командной строки я не думаю, что вам нужны все возможности JavaEE.
Основные серверы эти.
Я думаю, что обсуждение Apache Tomcat и Glassfish (Sun Java Server) не имеет отношения к вашим потребностям, подойдет любой.

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

Есть множество контейнеров для веб-приложений Java, у всех есть свои сильные и слабые стороны.Если вы ищете контейнер для поддержки бизнес-приложения, вам, вероятно, следует взглянуть, чем они отличаются, и решить, какой из них подходит вашему бизнесу и ИТ-водителям.

Ключевым моментом является то, что все они поддерживают спецификацию сервлетов — ваши веб-приложения могут работать в любом из них — а это значит, что вы можете легко передумать.Некоторые из них также будут поддерживать больше спецификаций Java Enterprise Edition, поэтому могут оказаться слишком тяжелыми для ваших нужд.

Если вы только начинаете, я бы предложил Tomcat.Он простой, но надежный, быстро запускается и запускается, а также имеет очень простой веб-интерфейс развертывания веб-приложений.

Ваш вопрос на самом деле слишком двусмысленен и широк.Фактически вы можете запустить код Java на любой компьютер, который вам нравится, независимо от языка, на котором вы запрограммировали веб-интерфейс.Например, вы можете создать веб-сайт на основе PHP, который взаимодействует с «серверным» Java-приложением («приложением командной строки», как вы его называете).Единственное требование — наличие JRE на сервере.Тогда в принципе всё как веб-интерфейс хватает:CGI, PHP, ASP, Python и т. д., что угодно.Пока у него есть доступ к базовой среде выполнения командной строки, что в примере PHP должно быть выполнено с помощью exec().

Но Java, на самом деле Java EE, также предоставляет интерфейс программирования веб-приложений:тот ДСП/API сервлетов, веб-компонент большого API Java EE.Это делает интеграцию с «приложением Java командной строки» гораздо более простой.По сути, вы можете просто поместить свое приложение в путь к классам и импортировать/получить доступ/использовать его в Servlet класс настоящий Java-способ:

YourApplication app = new YourApplication();
Result result = app.doStuff();
// ...

Чтобы иметь возможность запускать JSP/сервлет (JSP на самом деле также является сервлетом), вам нужен конкретный реализация API сервлетов (весь Java EE — это просто абстрактная спецификация). Апач Томкэт хорош для начала, другой популярной альтернативой является Причал Затмения.Это «простые» контейнеры сервлетов, которые реализуют API сервлетов, причем Jetty является более встроенным подходом (вы можете настроить и запустить его как «простое ванильное» Java-приложение).Но если вам необходимо поддерживать/охватывать и другие аспекты API Java EE, вам понадобится сервер приложений, например Солнечная стеклянная рыбка или ДжейБосс АС (оба, кстати, используют Tomcat в качестве части контейнера сервлетов).

Чтобы узнать больше о JSP/Servlet, я могу порекомендовать Учебные пособия на Coreservlets.com.

Apache Tomcat должен принести пользу.

Стандартной концепцией запуска кода внутри веб-сервера является «Servlet API» от Sun.

По сути, он предоставляет несколько интерфейсов, которые веб-сервер использует для вызова вашего кода, и определяет, как веб-сервер должен вести себя.Это позволяет вам писать очень общий код, который может работать в различных веб-контейнерах, реализующих API сервлетов.Подробности смотрите в статье в Википедии - http://en.wikipedia.org/wiki/Java_Servlet.

Они также бывают всех размеров, в зависимости от ваших потребностей.Некоторые достаточно малы для встраивания в ваше собственное приложение, некоторые очень большой.API сервлетов позволяет вам не беспокоиться.

Для новичка самый быстрый способ приступить к работе — загрузить полную версию Netbeans, которая включает в себя полную поддержку выполнения такого рода работы и имеет встроенный контейнер сервлетов.

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