Java: Как вызвать код, работающий на сервере, из браузера? - PullRequest
1 голос
/ 04 октября 2010

Можно ли как-нибудь запустить Java на сервере из веб-браузера? Я хотел бы:

  1. Пользователь переходит на URL в браузере
  2. Пользователь заполняет поля ввода (текст)
  3. Пользователь нажимает кнопку отправки
  4. Поля ввода отправляются в качестве параметров в Java, который выполняется на сервере
  5. Отображается новая html-страница, созданная java, запущенной на сервере.

Какой стандартный способ сделать это или что-то похожее на это.

Я думаю, с PHP это было бы относительно просто. Я думаю, что вы просто передали бы аргументы после URL, например: www.mysite.com/folder?arguments.

Ответы [ 6 ]

5 голосов
/ 04 октября 2010

Да, это возможно (и очень часто). Двумя наиболее распространенными способами являются Java-сервлеты (где ответы генерируются исключительно с помощью кода Java) и Java Server Pages (где логика сервера перемешана в HTML, подобно ASP или PHP) .

4 голосов
/ 04 октября 2010

Существует бесчисленное множество способов обслуживания HTML из Java, но практически все они полагаются на Java-сервлеты и страницы Java-сервера (JSP), которые являются спецификацией Java для обработки веб-запросов.

Абсолютный минимум для начала работы:

  1. Установка Java EE SDK , обеспечивающая также установку Netbeans и Glassfish.
  2. Запустите Netbeans и создайте проект «Java Web» / «Веб-приложение»
  3. Введите имя проекта, например MyWebApp
  4. На экране «Сервер и настройки» необходимоДобавьте ... ваш сервер, сделайте так.Укажите местоположение файла на сервере Glassfish и введите имя администратора и пароль
  5. . Игнорируйте содержимое фреймворка, и Finish
  6. NetBeans создаст образец приложения, и вы можете сразу нажать кнопку «Запустить главный проект».Он развернет ваше приложение на Glassfish и загрузит http://localhost:8080/MyWebApp/ из браузера по умолчанию

Важные примечания:

  1. Файл с именем web.xml сообщает хост-серверу некоторые основы вашего веб-приложения.Этот файл может содержать много других вещей, но по умолчанию используется какой-то котел.Самая интересная часть говорит <welcome-file>index.jsp</welcome-file>, что означает, что при загрузке http://localhost:8080/MyWebApp/ по умолчанию будет загружаться index.jsp.

  2. index.jsp - это то, что загружается, если выне указывайте страницу на сервере.Если вы посмотрите на index.jsp, то это просто HTML с некоторой разметкой JSP.

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
    
    
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>
            <h1>Hello World!</h1>
        </body>
    </html>
    
  3. Создание новых JSP так же просто, как написание HTML.В Netbeans есть мастер для создания простой JSP.

  4. Вы можете легко встраивать куски Java в .jsp и входить и выходить из Java / HTML с помощью нотации <%%>, такой как

    <% для(int i = 0; i <10; i ++) {%> Hello <% = i%>
    <%}%>

  5. Glassfish - это только один из возможных серверов приложений.Пока вы пишете совместимый код, он должен функционировать с минимальными или нулевыми изменениями в любой другой реализации спецификации Java Servlet / JSP.например, Jetty, Tomcat, oc4j, JBoss, WebSphere и т. д.

  6. Это только верхушка айсберга.Вы можете сделать вещи настолько простыми или сложными, сколько захотите.

Раз вы знаете основы, то вам решать, насколько глубоко вы пойдете.Более продвинутые темы:

  1. Taglibraries - они могут удалить большую часть java-беспорядка и считаются более правильными
  2. Выражения - использование выражений на страницах JSP для уменьшения необходимости в беспорядке <% = нотация </li>
  3. Пользовательские сервлеты позволяют перемещать модели / бизнес-элементы в Java-класс и оставлять .jsp только для презентационных
  4. веб-сред MVC, таких как Struts, Spring и т. д.
  5. Безопасность и фильтрация

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

2 голосов
/ 04 октября 2010

В качестве ответа на ответ Марка Петерса вам понадобится веб-сервер java, например Tomcat или GlassFish , чтобы использовать сервлеты или jsps.Существует множество замечательных фреймворков для Java, которые помогут вам абстрагироваться от оригинальных классов сервлетов, но я позволю вам найти их и решить, понадобятся ли они вам для чего-то такого простого.

0 голосов
/ 20 октября 2010

В моей школе есть сервер Apache, который мы должны использовать.Мне не разрешили установить Tomcat.Я закончил тем, что вызывал свою серверную Java с помощью PHP.Не самое красивое решение, но оно работает.

0 голосов
/ 04 октября 2010

Если вы хотите передать аргументы в URL, тогда более простой подход: Ось

0 голосов
/ 04 октября 2010

Если вы хотите передать аргументы в URL, тогда более простой подход: Ось

Вы можете отобразить результат с помощью JavaScript на своей странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...