Форум программистов, компьютерный форум, киберфорум
Java: Сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
2 / 2 / 1
Регистрация: 13.08.2015
Сообщений: 15
1

HTTP Post запрос Java

13.08.2015, 17:49. Показов 3697. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, подскажите в чем проблема? Необходимо реализовать передачу параметров от Клиента Серверу, от клиента параметры улетают, но сервлет похоже не получает их, потому что при получении сообщения от сервлета значение параметра равно null.


Код Клиента

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
public class httpPost {
    private static final String USER_AGENT = "Mozilla/5.0";
 
    public static void main(String[] args) throws Exception {
 
        httpPost http = new httpPost();
        System.out.println("\nTesting 2 - Send Http POST request");
        http.sendPost();
    }
 
        private void sendPost() throws Exception {
 
                String url = "http://localhost:8080/gr-Vers1";
            URL obj = new URL(url);
            HttpURLConnection con = (HttpURLConnection) obj.openConnection();// создание класса URLCONNECTION
            con.setDoOutput(true);
 
            ByteArrayOutputStream byteStream=new
                    ByteArrayOutputStream(400);
            PrintWriter out=new PrintWriter(byteStream,true);
            String xml="urlParameters=blabla&sd=2";
            out.write(xml);
            out.flush();
 
                //add reuqest header
            con.setRequestMethod("POST");
            con.setRequestProperty("User-Agent", USER_AGENT); //установка свойств запроса
            con.setRequestProperty("Content-Length", String.valueOf(byteStream.size()));
            con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");//установка свойств запроса
            con.setRequestProperty("Content-Type",
                    "application/x-www-form-urlencoded");
 
            byteStream.writeTo(con.getOutputStream());
            // Send post request
 
            int responseCode = con.getResponseCode(); //получение кода ответа(200)
            System.out.println("\nSending 'POST' request to URL : " + url);
            System.out.println("Post parameters : " + xml);
            System.out.println("Response Code : " + responseCode);
 
            BufferedReader in = new BufferedReader(
                    new InputStreamReader(con.getInputStream()));
            String inputLine;
            StringBuffer response = new StringBuffer();
 
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
 
            System.out.println(response.toString());
 
        }
    }
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class MainServlet1 extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String s=request.getParameter("sd");
 
        response.setContentType("text;charset=windows-1251");
        PrintWriter out=response.getWriter();
        BufferedReader in=request.getReader();
        FileWriter file=new FileWriter("c://data.txt");
        out.print(s);
        while((s=in.readLine())!=null)
            file.write(s);
        file.close();
        out.println("Ваша информация записана");
        out.close();
    }
 
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }

Код Сервлета
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.08.2015, 17:49
Ответы с готовыми решениями:

HTTP запрос через Apache HTTP Client ничего не возвращает
У меня есть один сайт. Простой сайт на php. И есть второй сайт, где используется java на JBoss. Я...

Посылка данных на чужой сервер через http post - проблема
Привет! Есть вот такой код: URL url = new URL(hostString); HttpURLConnection urlConnector =...

Http сервер на java
Добрый день. Есть вот такой код после исполнения которого по ссылке localhost:9091 открывается html...

Java HTTP сервер
Здравствуйте. Тема очень распространенная, и есть множество решений. Первое, это на сокетах:...

3
0 / 0 / 0
Регистрация: 05.08.2015
Сообщений: 3
14.08.2015, 02:26 2
Могу ошибаться, я новичек в Java, но, возможно, вам нужно прописать еще
Java
1
con.setDoInput(true);
для получения ответа от сервера.
0
2 / 2 / 1
Регистрация: 13.08.2015
Сообщений: 15
14.08.2015, 13:20  [ТС] 3
решение оказалось до банального простым. Протестировав не через java клиент, а через отправку простой формы из браузера, получил сообщение 302, пришёл к выводу, что неправильно задан url адрес на сервлет, после исправления, всё заработало.
0
karakulx
22.08.2015, 22:49     HTTP Post запрос Java
  #4
 Комментарий модератора 
4.6 Обсуждение вопросов - только в теме на форуме. Приглашения к обсуждению еще где-либо (в том числе и с помощью системы личных сообщений) запрещены, за исключением коммерческих разделов.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.08.2015, 22:49

Объясните как работает POST запрос в Java
Уважаемые форумчане, не могли бы вы написать простой POST запрос на java с комментариями, какая...

Как из Java-приложения послать POST-запрос с параметрами?
С GET понятно: String s='http://localhost/MyWEB/Page1.asp?p1=1&p2=2&...'; URL url=new URL(s);...

http server,http сервер, post
Необходимо реализовать функцию post для http сервера Косяк как принимать сообщение отправленное -...

HTTP запрос и POST
Нужно сделать запрос методом POST, делаю так: var val1 = 1; var val2 = 2; var xmlHttpReq = new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru