![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: нет Всего: 22 |
Итак. Абстрагируемся от всего, что я писал ранее (хотя как ты предполагаешь засунуть джавовский апплет на страничку и просмотреть её без запущенного httpd для меня загадка). Будем исходить из того, что есть линух RH 7.2 отконфигуррованный в качестве веб-сервера и на нём требуется уложить страничку с апплетом, отображающим "Hello, world!" для любого подключающегося клиента. Как проверить, стоит ли на машине компилятор java, как его настроить (и надо ли?) и как писать и компилировать программу?
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| BearBeer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Модератор Сообщений: 902 Регистрация: 25.3.2002 Репутация: нет Всего: 9 |
Ок. Вечером распишу пордробно. |
|||
|
||||
| x77 |
|
|||
|
Unregistered |
ждём-с
|
|||
|
||||
| x77 |
|
|||
|
Unregistered |
Кстати, было бы неплохо убрать возможность незарегистрированным пользователям писать сообщения под никами зарегестрированных.
|
|||
|
||||
| BearBeer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Модератор Сообщений: 902 Регистрация: 25.3.2002 Репутация: нет Всего: 9 |
Последнее сообсчение - в раздел обсуждения форума.
Кстати, ты наверное уже писал и у тебя не вышло? если да - можеш рассказать об ошибках, чтоб я обратил на них внимание? Сорьки, сежчас много внимания уделить не могу - на работе Есче один ПС - я сразу не вьехал, что апплет пишеш Вообсчем пиши - а "стулья" вечером... |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: нет Всего: 22 |
Мне бы хотелось начинать с нуля, тем более, что с джавой я раньше вообще не работал. Но допустим, засунул я в редактор
сказал: javac HelloWorld.java chmod 755 HelowWorld.class а дальше что? Как это запихать в страницу? -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| BearBeer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Модератор Сообщений: 902 Регистрация: 25.3.2002 Репутация: нет Всего: 9 |
Так будет правильней. Обьясню. Во первых 2 первых строки выполняют импорт необходимых библиотек для построения апплета (1) и подключения графических модулей Виндовс (2). Далее обязательно надо давать определение extends. Это как в плюсах, что указать, что твой класс наследует, все свойства класса Апплет (я иногда буду писать по русски в понятных местах, так как долго переключаться на английский - что непонятно - пытай Идем дальше. Каждый апплет должнен имплементировать один из методов (методов в Джаве называется то, что в С++ - функция, это так, на хлопский ум init, start и paint кроме того апплеты могут имплементировать: stop и destroy, когда происходит одно из событий типа закрытия браузера или перехода на другую страницу. Конечно же любой другой метод тоже можно засунуть, но эти основные и обязательны. Это для начала про код. Теперь проанализируем твой. Чего не хватает? Правильно - импорта библиотек. Остальной код впринципе отражает Джава-приложение, а не Джава-апплет. Обьявление стандартного класса, стандартной статической функции мейн, с набором строковых аргументотв, котоорые будут считываться с клавиатуры при запуске из консоли как параметры класса. Необязательны. Далее вывод текста осуществляется через консоль. System.out (System.in) - классы для работы с потоками ввода-вывода через сандартное устройство. Так же как в С++ cin и cout. То есть. Твою программу можно запустить из консоли, добавив первой строкой, например: import java.*; Должноо работать. Продолжнение следует... |
|||
|
||||
| BearBeer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Модератор Сообщений: 902 Регистрация: 25.3.2002 Репутация: нет Всего: 9 |
Теперь отвечаю на второй вопрос:
Как это все удовольствие запихать в Веб-страницу? Ну во-первых, надо скомпилировать. javac HellOfWorld.java У нас получился милый прекомпилированый файл с именем HellOfWorld.class Это байт-коды для виртуальной машины, которая установлена на системе, где будет запускаться апплет. Тут я сделаю отсупление и кое-что обьясню (я планировал сделать это позже, но будет полезно и тут). Апплет запускается на стотроне клиента. Абсолютно не имеет значение на чем тот сидит: На виндах, Линуксе, Компаке или другой платформе. Если у него установлена виртуальная Джава машина - она сама переведет байт-коды класса в коды понятные даннойплатформе. Именно в применении этой машины и есть реализация мультиплатформенности Джава. Разработчик пишет один код, не думая о той платформе, где будет запускаться скомпилированный класс. Это верно как для апплетов, так и для джава-приложений. Вернемся теперь к нашему классу. Чтоб поставить его в веб-страничку используется стандартный тег: <APPLET> Выглядеть это будет так:
|
|||
|
||||
| BearBeer |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Модератор Сообщений: 902 Регистрация: 25.3.2002 Репутация: нет Всего: 9 |
Вот спецификация тага апплет, хотя к этому еще рано, но скоре всего захочется поиграться:
ПРимер использования:
Это для того, чтоб была более понятна вся концепция реализации запуска апплета. Так как это не тема про ХТМЛ - то рассписывать не буду - будут вопросы - отвечу |
||||
|
|||||
| BearBeer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Модератор Сообщений: 902 Регистрация: 25.3.2002 Репутация: нет Всего: 9 |
Ну и пару замечаний.
Джава - мультиплатформена. Это значит, что любая документация по Джаве - действительна для разработчика под любой системой. Далее, для того чтоб при компиляции, компилятор (калабурчик_с) находил все стандартные и подключаемые классы невредно прописать системную переменную CLASSPATH, uгде прописаны пути к каталогам, где лежат библиотечные файлы. Удачи!!! Надеюсь, что теперь все получится. |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 2 Всего: 41 |
Помниться, я слышал, что существует java, как его... типа run-time компилятор, или in-place компиляция - типа компиляции в исполняемый файл данной платформы из байт-кода, при первом запуске этого байт-кода. Ну так как есть такая вэщь? Хотя для апплетов это все равно безполезно.
-------------------- Волны гасят ветер... |
|||
|
||||
| BearBeer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Модератор Сообщений: 902 Регистрация: 25.3.2002 Репутация: нет Всего: 9 |
Имеется ввиду JVM?
Java Virtual Machine? Этот можуль встроен во все пакеты Джава и является что ли сердцем. И есть основное "изобретение". Вы компилируете Свой код в классы, далее эти классы запускаются уже на JVM. А уже само по себе Виртуальная машина - платформозависима. И уже она переводит класс - в исполняемый код для данной платформы. Без нее класс просто не запустится. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |