| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Getting started... |
| Автор: x77 17.4.2002, 13:07 |
| Итак. Абстрагируемся от всего, что я писал ранее (хотя как ты предполагаешь засунуть джавовский апплет на страничку и просмотреть её без запущенного httpd для меня загадка). Будем исходить из того, что есть линух RH 7.2 отконфигуррованный в качестве веб-сервера и на нём требуется уложить страничку с апплетом, отображающим "Hello, world!" для любого подключающегося клиента. Как проверить, стоит ли на машине компилятор java, как его настроить (и надо ли?) и как писать и компилировать программу? |
| Автор: BearBeer 17.4.2002, 14:00 |
Ок. Вечером распишу пордробно. |
| Автор: x77 17.4.2002, 14:04 |
| ждём-с |
| Автор: x77 17.4.2002, 14:06 |
| Кстати, было бы неплохо убрать возможность незарегистрированным пользователям писать сообщения под никами зарегестрированных. |
| Автор: BearBeer 17.4.2002, 15:55 |
| Последнее сообсчение - в раздел обсуждения форума. Кстати, ты наверное уже писал и у тебя не вышло? если да - можеш рассказать об ошибках, чтоб я обратил на них внимание? Сорьки, сежчас много внимания уделить не могу - на работе Есче один ПС - я сразу не вьехал, что апплет пишеш Вообсчем пиши - а "стулья" вечером... |
| Автор: x77 17.4.2002, 17:49 | ||
Мне бы хотелось начинать с нуля, тем более, что с джавой я раньше вообще не работал. Но допустим, засунул я в редактор
сказал: javac HelloWorld.java chmod 755 HelowWorld.class а дальше что? Как это запихать в страницу? |
| Автор: BearBeer 17.4.2002, 21:12 | ||
Так будет правильней. Обьясню. Во первых 2 первых строки выполняют импорт необходимых библиотек для построения апплета (1) и подключения графических модулей Виндовс (2). Далее обязательно надо давать определение extends. Это как в плюсах, что указать, что твой класс наследует, все свойства класса Апплет (я иногда буду писать по русски в понятных местах, так как долго переключаться на английский - что непонятно - пытай Идем дальше. Каждый апплет должнен имплементировать один из методов (методов в Джаве называется то, что в С++ - функция, это так, на хлопский ум init, start и paint кроме того апплеты могут имплементировать: stop и destroy, когда происходит одно из событий типа закрытия браузера или перехода на другую страницу. Конечно же любой другой метод тоже можно засунуть, но эти основные и обязательны. Это для начала про код. Теперь проанализируем твой. Чего не хватает? Правильно - импорта библиотек. Остальной код впринципе отражает Джава-приложение, а не Джава-апплет. Обьявление стандартного класса, стандартной статической функции мейн, с набором строковых аргументотв, котоорые будут считываться с клавиатуры при запуске из консоли как параметры класса. Необязательны. Далее вывод текста осуществляется через консоль. System.out (System.in) - классы для работы с потоками ввода-вывода через сандартное устройство. Так же как в С++ cin и cout. То есть. Твою программу можно запустить из консоли, добавив первой строкой, например: import java.*; Должноо работать. Продолжнение следует... |
| Автор: BearBeer 17.4.2002, 21:24 | ||
| Теперь отвечаю на второй вопрос: Как это все удовольствие запихать в Веб-страницу? Ну во-первых, надо скомпилировать. javac HellOfWorld.java У нас получился милый прекомпилированый файл с именем HellOfWorld.class Это байт-коды для виртуальной машины, которая установлена на системе, где будет запускаться апплет. Тут я сделаю отсупление и кое-что обьясню (я планировал сделать это позже, но будет полезно и тут). Апплет запускается на стотроне клиента. Абсолютно не имеет значение на чем тот сидит: На виндах, Линуксе, Компаке или другой платформе. Если у него установлена виртуальная Джава машина - она сама переведет байт-коды класса в коды понятные даннойплатформе. Именно в применении этой машины и есть реализация мультиплатформенности Джава. Разработчик пишет один код, не думая о той платформе, где будет запускаться скомпилированный класс. Это верно как для апплетов, так и для джава-приложений. Вернемся теперь к нашему классу. Чтоб поставить его в веб-страничку используется стандартный тег: <APPLET> Выглядеть это будет так:
|
| Автор: BearBeer 17.4.2002, 21:29 | ||||
Вот спецификация тага апплет, хотя к этому еще рано, но скоре всего захочется поиграться:
ПРимер использования:
Это для того, чтоб была более понятна вся концепция реализации запуска апплета. Так как это не тема про ХТМЛ - то рассписывать не буду - будут вопросы - отвечу |
| Автор: BearBeer 17.4.2002, 21:44 |
| Ну и пару замечаний. Джава - мультиплатформена. Это значит, что любая документация по Джаве - действительна для разработчика под любой системой. Далее, для того чтоб при компиляции, компилятор (калабурчик_с) находил все стандартные и подключаемые классы невредно прописать системную переменную CLASSPATH, uгде прописаны пути к каталогам, где лежат библиотечные файлы. Удачи!!! Надеюсь, что теперь все получится. |
| Автор: Fantasist 22.4.2002, 18:22 |
| Помниться, я слышал, что существует java, как его... типа run-time компилятор, или in-place компиляция - типа компиляции в исполняемый файл данной платформы из байт-кода, при первом запуске этого байт-кода. Ну так как есть такая вэщь? Хотя для апплетов это все равно безполезно. |
| Автор: BearBeer 22.4.2002, 22:47 |
| Имеется ввиду JVM? Java Virtual Machine? Этот можуль встроен во все пакеты Джава и является что ли сердцем. И есть основное "изобретение". Вы компилируете Свой код в классы, далее эти классы запускаются уже на JVM. А уже само по себе Виртуальная машина - платформозависима. И уже она переводит класс - в исполняемый код для данной платформы. Без нее класс просто не запустится. |