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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> doPost не вызывается из сервлета на сервере JBoss 
V
    Опции темы
Ismo
Дата 5.11.2009, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет.  smile 
Есть апплет, работает нормально. В коде апплета, при нажатии на кнопку в нем исполняется код.
Посланный обьект лишь для проверки того работает ли метод на сервере или нет.
                
Код

                URL studentDBservlet = new URL("http://localhost:8080/mypage/myservlet");
        URLConnection servletConnection = studentDBservlet.openConnection();  

        // inform the connection that we will send output and accept input
        servletConnection.setDoInput(true);          
        servletConnection.setDoOutput(true);
                    
        // Don't use a cached version of URL connection.
        servletConnection.setUseCaches (false);
        servletConnection.setDefaultUseCaches (false);

        // Specify the content type that we will send binary data
        servletConnection.setRequestProperty ("Content-Type", "application/octet-stream");
                                       
        // send the student object to the servlet using serialization
        ObjectOutputStream outputToServlet = new ObjectOutputStream(servletConnection.getOutputStream());
                    
        // serialize the object
        outputToServlet.writeObject(new javax.swing.JLabel());
                    
        outputToServlet.flush();            
        outputToServlet.close();



Есть также сервлет, где есть такой метод.
Код

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    {
        javax.swing.JOptionPane.showMessageDialog(null, "Receiving data!");
        System.out.println("Receiving data!");
    }

И такой
Код

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        javax.swing.JOptionPane.showMessageDialog(null, "Sending data!");
        System.out.println("Sending data!");
    }



1) Метод doPost почему-то не вызывается при нажатии на кнопку в апплете
2) Ошибка в JavaConsole никакая не выдается, апплет работает дальше 
3) Если забить URL сервлета в браузер, то видно что doGet  выполняется.
4) Файл java.policy настроен так что разрешается все(опробовано).
5) web.xml содержит инфу о сервлете
6) Что делать? Спасибо.

Это сообщение отредактировал(а) Ismo - 5.11.2009, 21:27
PM MAIL   Вверх
Ismo
Дата 6.11.2009, 02:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Может мне кто-нибудь обьяснить эту "магию"?
Код

String stringToReverse = "ReverseMe";
URL url = new URL("http://localhost:8080/vncplay-online/VncplayIO");
URLConnection connection = url.openConnection();
connection.setDoOutput(true);

OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
out.write("string=" + stringToReverse);
out.close();
        
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
in.close();

Когда пишу код так, то срабатывает. А вот если убрать последние 2 строчки, то метод doPost не вызывается. Странно. Почему так? Неужели нельзя просто делать одну только команду output вывода в поток отдельно? Ее всегда должна сопровождать операция input?

Это сообщение отредактировал(а) Ismo - 6.11.2009, 02:20
PM MAIL   Вверх
COVD
Дата 6.11.2009, 06:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 4
Всего: 43



Цитата

Неужели нельзя просто делать одну только команду output вывода в поток отдельно? Ее всегда должна сопровождать операция input?


Да.

Цитата

Запрос отсылается после вызова getInputStream() или getResponseCode() (если используете HttpURLConnection, наследника URLConnection). Возможно также getResponseMessage() . Именно в этот момент, означающий, что вы окончательно закончили формировать запрос и перешли к обработке ответа, и отсылаются данные на сервер.

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


Новичок



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

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



Благодарю smile. Теперь ясно, значит все верно. Плюс поставить не могу, у меня еще нет 100 постов.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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