Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / отправка данных серверу / 25 сообщений из 47, страница 1 из 2
28.11.2005, 18:44
    #33404354
i'm_novice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
можно ли сделать так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
   static  Random rand =  new  Random();
   static   int  pRand( int  mod) {
     return  Math.abs(rand.nextInt()) % mod +  1 ;
  }

...

 public   void  doPost(HttpServletRequest request, HttpServletResponse response)  throws  ServletException, IOException {
     int  [] mas =  new   int [pRand( 20 )];
    
    URL url =  new  URL("http://server");
    URLConnection con = url.openConnection();
    con.setDoOutput(true);
    con.setUseCaches(false);    
    OutputStream outstream = con.getOutputStream();
    ObjectOutputStream oos =  new  ObjectOutputStream(outstream);
    oos.writeObject(mas);
    oos.flush();
    oos.close();

    response.sendRedirect("http://server");
  }

а то выдает 500-ую ошибку
...
Рейтинг: 0 / 0
28.11.2005, 18:50
    #33404365
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
что хотите сделать?


-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
28.11.2005, 19:01
    #33404379
i'm_novice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
нужно отправить массив данных на сервер по url
...
Рейтинг: 0 / 0
28.11.2005, 19:07
    #33404388
i'm_novice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
на сервере на php реализовано принятие данных методом POST (не я писал; не знаю как; так сказали). в итоге на html-странице отображается Array() = /*здесь должен быть пришедший массив*/
...
Рейтинг: 0 / 0
28.11.2005, 21:02
    #33404531
коты
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
смотрите логи сервера.

just another freak in the Freak Kingdom
...
Рейтинг: 0 / 0
29.11.2005, 09:44
    #33404907
i'm_novice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
ошибку рисует в строке OutputStream outstream = con.getOutputStream();
...
Рейтинг: 0 / 0
29.11.2005, 10:34
    #33405045
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
i'm_novice

> static Random rand = new Random();static int pRand(int mod)
> {return Math.abs(rand.nextInt()) % mod + 1; }

> ...public void doPost(HttpServletRequest request,
> HttpServletResponse response) throws ServletException, IOException
> {int [] mas = new int[pRand(20)];
> URL url =new URL("http://server"); URLConnection con = url.openConnection();
> con.setDoOutput(true);
> con.setUseCaches(false);
> OutputStream outstream = con.getOutputStream();
> ObjectOutputStream oos =new ObjectOutputStream(outstream); oos.writeObject(mas);
> oos.flush();
> oos.close();

> response.sendRedirect("http://server"); }






чтобы не было 500ой ошибки, нужно:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
int [] mas = new int[pRand( 20 )];
try {
   URL url =new URL("http://server");
   URLConnection con = url.openConnection();
   con.setDoOutput(true);
   con.setUseCaches(false);
   OutputStream outstream = con.getOutputStream();
   ObjectOutputStream oos =new ObjectOutputStream(outstream);    oos.writeObject(mas);
   oos.flush();
   oos.close();
}
catch (Exception e) {
   e.printStackTrace();
}
response.sendRedirect("http://server");


далее, чтобы не вылетал Exception, нужно убедиться, что по адресу
http://server запущен сервер, который принимает объекнтые данные.

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
29.11.2005, 11:06
    #33405161
i'm_novice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
принимающий сервер запущен, но tomcat пишет: java.net.UnknownHostException: server
...
Рейтинг: 0 / 0
29.11.2005, 11:29
    #33405233
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
i'm_novice
> принимающий сервер запущен, но tomcat пишет:
> java.net.UnknownHostException: serverТема==Ответить




http://server
server - это что за адрес?
по умолчанию коннект будет на 80 порт, на котором, как я понимаю, у
вас томкат крутится.

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
29.11.2005, 12:17
    #33405431
i'm_novice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
так и есть.
повесил томкат на 8088, теперь при сабмите формы отказывает в доступе на localhost:8080.
вопросы к админу?
...
Рейтинг: 0 / 0
29.11.2005, 12:35
    #33405510
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
i'm_novice
> так и есть.
> повесил томкат на 8088, теперь при сабмите формы отказывает в доступе на localhost:8080.
> вопросы к админу?Тема==Ответить




томкат не умеет читать объектные потоки.
у вас изначально все неправильно сделано :).
подозреваю, что причиной стало непонимание логики работы
Web-приложений.

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
29.11.2005, 12:42
    #33405542
i'm_novice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
а если не объектный поток а просто OutputStream?
...
Рейтинг: 0 / 0
29.11.2005, 12:51
    #33405577
i'm_novice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
Deady

томкат не умеет читать объектные потоки.


чего-то не понимаю. а если связывать апплет с сервлетом, между ними можно же передавать объектные потоки? томкат ведь тоже испольуется...
...
Рейтинг: 0 / 0
29.11.2005, 12:57
    #33405595
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
i'm_novice
> а если не объектный поток а просто OutputStream?Тема==Ответить




если на видеомагнитофон сверху положить cd-rom, видеомагнитофон станет
проигрывать dvd-фильмы?

параметры сервлету (а в web-контейнере крутятся только сервлеты,
фильтры и листнеры) передаются в url. например
http://server/servlet?param1=value1.

если нужно передать информацию с помощью потоков, нужно создать свой
сервер. см javadoc ServerSocket. и соединяться в сервлете с ним.





-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
29.11.2005, 13:04
    #33405621
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
i'm_novice
> Deady

> томкат не умеет читать объектные потоки.


> чего-то не понимаю. а если связывать апплет с сервлетом, между
> ними можно же передавать объектные потоки? томкат ведь тоже
> испольуется...Тема==Ответить




а зачем вам такой геморой с сервлетами.
передать параметры другому сервлету можно так:

