| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Java <-> php |
| Автор: Shklyar 14.4.2008, 15:28 |
| Добрый день. Вот захотел сделать оконную программку, в целях обучения (а возможно она будет мне и полезной), для загрузки данных на сайт (а вернее в MySQL). Где мой сайтик поддержки JSP нет (php + mysql). Возможно-ли сделать так: программка на моем компьютере создает sql query и передает его php скрипту на сайте, который работает с MySQL. (работать с MySQL могут, как я понимаю, только программы с сервера?) Так можно сделать? Если да - подскажите как наладить контакт Java (на моем компе) <-> php (на сервере). Если можно - на простеньком примере. |
| Автор: LSD 14.4.2008, 15:34 |
| Да можно. Берешь http://hc.apache.org/httpclient-3.x/, передаешь POST-ом серверу запрос, PHP его получает и выполняет в MySQL-е. Результат выполнения возвращает твое программе. P.S. И стоит подумать о безопасности, а то выполнить любой запрос на сервере, это очень нехило. |
| Автор: Goganchic 14.4.2008, 15:39 |
| Согласен с LSD, может быть стоит прикрутить какую-нибудь авторизацию, а еще лучше пустить траф по HTTPS |
| Автор: Shklyar 14.4.2008, 16:20 |
| Буду изучать. А пока, если можно, проиллюстрируете работу HTTP клиента на супер простом примере. |
| Автор: LSD 14.4.2008, 16:27 |
| http://svn.apache.org/viewvc/httpcomponents/oac.hc3x/trunk/src/examples/. |
| Автор: v2v 14.4.2008, 16:34 | ||
|
| Автор: Shklyar 16.4.2008, 11:32 | ||
Это правильный HTTP запрос? Почему-то методом GET получается передать параметр, а методом POST - нет. |
| Автор: LSD 16.4.2008, 11:46 |
| Код покажи. |
| Автор: Shklyar 16.4.2008, 12:09 | ||
|
| Автор: LSD 16.4.2008, 12:15 |
| Ужас! Во первых что за хост такой HTTPClient.java |
| Автор: Shklyar 16.4.2008, 15:32 | ||
|
| Автор: v2v 16.4.2008, 15:53 |
| так гораздо лучше, хотя было бы не плохо отделить в разные методы / классы работу с графическими элементами (jTextArea2) и с самим протоколом http . |
| Автор: Shklyar 16.4.2008, 16:06 |
| тож подумал, что логично вынести это в конструктор отдельного статического(?) класса? |
| Автор: v2v 16.4.2008, 16:23 |
| а что такое "статический класс" : я такого не знаю |
| Автор: Shklyar 17.4.2008, 11:40 |
| А как называют класс, когда нельзя создать объект этого класса? |
| Автор: LSD 17.4.2008, 13:11 |
Абстрактный. |
| Автор: Shklyar 21.4.2008, 14:20 |
| Подскажите еще: Как передать методом post массив? |
| Автор: LSD 21.4.2008, 14:26 |
Как хочешь. Никаких стандартов на это нет. Можешь передать в виде строки, где значения разделены точкой с запятой, можешь передать через параметры: array-myarray-0 - первый элемент массива, array-myarray-1 - второй элемент массива и т.д. |
| Автор: Shklyar 21.4.2008, 16:14 |
| А если большой будет массив не возникнет проблем? Что такое serialize? Можно-ли упаковать массив в String myArray = "абракадабра" Добавлено через 55 секунд А потом прочесть это в php? |
| Автор: LSD 21.4.2008, 16:54 |
http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%80%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F Стандартная сериализация в Java такова, что прочесть данные не из Java - проблематично. |
| Автор: Shklyar 21.4.2008, 17:04 |
| Боюсь, что в значении могут присутствовать все символы.. |
| Автор: LSD 21.4.2008, 18:20 |
Тогда экранируй их. |
| Автор: Shklyar 22.4.2008, 14:30 |
Посоветуйте как. |