1

次のスニペットは、URL とともに 2 つのパラメーターをサーブレットに送信しようとします。しかし、このスニペットを試すと、次のメッセージが表示されます。

Connection to file server failed

しかし、URLを直接試すと:

http://localhost:8084/nappster/ReceiveFileName?fileName=" + fileName + "&ip=" + IP

データに問題はありません。サーブレットはファイル名を受け取り、期待どおりに処理します。コードを介して URL に接続しようとすると、ブラウザーで試行すると失敗し、成功する理由は何でしょうか。

  protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String fileName = request.getParameter("FileTag");
    String IP = new ClientAddress().getNetworkIP();                
    // Send the file name to the nappster server 
    URL url = new URL("http://localhost:8084/nappster/ReceiveFileName?fileName=" + fileName + "&ip=" + IP);
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    if(connection.getResponseCode() == 200) {
        // File name sent successfully to the server
        System.out.println("Connection to file server successful");
        System.out.println("--------");
    } else {
        // Unable to send file name to the server
        System.out.println("Connection to file server failed");

     }
}

ノート :

上記のスニペットを試したときに返される応答コードは505です

4

1 に答える 1

1

url.encode()メソッドを使用してみてください。

于 2013-01-04T15:01:36.057 に答える