質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

3517閲覧

iPhoneからのJSPへのPOST送信方法についてご質問

退会済みユーザー

退会済みユーザー

総合スコア0

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2015/11/23 16:10

JSPで、POSTされた内容を受け取ろうとしていますが、別に開発したソフトからは、POSTでうまく呼べず、
下記で、post_i =null となります。

そこで、後記のPOST送信用HTMLを作って、送信したところ、post_i にデータが入るようになりました。
IE、CROM、FireFoxから、送信したものがすべて、取得できました。

この現象についてご確認ですが、
下記HTMLには、間違いがございますでしょうか?

また、ソフトとは、iPhoneのアプリで普通にPOSTしようとしているのですが、

もしよろしければ、iPhonからの POSTの送信するコードをサンプルソースなど、ご指摘やご記述頂ければ幸いです。
大変お手数をお掛けし、初歩的なことで申し訳ございませんが、

■POST受信用のJSP

<%@ page language='java' contentType="application/json;" session="true" pageEncoding="UTF-8"%>
<%
String post_i = request.getParameter("i");
%>

■POST送信用のHTML

<HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>POST送信テスト</TITLE> </HEAD> <BODY> <form action="https://test.jsp" method="post"> <textarea name="i" rows="4" cols="40">POSTしたいデータをここに書く</textarea> <input type="submit" value="送信"> </BODY> </html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ブラウザのHTMLからの呼び出しで、正常にPOSTの結果が受け取れるとの事ですので、iPhoneアプリ側のポストが何か問題あるのではないかと思います。

そこで、iPhoneからのPOSTですが、以下がObjective-CでNSURLConnectionを使用した例です。(NSURLConnectionは、iOS9ではすでにdeprecatedで、NSURLSessionに移行が推奨されています、ご注意を!)

Objective

1 //POST先 2 NSURL *url = [NSURL URLWithString:@"http://xxxxxxxxxxx/xxxx.cgi"]; 3 4 //POSTするデータ 5 NSData* postnsdata = ポストするデータ; 6 7 //リクエストの作成 8 NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: url]; 9 //このあたりがPOSTの肝の部分 10 [request setHTTPMethod: @"POST"]; 11 [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"]; 12 // 13 //必要なら他のヘッダも追加で指定する 14 // 15 [request setHTTPBody:postnsdata]; 16 17 //接続&リクエスト 18 _conn = [NSURLConnection connectionWithRequest:request delegate:self]; 19 if (!_conn) { 20 return NO; 21 } 22 23 //結果はdelegateで処理

Objective

1- (void)connection:(NSURLConnection *)conn didReceiveResponse:(NSURLResponse *)res; 2- (void)connectionDidFinishLoading:(NSURLConnection *)conn; 3- (void)connection:(NSURLConnection *)conn didFailWithError:(NSError *)error; 4- (void)connection:(NSURLConnection *)conn didReceiveData:(NSData *)receivedData;

投稿2015/11/23 21:05

ItoTomonori

総合スコア1283

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/12/07 14:10

ご回答ありがとうございます。 ご指摘の通り実施したところ、即解決できました。 私はサーバー担当ですが、画面対応は、かなり調査をし苦労をしていたので、 本当に助かりました。 心より感謝致します。 お通をお掛け致しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問