| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > AJAX и Java |
| Автор: Samotnik 24.1.2008, 18:51 |
| САБЖ! Нужна документация, по Ajax что нибудь из раздела "Ajax для начинающих" либо "Ajax для чайников" Ибо в нем я вообще нифига не смыслю! А задание делать нужно! Поиск в google нужных результатов не дал. Поэтому спрашиваю тут Почему тему создал в J2EE потому что задание нужно выполнить на Java + AJAX с .jspx страницами и сервлетом !! |
| Автор: Kangaroo 24.1.2008, 18:57 |
| Вот гугл http://www.google.com.ua/search?hl=en&q=java+Ajax+servlet+article&btnG=Search&meta=. Первые две ссылки интересные, остальные не смотрел. |
| Автор: Samotnik 24.1.2008, 19:15 |
| Kangaroo, ок пасибо, посмотрю Может у кого книги есть на рапиде ? |
| Автор: v2v 24.1.2008, 19:22 |
| http://www.google.com.ua/search?hl=ru&q=java+ajax+ebook+filetype%3Apdf&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&meta= может найдёшь что нибуть интересующее. |
| Автор: Samotnik 24.1.2008, 19:32 |
| v2v, ок, пасибо |
| Автор: v2v 24.1.2008, 19:59 |
| на той ссылке что я давал , справа реклама от гугла и там ссылка: http://www.telerik.com/community/ajax-learning-resources.aspx?gclid=CMKC3s-qj5ECFQ5OQgodQTWUHA зайди и скачай отсюда книгу из 3х частей по ajax : там всё очень доступно и красиво объясняют. |
| Автор: Stampede 24.1.2008, 20:44 |
| Samotnik, на, лови: http://bfigeiro.googlepages.com/ajax-on-java.pdf. Как будто специально для тебя написали |
| Автор: Kangaroo 24.1.2008, 20:52 |
Я словил, спасибо |
| Автор: ratzko 24.1.2008, 22:07 | ||
Ja toze slovil. Spasibo |
| Автор: Zamuta 24.1.2008, 22:55 |
| Samotnik, Пжлста. http://rapidshare.com/files/86314687/Ajax___1074____1076___1077___1081___1089___1090___1074___1080___1080_.rar |
| Автор: Ulysses4j 25.1.2008, 00:02 |
Раз пошла такая пьянка:
|
| Автор: Samotnik 25.1.2008, 13:08 |
| 2 all Всем большое ПАСИБО Не ожидал, что столько людей откликнется !!! Очень приятно удивило!! Буду и я ловить, а то так и очередь может не дойти!!! Пэ.Эс. Думаю, вопрос исчерпан !!! |
| Автор: Samotnik 29.1.2008, 20:22 |
| Stampede, "простой" пример занимает 6 страниц и ниче там не понятно (( Может у кого - нить есть, самый простенький пример работы Ajax с Java ?? Что бы минимально пользователь что-то ввел, засабмитил, это передалось на сервлет *.java там тупо принять и этоже слово отправить обратно на *.jsp страницу и она это отобразила! Мне просто понять суть передачи и обработки в Ajax, а остальное я сам пойму!! |
| Автор: v2v 29.1.2008, 20:46 | ||||
index.jsp
test.jsp
|
| Автор: Samotnik 29.1.2008, 20:49 |
| v2v, пасибо большое, но я не понимаю, где тут передача введеного слова на сервлет! мне именно это нужно! |
| Автор: v2v 29.1.2008, 20:56 |
| просмотри ещё раз книги что тебе дали ;) |
| Автор: Samotnik 29.1.2008, 21:03 |
Суть: Пользователь вводит слово "Вася" сабмити его, оно летит на сервлет (Это обязательно, на сервлете я его должен считать, это и есть суть моего задания) и это же слово "Вася" с сервлета передать на *.jsp И все это нужно выполнить на Ajax Пэ.Эс. это конечно же не задание, но если я смогу понять как это сделать, то я смогу выполнить то задание, что мне дали!! |
| Автор: v2v 29.1.2008, 21:13 | ||||
Вот немного изменённый пример с отправкой данных на сервер. Я так понимаю ты не шаришь яваскрипт index.jsp
test.jsp
|
| Автор: Samotnik 29.1.2008, 21:23 | ||
На счет примера, чет он у меня не совсем корректно работает ((( В строке вместо нужного выводится
|
| Автор: Stampede 29.1.2008, 21:29 |
| Знаешь, Samotnik, у тебя, похоже, сильная путаница в голове. Наверное тебе будет проще выполнить это задание по шагам. То есть если кто-то проведет тебя шаг за шагом. Если хочешь, я могу это сделать. Вот тебе первое задание: 1. Сформировать болванку веб-приложения стандартной конфигурации. Добиться, чтобы в браузере отображалась страница приветствия. Покзать получившуюся структуру директории и содержимое значимых файлов. |
| Автор: Samotnik 30.1.2008, 00:29 | ||||
буду признателен
Я не чайник в WEB Java ОК, завтра быстро сделаю, что дальше первый мавен конечно не знаю..... а что это ?? |
| Автор: Stampede 30.1.2008, 00:42 |
| Samotnik, я неспроста высказал предположение о каше в голове: слишком много логических нестыковок в твоих постах. Вот и тут не обошлось: и как-то не вяжутся друго с другом Поэтому давай все-таки попробуем без самодеятельности, чтобы свести к минимуму эффекты, связанные с отражением действительности в твоей голове. Чур, без обид |
| Автор: Samotnik 30.1.2008, 00:51 | ||
Да не все в порядке Завтра по-быстрому сделаю А на самом деле, WEB контейнер это что? Может я его и использовал, но не знал об этом! Если вы имеете ввиду WEB сервер, типа AXIS , то я знаю что это, но не использую сейчас (оно и не нужно) |
| Автор: tux 30.1.2008, 06:56 | ||
Путаница просто безумная.
Похоже у тебя веб-приложения, в которых ты не чайник, работают сами по себе. Веб-контейнер - это такой софт, который организует жизненный цикл веб-приложения, то есть его развертывание, настройку, запуск и т.п. Tomcat, Jetty, Weblogic и др. - примеры такого софта. Хотя бы Tomcat о чем-то говорит? Ты как раньше свои разработанные приложения разворачивал? Или это было на PHP? |
| Автор: Samotnik 30.1.2008, 12:23 | ||
Вот так бы сразу и сказали, чессное слово, не знал, что tomcat это web - контейнер Конечно же я использую tomcat А тут что не так?? |
| Автор: tux 30.1.2008, 13:23 |
Тогда покажи WSDL контракта, который предоставляет Axis. Видимо все-таки на 99%. Axis - движок для разработки веб-сервисов, ни в коем случае его как веб-сервис не применяют. Веб-сервер.. Ну, для тебя это Tomcat. |
| Автор: Samotnik 30.1.2008, 14:10 | ||
согласен, так грамотнее сказать
да |
| Автор: Samotnik 30.1.2008, 21:03 | ||||||
| Stampede, СДЕЛАЛ!! 1.jsp
сервлет
и отображающая страничка index.jspx
Что дальше ????? Мне все тоже самое нужно сделать, только на AJAX |
| Автор: v2v 30.1.2008, 23:19 |
| Samotnik, а ты прочитал задание ?;) |
| Автор: Samotnik 30.1.2008, 23:47 |
| Автор: Stampede 31.1.2008, 00:31 | ||
Хорошо, пойдет. Только v2v правильно говорит, в задании было еще привести структуру директории, а среди значимых файлов должен быть еще web.xml. Но в принципе и так прмерно все понятно. Знач что предлагаю сделать первым делом: вывести за скобки страницу index.jsp. Если ты собираешься перевести это дело на Аякс, то прямо из сервлета и выдавай все что нужно. Кроме того, у тебя, по-видимому, куски кода надерганы из разных источников, в результате получается, что ты шлешь форму на HellowWorldServlet, c него форвардишь на домашнюю страницу (index.jsp), а в ней под названием "Books List" выводишь содержимое директории. Ты хотел сервис эха - вот и давай делать сервис эха. По порядку: 1. Переименуй сервлет в EchoServlet. 2. Помести его в какой-нибудь пакет - например, by.samothik. 3. Пропиши для него маппинг в web.xml - например, echo.do 4. Соответственно измени значение атрибута "action" в форме на "/echo.do". Не забудь ведущий слэш - таким образом ты задаешь урл относительно корня приложения. Это полезная привычка, которая обезопасит тебя от многих сюрпризов на последующих этапах разработки. 5. В сервлете извлекай значение параметра path и выдавай его в выходной поток. 6. В сервлете, еще до начала вывода, выставь заголовки ответа:
Как добъешься, чтобы все работало, пойдем дальше. ЗЫ. Если кому-то кажется, что все эти переименования суть мышиная возня, то он здорово заблуждается. В вебе очень важно четко представлять, что как называется, где оно находится, и как к нему обратиться. Обратите внимание: все три вещи, которые я щас перечислил - вещи разные и не всегда совпадающие. До сих пор в схеме Samotnik'a в этом плане был полный бардак. |
| Автор: Samotnik 31.1.2008, 00:39 | ||
не.. все сам писал, это из старого проекта копи, пасте было ! Пасибо большое, завтра обязательно опробую! |
| Автор: Samotnik 31.1.2008, 11:27 |
| Stampede, а вот эти .do и action это же struts ! Предлагаете с помощью него делать ?? |
| Автор: Kangaroo 31.1.2008, 11:30 | ||
Это не обязательно Struts. .do - Просто так маппинг будет нагляднее, сразу видно, что это сервлет action - это же стандартный аттрибут html form'ы, Стратс тут не причем. |
| Автор: Samotnik 31.1.2008, 11:34 | ||
Вот это не понял |
| Автор: Kangaroo 31.1.2008, 11:46 | ||
|
| Автор: Stampede 31.1.2008, 19:50 | ||||||
Чур, чур тебя! Struts нам здесь абсолютно без надобности. Да и не только здесь. А по существу вопроса Kangaroo тебе все правильно сказал. Не нравится .do - хорошо, выбери любое другое. Только посоветуйся сначала, а то еще выберешь .exe
Что тут может быть непонятного для "не чайника в WEB Java" © Samotnik? Я могу покзать, как это делается, но после этого окажется, что весь код сервлета я, собственно, тебе уже изложил. Впрочем, на, а то, боюсь, сам не справишься.
Вот это вот плюс заголовки ответа из моего предыдущего поста - это практически все, что нужно в сервлете. Чтобы хоть как-то загрузить тебя мыслительной деятельностью, предлагаю сделать две вещи: 1.а Изменить имя параметра path на более подходящее - например, msg. 1.б Выставить кодировку ответа, например, UTF-8. Добиться, чтобы сообщения, введенные (бело)русскими буквами, отображались корректно. |
| Автор: Samotnik 4.2.2008, 16:31 | ||
Stampede,
т.е. получается, что с сервлета нужно передавать на отображение уже готовые куски .html кода?? Ок, сделал! И как эту крастоу принять на .html странице ??? .. ... . и распечатать ?... |
| Автор: v2v 4.2.2008, 16:40 | ||
любой пример сервлета "Hello world" учит как это делать посмотри в сторону метода getWriter() класса HttpServletResponse) |
| Автор: Samotnik 4.2.2008, 16:55 | ||
хорошо,... а если мне не строчку нужно передать на страничку, а коллекцию, то как ее распечатать с помощью аякса ?? без аякса это делается с помощью <for each .. > |
| Автор: v2v 4.2.2008, 16:59 |
| сделай как тебе говорят , выложи результат, а потом перейдёшь к аяксу |
| Автор: Samotnik 4.2.2008, 17:06 |
все сделал, все работает, изучаю аякс, проблема в том, что немогу найти не одного хорошого примера (я его вообще не нашел) где, на элементарном примере показана работа аякса с Java ,.. а читать книгу на 600 страниц времени нифига нету, как будет обязательно начну ее изучать ! |
| Автор: v2v 4.2.2008, 18:32 | ||
| ладно так уж и быть, давай по буквам. есть у тебя jsp страничка называется index.jsp вот её код:
вот и всё. теперь сам пиши сервлет SERLVET1 и выдавай из него нужный ответ , на нажатие кнопки. Добавлено через 1 минуту и 19 секунд поубиваешь коментарии.. а то будет не правильно работать.. |
| Автор: Samotnik 4.2.2008, 18:41 |
| v2v, пасибо большое, за обьяснение, дело в том, что я за это время немного разобрался в аяксе, и то что вы щас написали, я уже сам написал (по материалам с сайта ibm название статьи "Выполнение асинхронных запросов с JavaScript и Ajax)" Проблема стала вот в чем, у меня на сервлете есть коллекция которая передается через setAttribute() на страничку .. Так вот интересует вопрос, что с ней делать ??? как эту коллекция передать на .html страничку ?? с помощью ajax (естественно) и самое главное, как эту коллекцию засунуть в выпадающий список на этой странице ?? Пэ.Эс. И вообще, нужен ли метод setAttribute() при работе с аяксом ?? Я ведь говорю, что проблема вся именно в передаче с сервлета на .html т.к. примеров в нете по этому нигде не нашел, восновном примеры с php - ajax а вот java - ajax нету ((( |
| Автор: v2v 4.2.2008, 18:47 |
| [] Добавлено через 2 минуты и 54 секунды http://www.tigir.com/javascript_select.htm |
| Автор: Samotnik 4.2.2008, 18:52 |
| v2v, |
| Автор: v2v 4.2.2008, 18:55 |
| прочитай ещё раз 5ть, это как раз то что тебе надо Добавлено ну у тебя получилось? или надо пошагам попробовать? или надо за тебя сделать?;) |
| Автор: Samotnik 4.2.2008, 23:28 | ||
я еще не пробывал !! я на пары ходил !! Добавлено через 22 секунды не ненадо !!! |
| Автор: IDVsbruck 5.2.2008, 03:21 |
| Спасибо, немного посмеялся ... Надо ж сразу предепредить человека, что с помощью ajax'а можно фактически отправить и получить только текстовую информацию (или любую другую струтуру, представленную в текстовом виде), поэтому даже коллекцию сначала надо запаковать (xml, json или стринги с разделителями), а при получении дешифровать. А структура ${variable} является предикатом для компилятора, который из .jsp делает .class, который результатом своей деятельности выдает фактически страничку, поэтому в процессе выполнения эту структуру использовать уже нельзя. Хотя, каюсь, когда первый раз реализовал получение данных посредством асинхронной передачи данных, упал на попу, так понравилось. Ощущение слабопередаваемое (хотя у кого есть любимые женщины, меня поймут |
| Автор: Samotnik 5.2.2008, 11:44 |
и как ее можно запоковать в xml Пс.Эс. Еще слышал, что можно куски html кода присылать с сервлета на html страницу, в моем случае так не пойдет ?? |
| Автор: v2v 5.2.2008, 12:12 | ||||||
java script , получатель списка:
где тут Json, XML или список через запятую? |
| Автор: Kangaroo 5.2.2008, 12:16 |
да, я тоже так делал, только на сервере с помощью Велосити генерил html |
| Автор: Samotnik 5.2.2008, 17:26 |
| v2v, ок, спс, хотелось бы еще уточнить.. Я читал, что есть только 3 способа отправки данных, это либо куски html кода, либо через xml либо череез json А вы какой из этих 3 способов привели ?? тут ? |
| Автор: Kangaroo 5.2.2008, 17:28 |
Этот: |
| Автор: Samotnik 5.2.2008, 18:59 | ||||||
| Фуффф... чет пока туговато :'((( Начит, у меня есть устанока метода обратного вызова (т.е. функция которая вызовется при приходе ответа с сервлета, это updatePage) request.onreadystatechange = updatePage; ок! тут все просто я описываю эту функцию
проблема, в следующем, как мне эту красоту прикрепить к форме ?? она у меня была такой
где change
т.е. вроде как передовать принимать разобрался,... теперь интересует как к форме это все прилепить ?? и нужно ли это вообще ? Добавлено через 4 минуты и 20 секунд Блин, я конкретно туплю, мне аж стыдно уже Чувствую, что тут просто все,.. но не хватает чуток допонимать, чтоб доделать |
| Автор: v2v 5.2.2008, 19:29 |
| тьфу ты блин, я же написал! в сервлете выполняется замена твоего <select id ='selectListId' > |
| Автор: Samotnik 5.2.2008, 19:34 | ||
это я понимаю... порсто мне потом нужно щначение брать из этого списка - селекта, поэтому думаю, что можно в форму положить |
| Автор: v2v 5.2.2008, 19:39 |
| давай по шагам? |
| Автор: Samotnik 5.2.2008, 19:43 | ||
давай ! Добавлено через 5 минут и 56 секунд ко мне пришел результат !! Я его вывел через allert (t)
т.е. выскакивает окошко с резклтатом, интересует как это вывести ввиде списка? |
| Автор: v2v 5.2.2008, 19:50 |
| отмена document.getElementById("selectListId").innerHTML = t; где selectListId это Id твоего Select |
| Автор: Kangaroo 5.2.2008, 19:53 |
многа А вообще прикольная тема - Хеллоу Ворлд, расписанный (пока) на 4 страницы |
| Автор: Samotnik 5.2.2008, 19:54 | ||
пишу
как ты посоветовал и как в книгах встречал, но ничего не выводит... ((( хотя через алерт норм все ((( |
| Автор: v2v 5.2.2008, 19:55 |
| покажи jsp страницу |
| Автор: Samotnik 5.2.2008, 19:56 | ||
да я это понимаю !!!! я не понимаю, почему на экране ничего не втдно ?? хотя все передается, я проверял ! |
| Автор: v2v 5.2.2008, 19:56 | ||
вот замени:
|
| Автор: Samotnik 5.2.2008, 19:57 | ||
у меня .html!
|
| Автор: v2v 5.2.2008, 20:00 |
| перед вызовом ajax у тебя должен уже быть создан <select id='selectListId'> |
| Автор: Samotnik 5.2.2008, 20:05 |
| я не понимаю, где у меня не правильно, скажите, я сам постараюсь догнать |
| Автор: v2v 5.2.2008, 20:07 | ||
замени в своём html этот кусок:
убейте меня |
| Автор: Samotnik 5.2.2008, 20:28 | ||||
| карочи, сделал Добавлено через 3 минуты и 36 секунд v2v, чуток подругому сделал, после формы написал
Ты бы сразу сказал, что жаваскрипт не видит тот id который был положен в PrintWriteln
А ему нужен свой id который он и юзает, а то ты мне обьяснял и без того понятные вещи, про которые я читал!! Пэ.Эс. Как бы там нибыло !!! v2v, Kangaroo, огромаднейшее спасибо ! |
| Автор: Samotnik 6.2.2008, 12:37 | ||
Ну и почему эта крастота не работает для эксплорера???
|
| Автор: IDVsbruck 6.2.2008, 14:08 |
| У тебя запрос GET уходит по адресу url = "ConsoleService?path=" + escape(path) Я так думаю, что ты хотел бы запустить сервлет по адресу [path]/ConsoleService. Хотя сам по себе подход удивительный - нужели на всех адресах, введенных в эдит, есть сервлет с таким именем. Поэтому строку с урл надо поменять. Пару замечаний: хотя допускаются различные включения скриптов, но обычное место вхождение скрипта (тэг <script>) - внутри <head></head>. Второе: твой код может неполноценно работать в других навигаторах из-за строчки document.forms.f.path2.innerHTML = request.responseText; - Мозилла ее не приймет. |
| Автор: Samotnik 6.2.2008, 14:11 |
| Автор: Kangaroo 6.2.2008, 14:17 |
А что пишет в ИЕ? Может какие-нибудь джаваскриптовые ошибки? Попробуй поставить тестовые алерты на разные куски кода. |
| Автор: Samotnik 6.2.2008, 14:24 | ||
так в том и дело, что ошибок не выдает, если бы увидел текст ошибки, сам бы исправил .... Добавлено через 1 минуту и 47 секунд и ни один алерт не срабатывает, хотя на сервлете все норм отрабатывает и пересылает назад,... а IE как ни в чем не бывало невозмутимо нихочет инфу отображать! И ошибок не выкидывает и аллерт не выводит |
| Автор: v2v 6.2.2008, 16:45 |
| проверь что бы в ие был доступен Актив Х |
| Автор: Samotnik 7.2.2008, 19:27 |
проверил.... в настройках вообще абсолютно ВСЕ разрешил, но .... не работает :'((((((( |
| Автор: Kangaroo 7.2.2008, 23:36 |
| Samotnik, выложи весь код сюда, поглядим. Только так чтобы можно покопировать и сразу запустить поглядеть, ничего не забывай |
| Автор: Samotnik 8.2.2008, 00:33 |
| Kangaroo, блин все просто, как 100 грамм пряникофф.... завтра выложу Добавлено через 11 минут и 17 секунд Kangaroo, для тебя, все что угодно !!! |
| Автор: Samotnik 8.2.2008, 15:18 | ||||||
Вопсчем .html
web.xml
и сервлетик
|
| Автор: Kangaroo 8.2.2008, 21:52 | ||
| Парился я полчаса Оказалось нужно поставить
чтобы ИЕ смог распарсить ответ сервера как xml Кстати вторая часть у меня не в ФФ, не в ИЕ не работает. Тут уже сам пробуй дальше )) |
| Автор: Samotnik 8.2.2008, 22:02 |
| Kangaroo, в точку !!! уже сам разобрался!! но все равно спасибо !!!!! (С меня как обычно |