• 締切済み

HttpURLConnectionを使ったHTTP

HttpURLConnectionを使ったHTTP通信について質問です。 POSTメソッドで、JSON形式のデータを送信しています。 送信先URLは自作のサーブレットです。 HTTP接続はできましたが、サーブレット側でJSON形式のデータをどのように取得すればよいかが分かりません。 JSON形式ではなく「p1=aaa&p2=bbb」のようなパラメータであれば、getParameter("p1")で取得できるのですが・・・ ソースの抜粋は以下の通りです。 <クライアント側>--------------------------------------------------- URL url = new URL("サーブレットのURL"); HttpURLConnection uc = (HttpURLConnection) url.openConnection(); uc.setDoOutput(true); uc.setRequestMethod("POST"); String postStr = "{\"id\": \"blog\"}"; OutputStream os = uc.getOutputStream(); PrintStream ps = new PrintStream(os); ps.print(postStr); ps.close(); InputStream is = uc.getInputStream(); ------------------------------------------------------------------- <サーブレット側>--------------------------------------------------- public void doPost(HttpServletRequest request, HttpServletResponse response)     throws IOException, ServletException {     // ここでpostStr の内容を取得したい! } ------------------------------------------------------------------- JAVAの知識が浅いため、分かりにくい質問になっていたらすいません。 ご存知の方、よろしくお願いします。

みんなの回答

noname#155524
noname#155524
回答No.2

HTTPの仕様をよーく読んでみて下さい。

参考URL:
http://www.studyinghttp.net/method#POST
blue_en
質問者

お礼

ありがとうございます。 HTTPの仕様を見ても分からなかったので質問させてもらいました。 残念ながら参考URLは見れませんでしたが もう一度、HTTPの仕様を読んでみます。

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 JSON形式とはいえ、文字列には変わりありませんから postStr = "p={\"id\": \"blog\"}"; として、getParameter("p")で取得ではダメでしょうか。

blue_en
質問者

お礼

ありがとうございます。 良い手段が見つからない場合は ご提案の方法で検討します。

関連するQ&A