2016-06-28 3 views
-1

この簡単なポストメソッドはサーバー(サーブレット)に何も送信しませんでした。私は得ることができますが、私は投稿することはできません!サーバー側でサーブレットが空になったOutputStream

@Override 
     protected String doInBackground(String... params) { 
      try { 
       URL url = new URL("http://ipaddr:8080/work/wh"); 
       HttpURLConnection client = (HttpURLConnection) url.openConnection(); 
       client.setRequestMethod("POST"); 
       client.setDoOutput(true); 
       client.setChunkedStreamingMode(0); 
       client.connect(); 

       OutputStream outputStream = client.getOutputStream(); 
       PrintWriter pw = new PrintWriter(outputStream); 
       pw.println(System.currentTimeMillis()); 
       pw.println(System.currentTimeMillis()); 
       pw.println(new Float(5.6)); 
       pw.println(new Integer(3)); 
       pw.println(new Integer(2)); 
       pw.println(new Integer(32)); 
       pw.println(new Integer(2)); 
       pw.close(); 
       outputStream.close(); 

      }catch(Exception e){ 
       Log.e("text", "ux " + e.getMessage()); 
      } 
      return null; 
     } 

私は

はNoSuchElementExceptionを取得する任意の行new Scanner(request.getInputStream()).nextLine();を読みしようとした場合:いいえ行が

あなたは問題が何であるかと思いますを発見しましたか?

+0

'NoSuchElementException'は '無効'ではありません。 – EJP

+0

私は空白オブジェクトを取得することを意味します。inputsteamにはデータがありません – Error

+0

コードはMCVE形式ではなく、これまでに提供された情報に原因が表示されないため、推測できるのは推測のみです。要求本体がすでにサーバーによって(暗黙的に)解析されているときに、要求本体が空になることは承知していますか?例えば。 'request.getParameter()'を呼び出すと、すぐに解析されます。にもかかわらず、HTMLフォームで使用されていて、サーブレットAPIによってネイティブにサポートされているデフォルトの 'application/x-www-form-urlencoded'フォーマットに従ってください。参照してくださいhttp://stackoverflow.com/q/2793150 – BalusC

答えて

-1

PrintWritter/Outputstreamを閉じる前に、それらを消去してみてください。

+0

あなたは何をフラッシュするか知っていますか? – Error

+0

バッファリングされた出力バイトを強制的に書き出します。 –

+1

close close flush()を呼び出します。 – Error

関連する問題