Код: plaintext
1.
2.
  byte[] data = ...;
  request.setAttribute("name", data);
  

а потом перейти к сервлету:
Код: plaintext
1.
2.
  RequestDispatcher disp = request.getRequestDispatcher("/path_to_servlet);
  disp.forward(request, response);
  

затем в том новом сервлете получить данные можно так:
Код: plaintext
1.
  byte[] data = (byte[]) request.getAttribute("name");
  


-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
29.11.2005, 13:51
    #33405805
i'm_novice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
Deady а зачем вам такой геморой с сервлетами.

благодарю за совет. только у меня один сервлет.

смысл какой. сервлет получил данные от пользователя, обработал, результат
(массив, объект, что угодно) нужно отослать на какой-либо сайт, находящийся на
сервере (в частности в корень сайта), допустим http://mysite/. сайт нарисован на
php. в index-ой странице реализован POST по приему данных. не по-русски,
наверное, выразился, но... в общем, принятые данные выводятся в какое-либо
место в странице.
и вот нужно просто отослать данные серверу. что там с ними будет дальше, меня
не волнует. еще может потребоваться (а может и не потребоваться) направлять
пользователя на ту страницу, куда пришли результаты.
...
Рейтинг: 0 / 0
29.11.2005, 14:05
    #33405851
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
i'm_novice
> смысл какой. сервлет получил данные от пользователя, обработал, результат
> (массив, объект, что угодно) нужно отослать на какой-либо сайт, находящийся на
> сервере

сервер на другой машине?
i'm_novice

> (в частности в корень сайта),

в корень сайта невозможно передать данные. данные могут быть переданы
только cgi-программе. вероятно вы имели ввиду, что есть такая
программа, которая замапена на http://server/
i'm_novice
> допустим http://mysite/. сайт нарисован на
> php. в index-ой странице реализован POST по приему данных. не по-русски,
> наверное, выразился, но... в общем, принятые данные выводятся в какое-либо
> место в странице.
> и вот нужно просто отослать данные серверу.

для этой цели разумнее использовать commons-httpclient
i'm_novice

> что там с ними будет дальше, меня
> не волнует. еще может потребоваться (а может и не потребоваться) направлять
> пользователя на ту страницу, куда пришли результаты.

интересно, как та страница на php узнает, что я именно тот, кто
отправлял данные?
но с перенаправлением я вам сказал - sendRedirect()


-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
29.11.2005, 14:23
    #33405926
i'm_novice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
Deadyсервер на другой машине?
да

Deadyдля этой цели разумнее использовать commons-httpclient
что есть commons-httpclient?

Deadyинтересно, как та страница на php узнает, что я именно тот, кто
отправлял данные?
понятия не имею. тот, кто писал, объяснял что-то, типа если к php обращаются
методом post, то он (php) шарит, что данные пришили методом post b кидает
поступившие данные в како-то свой массив, с которым можно делать что хочешь...
скорей всего я его не правильно понял, т.к. нет желания влезать в php.

Deadyно с перенаправлением я вам сказал - sendRedirect()
да, спасибо, sendRedirect отлично работает
...
Рейтинг: 0 / 0
29.11.2005, 14:42
    #33405994
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
i'm_novice

> что есть commons-httpclient?



www.google.com :)

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
29.11.2005, 14:44
    #33406007
i'm_novice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
Deady i'm_novice

> что есть commons-httpclient?



www.google.com :)



че-та я вообще туплю ))
...
Рейтинг: 0 / 0
30.11.2005, 12:10
    #33408021
i'm_novice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
попробывал я использовать commons-httpclient.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
   public   void  doPost(HttpServletRequest request, HttpServletResponse response) 
            throws  ServletException, IOException {
    String str_1 = request.getParameter("in");
    String str_2 = request.getParameter("out");
    String url = "http://server";
    
     try  {
      HttpClient client =  new  HttpClient();
      PostMethod post =  new  PostMethod(url);
      post.addParameter(str_1, str_2);
       int  statusCode = client.executeMethod(post);
       if  (statusCode != - 1 ) {
        String contents = post.getResponseBodyAsString();
        post.releaseConnection();
        System.out.println(contents);
      }
    }
     catch  (Exception e) {
      e.printStackTrace();
    }
    
    response.sendRedirect(url);
  }

получил 500-ую ошибку и root cause в строке PostMethod post = new PostMethod(url);
отчего же?
...
Рейтинг: 0 / 0
30.11.2005, 16:55
    #33409154
i'm_novice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
и все же... почему возникает ServletException и NoClassDefFoundError из-за PostMethod?
...
Рейтинг: 0 / 0
30.11.2005, 16:59
    #33409167
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
i'm_novice
> и все же... почему возникает ServletException и
> NoClassDefFoundError из-за PostMethod?Тема==Ответить




servletException возникает из-за NoClassDefFoundError, который в
свою очередь возникает из-за того, что приложение не может найти
какой-то класс. какой- написано в описании Exception

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
30.11.2005, 17:06
    #33409196
i'm_novice
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
я понял, что он не может найти класс PosMethod, но почему? java-файл компилируется без ошибок, создается *.class, jar с библиотекой commons-httpclient лежит в \WEB-INF\lib... что ему еще нужно?
...
Рейтинг: 0 / 0
30.11.2005, 17:11
    #33409215
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отправка данных серверу
i'm_novice
> я понял, что он не может найти класс PosMethod, но почему?
> java-файл компилируется без ошибок, создается *.class, jar с
> библиотекой commons-httpclient лежит в \WEB-INF\lib... что ему еще
> нужно?Тема==Ответить




тынц
поиск по форуму есть кстати

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / отправка данных серверу / 25 сообщений из 47, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]