Достаточно ли простой установки JDK на веб-сервере для запуска Java web app?

#jakarta-ee #web-applications #java-server

#джакарта-ee #веб-приложения #java-сервер

Вопрос:

У меня есть Java-код, который работает на моем рабочем столе … это простое приложение, которое извлекает данные из базы данных, что-то с ними делает и выводит список.

Это для сайта, ориентированного на потребителя, и в конечном итоге я хочу передать список на PHP, чтобы использовать его для оформления страницы.

Я понимаю, что могу сделать это с помощью thrift, и это текущий план.

Но вопрос в том, нужен ли мне какой-то специальный сервер, помимо JDK, для запуска java-приложений, учитывая тот факт, что он используется исключительно для обработки данных? Почему или почему нет?

Как JRE / JDK обрабатывает разных пользователей, пытающихся одновременно получить доступ к пользовательским данным, учитывая, что php должен получать эту информацию из одного и того же Java-приложения? как программа Java распознает разницу?

Большое спасибо за вашу помощь!

Ответ №1:

Вам нужен сервер J2EE, который в зависимости от сложности вашего приложения может быть движком JSP / Servlet, таким как Apache Tomcat, или полноценным сервером приложений J2EE, таким как GlassFish, JBoss, или даже коммерческим продуктом, таким как Oracle Fusion middleware suite, который также включает такие функции, как управление пользователями, сервер LDAP, Sigle-Sign-on, инструменты управления серверной фермой и т.д.

На этом сервере вы обычно запускаете J2EE / веб-приложение, развернутое как WAR / EAR, см. Руководство

Редактировать: Описание базового веб-приложения broser / HTTP / HTML: Сервер J2EE предоставляет конечную точку HTTP, которая может быть вызвана из браузера с помощью HTTP-запроса, например, http://localhost:80870/myApp/helloWorld?param=1 . HTTP-запрос отправляется определенному сервлету (классу Java, внедряющему Servlet интерфейс), в зависимости от конфигурации сервера и развертывания веб-приложения. doService Метод сервлета вызывается сервером J2EE, затем код сервлета может считывать любые параметры запроса и т.д. Из ServletRequest объекта, переданного в метод, и может сконструировать ответ (например, HTML-страницу), записав его в выходной поток ServletResponse объекта, переданного в метод. Затем ответ отправляется обратно в браузер пользователя.

Контейнер J2EE также предоставляет функциональность сеанса, так что последующие запросы из того же сеанса браузера могут совместно использовать состояние.

Это всего лишь базовая концепция — для получения подробной информации о том, как работает весь этот материал j2ee, вам следует потратить не менее 8 часов на прохождение самых первых шагов руководства по J2EE и запустить HelloWorld JSP / Servlet на вашем собственном сервере. В случае, если при этом возникнут какие-либо подробные вопросы, задайте их в stackoverflow.

Комментарии:

1. Спасибо … 1) Зачем мне нужен сервер (глупый вопрос, но, пожалуйста, объясните) 2) Сильно ли отличается Java-код от того, что я написал как просто отдельное приложение с классами / методами и т.д., Без понятия сервлетов и т.д. … И как использование Tomcat или Glassfish и т.д. Влияет на мое использование thrift?