| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Апплеты > Насколько удобно на Java писать под веб? |
| Автор: Wowa 14.10.2004, 00:11 |
| Насколько удобно на Java писать под веб? Например, всякие сайты с системой авторизации, управления и т.п. Это все без проблем пишется на ПХП, но даст ли Java какие-то еще доп. преимущества, возможности? Спасибо! |
| Автор: ElectricalStorm 14.10.2004, 00:42 |
| Насчет удобно незнаю... но на мир и на Веб подругому (по правильному ;) ) будешь смотреть это точно... |
| Автор: Шмель 14.10.2004, 05:31 |
| На PHP не писал, поэтому сравнить не могу. Так же как и пожаловаться на неудобства при создании WEB-приложений на Java. Щас пишу форум. Связка такая: 1. http://jakarta.apache.org/turbine/index.html - web-app framework 2. http://jakarta.apache.org/velocity/index.html - шаблонный движок 3. http://hibernate.org - persinstence layer Забыл. Можно еще смотреть сюда: http://struts.apache.org - тоже фреймворк http://jakarta.apache.org/tapestry/index.html - опять фреймворк. Кажется, проект загнулся Ну и наконец http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Servlets.html и http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/JSPIntro.html И еще вот: http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Security.html |
| Автор: chaos 14.10.2004, 06:11 |
| Еще один важный аспект: Аплеты не имею доступа к жд и тп на клиентской машине |
| Автор: Шмель 14.10.2004, 06:48 |
| 2chaos о каких апплетах идет речь? |
| Автор: chaos 14.10.2004, 07:01 |
| Аплеты это "программки" каторые работают на клиентских машинах не на сервере PS пишутся они на JAVA |
| Автор: Шмель 14.10.2004, 07:30 |
| 2chaos я знаю что такое аплет и что он пишется на JAVA. IMHO на апплетах построить масштабное приложение будет большой проблемой. |
| Автор: chaos 14.10.2004, 09:20 | ||
так тебе что надо? ты хочешь заниматься вебом или ...? |
| Автор: Шмель 14.10.2004, 10:05 | ||
или что? Я в своем посте ни слова не говорил об апплетах и вообще их использование в конструировании приложения - гон. Зачем ты высказался о том, что они не имеют доступа к "жд и тп" мне не понятно. Когда люди говорят о разработке web-приложений, апплеты имеют в виду в последнюю очередь. Это понятно? Сходи по ссылкам и почитай. |
| Автор: chaos 14.10.2004, 10:10 | ||||
че ты подразумеваешь под веб приложениями |
| Автор: TrivialCore 14.10.2004, 10:15 |
| Не так чтобы в последнюю очередь, но действительно - веб-аппликации это не только апплеты, а и обычный веб-интерфейс (HTML и т.п.) |
| Автор: 3,14 14.10.2004, 10:25 |
| ИМХО писать на Java под веб стоит если пишешь действительно что-то большое, там то и пригодится вся мощь ООП, а что-нить простенькое конечно проще сделать на PHP, ну и ещё это конечно безопасность, потенциально дыр в сайте на PHP или Perl будет больше. |
| Автор: chaos 14.10.2004, 10:25 | ||
для этого есть нормальные средства (PHP, PERL, JavaScript) которые отлично сравляются с этим, а заниматься такой ерундой как HTML на JAVA я считаю полный изврат |
| Автор: Шмель 14.10.2004, 10:30 | ||
приложения с архитектурой "тонкий клиент / сервер", с которыми клиент может работать с помощью браузера (представление обеспечивают тот же самый Velocity или WebMacro), а логика просчитывается на удаленном сервере. То есть на машине клиента вся работа - это парсинг сгенеренного HTML |
| Автор: chaos 14.10.2004, 10:32 | ||||
не правельно заполненное поле тоже по твоему должно обрабатываться на сервере? |
| Автор: Шмель 14.10.2004, 10:36 |
| а JavaScript на что? |
| Автор: 3,14 14.10.2004, 10:38 | ||||||
Добавлено @ 10:40
|
| Автор: Шмель 14.10.2004, 10:41 |
| 3,14 полностью согласен |
| Автор: chaos 14.10.2004, 10:46 |
| Ладно хорошо. Я согласен что какуюто часть(серьезную) должен обрабатывать сервер, но тривиальные задачи зачем перекладывать на сервер? |
| Автор: Sun 14.10.2004, 11:49 | ||
В Java я могу запустить один сервлет, который может существовать все время, независимо от того - открыты или закрыты сессии с клиентами. Это позволяет мне расшаривать такие ресурсы как соединения с базой данных или другие сокет-соединения. Можно так-же вести кэширование данных и при обращении разных клиентов не лезть в базу - а отдавать сохраненный результат. Не уверен что PHP позволяет такое. Так же сейчас стало модно создавать ВЭБ-сервисы, используя SOAP протокол. Я так понимаю, что на PHP сделать ВЭБ сервис проблематично, хотя может я ошибаюсь http://www.phppatterns.com/index.php/article/articleview/24/1/2/ |
| Автор: Wowa 14.10.2004, 11:50 | ||||
В PHP5 ООП поддерживается на достаточно хорошом уровне. Каковы реальные преимущества Явы?
За счет чего дыр будет больше? P.S. Поддерживает ли Java сессии по аналогии с ПХП ? Добавлено @ 11:53
А кеширование происходит на стороне сервера или на стороне клиента? |
| Автор: Sun 14.10.2004, 11:58 | ||||
Да поддерживаютcя сесси на основе cookies.
На стороне сервера. Под кэшированием я подразумевал хранение данных в струтурах памяти. Ты можешь хранить данные столько, сколько нужно, и одни и теже данные могут быть доступны всем клиентам. |
| Автор: Шмель 14.10.2004, 12:03 |
| 2Admin не знаю, какая поддержка сессий в PHP, в приложениях на Java используется интерфейс javax.servlet.http.HttpSession Сессия позволяет идентифицировать пользователя, хранить в ней различные объекты. Можно получить информацию об окружении (javax.servlet.ServletContext) |
| Автор: Wowa 14.10.2004, 12:04 | ||||
Т.е. в куках хранится только ИД сессии или передается по ссылке, а все данные на сервере?
Это интересно. С другой стороны, никакой памяти не хватит, если в веб-серверу имеют доступ несколько человек. Придется все равно кешировать на диске тогда, что в пхп конечно же возможно. Добавлено @ 12:05 А как в Яве работа с регулярными выражениями? |
| Автор: Шмель 14.10.2004, 12:09 | ||
присутствует. пакет не помню |
| Автор: Wowa 14.10.2004, 12:11 |
| Скажем, вот такой вот форум, как этот, насколько реально и удобно написать на яве? Добавлено @ 12:12 Думаю, что вполне вероятно, что вскоре в этом форуме появится еще один активный Ява-участник |
| Автор: Шмель 14.10.2004, 12:13 | ||
|
| Автор: Wowa 14.10.2004, 12:15 | ||
| Шмель Написать можно, это понятно. Интересно именно лучше ли подобные вещи писать на Ява или ПХП больше подходит? Добавлено @ 12:16
Вместо яваскрипт можно ведь яваапплет использовать? или нет? |
| Автор: 3,14 14.10.2004, 12:15 | ||
Всё зависит от того какая задача перед тобой стоит, иногда такие вещи как JavaScript просто не приемлимым хотя бы всвязи с переносимостью: не факт что если скрипт работает на IE и опере, то он будет работать на старых версиях Netscape, а можешь мне поверить что такие стоят ещё много где |
| Автор: sergejzr 14.10.2004, 12:17 |
| К сож. в яве нельзя будет мешать ХТМЛ и ява - код, как в ПХП. Я лично считаю это большим преимущ. ПХП. Но в общем ява конечно отличный язык. Скорость к тому же должна повысится. |
| Автор: Шмель 14.10.2004, 12:19 |
| Admin Если честно, то я видел всего лишь один форумный движок написанный на Java... А на PHP - Bulletin Board, Powerboard и еще самодельных немеряно. Рас пишут то удобно наверное. Хотя с другой стороны у меня тоже непреодолимых проблем не возникает Добавлено @ 12:20 2sergej.z а JSP ? |
| Автор: Wowa 14.10.2004, 12:20 | ||
В Перл тоже нельзя мешать(если не извращаться с доп. модулями). Да и имхо в серьезных проектах мешать не так часто надо. Обычно всегда(по крайней мере у меня) всё, что надо вывести на экран собирается в одну переменную, а потом я ее вывожу. |
| Автор: 3,14 14.10.2004, 12:21 | ||||||
за счёт идеологии, в php всё направлено на ускорение написания кода, оттуда ноги и растут, такие вещи как MALLICIOUS PHP SOURCE CODE INJECTION, на java в принципе не прокатят, да и SQL INJECTION в основном на php/perl движках встречаются
Главный плюс у java перед php в таких вещах - это не просто наличие туевой кучи готовых решений, а то что их удобно интегрировать между собой, один hibernate чего стоит! Добавлено @ 12:22
Уж лучше JavaScript или Flash |
| Автор: Шмель 14.10.2004, 12:23 |
| Вообще мешать представление и бизнес-логику ИМХО - не есть гутт |
| Автор: 3,14 14.10.2004, 12:24 | ||
А как же JSP? Но лично я предпочитаю их разделять : Java генерит XML документ, к-ый посредством XSLT переводится в HTML - котлеты отдельно, мухи отдельно! |
| Автор: Sun 14.10.2004, 12:24 | ||
Неправда это. JSP-страницы поддерживают HTML тэги и скриплеты. Кроме того есть куча движков для работы с шаблонами. |
| Автор: sergejzr 14.10.2004, 12:32 | ||
Да, сдаюсь |
| Автор: skalex 14.10.2004, 12:36 |
| Может заодно кто-нить скажет, какое ПО надо иметь, чтобы Java под Web работало ? Для php есть apache, а для java что есть ? |
| Автор: chaos 14.10.2004, 12:40 | ||
смотря че хочешь |
| Автор: Wowa 14.10.2004, 12:40 | ||
Tomcat |
| Автор: 3,14 14.10.2004, 12:40 | ||
Tomcat, Resin... целая куча всего, тока запросы к ним лучше через апач пропускать, а доступ к ним самим разрешать тока с localhost, так безопаснее будет |
| Автор: Шмель 14.10.2004, 12:47 | ||
Orion, JBoss, WebSphere |
| Автор: TrivialCore 14.10.2004, 13:11 | ||
| также iAS от Oracle Добавлено @ 13:12
|
| Автор: 3,14 14.10.2004, 13:17 | ||||
В них дыры чаще встречаются, apache гораздо стабильней, к тому же гораздо лучше проверен временем |
| Автор: DarkDS 14.10.2004, 17:58 | ||||||
|
| Автор: TrivialCore 14.10.2004, 18:26 |
| А томкат, наверное, тоже? Они ж из под одной крыши растут. |
| Автор: 3,14 14.10.2004, 18:38 | ||
Это вряд ли, наколько я знаю томкат целиком на Java написан |
| Автор: ElectricalStorm 14.10.2004, 21:51 | ||||||
| Tomcat - это контейнер для сервлетов Apache - это веб сервер У меня есть опыт написания на Perl, PHP и Java тут вот какая основная разница... (на мой скромный взгляд) когда пишешь на языках Perl, PHP (не учитываем PHP 5 так как 99% когда на PHP4) не думаешь об объектах, о разделении бизнес логики, о персистеннтых слоях и тонких клиентах ....этого всего нет очень мало приложений (сайтов) построены с ООП подходом...опять же модель MVC Struts'a или компонентная модель Tapestry этот подход используется только в Java (про ASP - незнаю) тут в самих языках дело вот PHP подсуетились и сделали PHP5 опять же альтернатива Python, Ruby - эти оба помоему чисто ООП языки но не сильно развиты ... поэтому Java сейчас и получила такую популярность ... (+ политика Сан вкладывают миллиарды на рекламу ;) ) кстати
mod_perl позваляет это делать...тут контроллером выступает собственная программа (handler) которая пишется как модуль к Апачу
Это большой недостаток PHP нельзя смешивать код и верстку
Запросто. Читаем mre Насчет секурити не волнуйтесь это независит от языка на котором пишете это зависит скорее будете ли Вы её делать если будете то будет секурити если нет так нет ;) И забудте вы про технологию - Applet она с появлением Flash не актуальна для Internet приложений ... вот для Intranet - да. Кстати Шмель раскажи чем "Jakarta Turbine" - лучше Struts ? ;) |
| Автор: LSD 14.10.2004, 22:57 | ||
По моему нет. Ты наверно путаешь его с Oracle HTTP Server, вот он действительно слегка модифицированный Apach. |
| Автор: DarkDS 14.10.2004, 23:11 | ||||
iAS включает в себя Оракл ХТТП сервер. Точнее это Апликейшин Сервер, который работает на основе Оракл ХТТП сервера, который в свою очередь порождение Апача добавление: Не путаю, так как в мае закончил проект как раз под него. Там даже админ УИ есть веб и стандалон. Стандалон общие настройки Апликейшин Сервера, веб УИ - веб апликейшены. |
| Автор: Sun 15.10.2004, 10:15 | ||||
Но написание модулей к Апачу делается на C, а не на PHP. К тому же работать с памятью в модуле Апача тоже не сахар. Разные инстансы твоего модуля не имеют единого адресного пространства, поэтому данные приходится хранить либо в файлах, либо shared memory. Shared memory - это еще тот гемор. Вся работа по дефрагментации и разделении памяти возлагается на программиста. Ну-ка прикинем - что легче: писать такой модуль на С или все сделать стандартными средствами на Java? |
| Автор: ElectricalStorm 15.10.2004, 10:49 |
| Sun Про PHP - незнаю. Я таких модулей много написал на Perl ... используя Perl Apache API кстати насчет разделяемой памяти - так есть же CPAN там куча модулей и куча различных реализаций - выбирай на вкус. ;) есть замечателная книга по этому делу - O'Reilly - Writing Apache Modules with Perl and C она у меня есть ... ;) |
| Автор: sergejzr 15.10.2004, 16:39 | ||||||
Ребята, кто же мешает? Я могу сказать, что ХМЛ генерить на пхп удобней, потому что части можно оставлять ХМЛ-ом. И скажите ещё, как вы собираетесь разделять то, что я "намешал" на перле например? И добавте, что на перле удобней ХМЛ генерить |
| Автор: ElectricalStorm 15.10.2004, 16:46 | ||||
На перле запросто: Template Toolkit, HTML::Template(мой любимый работал на нем еще в 2000 году)... и еще куча всего ...
Удобнее. |
| Автор: sergejzr 15.10.2004, 16:49 |
| Понятно, "религиозный" спор Пусть каждый использует то, что считает удобнее |
| Автор: 3,14 15.10.2004, 17:04 | ||
На PHP и Perl нет такой фичи - описываешь структуру документа, к-ый собираешся генерить, и генерируешь к нему библиотеку, и опять же работаешь с обьектами, минуя прямой парс документа |
| Автор: sergejzr 15.10.2004, 17:10 | ||
это несомненно круто |
| Автор: Sun 15.10.2004, 17:12 |
| Предлагаю спор, что круче продолжить во флейме http://forum.vingrad.ru/index.php?showtopic=31918 |
| Автор: ElectricalStorm 15.10.2004, 17:42 | ||
Запросто |
| Автор: Domestic Cat 15.10.2004, 20:42 | ||
Помимо куков, есть еще url encoding. |