Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Java <-> php 
V
    Опции темы
Shklyar
Дата 14.4.2008, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 28.11.2007
Где: Kyiv

Репутация: 2
Всего: 3



Добрый день.
Вот захотел сделать оконную программку, в целях обучения (а возможно она будет мне и полезной), для загрузки данных на сайт (а вернее в MySQL).
Где мой сайтик поддержки JSP нет (php + mysql). Возможно-ли сделать так: программка на моем компьютере создает sql query и передает его php скрипту на сайте, который работает с MySQL. (работать с MySQL могут, как я понимаю, только программы с сервера?)

Так можно сделать? Если да - подскажите как наладить контакт Java (на моем компе) <-> php (на сервере). Если можно - на простеньком примере.

--------------------
https://www.youtube.com/watch?v=JZN8Xaebs_U
PM WWW   Вверх
LSD
Дата 14.4.2008, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Да можно. Берешь HttpClient, передаешь POST-ом серверу запрос, PHP его получает и выполняет в MySQL-е. Результат выполнения возвращает твое программе.

P.S. И стоит подумать о безопасности, а то выполнить любой запрос на сервере, это очень нехило.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Goganchic
Дата 14.4.2008, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 678
Регистрация: 18.6.2004

Репутация: нет
Всего: 5



Согласен с LSD, может быть стоит прикрутить какую-нибудь авторизацию, а еще лучше пустить траф по HTTPS
PM Jabber   Вверх
Shklyar
Дата 14.4.2008, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 28.11.2007
Где: Kyiv

Репутация: 2
Всего: 3



Буду изучать.

А пока, если можно, проиллюстрируете работу HTTP клиента на супер простом примере.
--------------------
https://www.youtube.com/watch?v=JZN8Xaebs_U
PM WWW   Вверх
LSD
Дата 14.4.2008, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538





--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
v2v
Дата 14.4.2008, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 8
Всего: 56



Код

    try {
        URL url = new URL("http://myserver.com/executesql?sql=select name from my_db.my_table&login=administrator&password=administratorpassword");
        URLConnection conn = url.openConnection();
        }
    } catch (Exception e) { e.printStackTrace();  }


Это сообщение отредактировал(а) v2v - 14.4.2008, 16:35


--------------------
PM   Вверх
Shklyar
Дата 16.4.2008, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 28.11.2007
Где: Kyiv

Репутация: 2
Всего: 3



Код

POST http://www.HTTPClient.java HTTP/1.1
Host: HTTPClient.java
User-Agent: HTTPClient

param1=1

Это правильный HTTP запрос? Почему-то методом GET получается передать параметр, а методом POST - нет.
--------------------
https://www.youtube.com/watch?v=JZN8Xaebs_U
PM WWW   Вверх
LSD
Дата 16.4.2008, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Код покажи.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Shklyar
Дата 16.4.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 28.11.2007
Где: Kyiv

Репутация: 2
Всего: 3



Код

            byte buf[] = new byte[64*1024];
            int r;
            
            String header = new String(jTextArea1.getText());

            // String host = extract(header, "Host:", "\n"); ???
            String host = "HTTPClient.java";
            if(host == null)
            {
                jTextArea2.setText("invalid request:\n"+header);
                return;
            }
            
            int port = host.indexOf(":", 0);
            if(port < 0) port = 80;
            else
            {
                port = Integer.parseInt(host.substring(port+1));
                host = host.substring(0, port);
            }
            
            Socket s = new Socket(host, port);
            
            s.getOutputStream().write(header.getBytes());
            
            InputStream is = s.getInputStream();
            
            r = is.read(buf);
            jTextArea2.setText(new String(buf, 0, r));
        } catch(Exception e) {
            e.printStackTrace();
        }

--------------------
https://www.youtube.com/watch?v=JZN8Xaebs_U
PM WWW   Вверх
LSD
Дата 16.4.2008, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Ужас! Во первых что за хост такой HTTPClient.java smile Во вторых, зачем надо руками формировать HTTP запрос, есть же готовые классы?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Shklyar
Дата 16.4.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 28.11.2007
Где: Kyiv

Репутация: 2
Всего: 3



Код

        try {
            URL s = new URL("http://test.net/");
            URLConnection sc = s.openConnection();
            sc.setDoOutput(true);
            PrintWriter out = new PrintWriter(sc.getOutputStream());
            out.print(jTextArea1.getText());
            out.close();
            
            BufferedReader in = new BufferedReader(
                    new InputStreamReader(sc.getInputStream()));
            String inputLine;
            jTextArea2.setText("");
            while ((inputLine = in.readLine()) != null)
                jTextArea2.setText(jTextArea2.getText()+inputLine+"\n");
            in.close();
        } catch(Exception e) {
            e.printStackTrace();
        }

--------------------
https://www.youtube.com/watch?v=JZN8Xaebs_U
PM WWW   Вверх
v2v
Дата 16.4.2008, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 8
Всего: 56



так гораздо лучше, хотя было бы не плохо отделить в разные методы / классы работу с графическими элементами (jTextArea2) и с самим протоколом http .


--------------------
PM   Вверх
Shklyar
Дата 16.4.2008, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 28.11.2007
Где: Kyiv

Репутация: 2
Всего: 3



тож подумал, что логично вынести это в конструктор отдельного статического(?) класса?
--------------------
https://www.youtube.com/watch?v=JZN8Xaebs_U
PM WWW   Вверх
v2v
Дата 16.4.2008, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 8
Всего: 56



а что такое "статический класс" : я такого не знаю  smile 


--------------------
PM   Вверх
Shklyar
Дата 17.4.2008, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 28.11.2007
Где: Kyiv

Репутация: 2
Всего: 3



А как называют класс, когда нельзя создать объект этого класса?

--------------------
https://www.youtube.com/watch?v=JZN8Xaebs_U
PM WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0569 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.