0

特定の URL に対して GET を実行する Java サーブレット クラスがあります。また、GET の一部としてデータを渡しています。

私が必要としているのは、このデータを受信する HTTP サーバー コードです。ユーザー ベースの応答データをヘッダーに挿入して、呼び出し元の Java サーブレット クラスがそれを読み取れるようにする方法です。

.getResponseCode() などの標準的な応答を読み取ることはできますが、何らかの方法で独自の応答をヘッダーに挿入する必要があります。これはどのように行うことができますか?どうすれば読めますか?

これは私のJavaサーブレット送信クラスです:

public void sendRequest(String data, String sendUrl) throws Throwable{

    String messageEncoded = URLEncoder.encode(data, "UTF-8");
    String message = URLDecoder.decode(messageEncoded);
    System.out.println("messageEncoded : " + messageEncoded);
    System.out.println("messageDecoded : " + message);

    try {                 
        URL url = new URL(sendUrl);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();            
        connection.setDoOutput(true);            
        connection.setRequestMethod("GET");            
        OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());           
        writer.write(message);    
        writer.close();   

        BufferedReader rd = null; 
        StringBuilder sb = null; 
        String line = null; 

        System.out.println(" *** headers ***"); 
        for (Entry<String, List<String>> headernew : connection.getHeaderFields().entrySet()) { 
            System.out.println(headernew.getKey() + "=" + headernew.getValue()); 
        } 

        System.out.println(" \n\n*** Body ***"); 
        rd = new BufferedReader(new InputStreamReader(connection.getInputStream())); 
        sb = new StringBuilder(); 

        while ((line = rd.readLine()) != null) { 
            sb.append(line + '\n'); 
        } 

        System.out.println("body=" + sb.toString());     

        System.out.println("connection.getResponseCode() : " + connection.getResponseCode());
        System.out.println("connection.getResponseMessage()" + connection.getResponseMessage());

        if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) { 
            // Ok
        } else {                
            // Server returned HTTP error code.            
        }   

    } catch (MalformedURLException e) {            
        // ...
        System.out.println(this.getClass() + " : MalformedURLException Error occured due to: " + e);
    } catch (IOException e) {           
        System.out.println(this.getClass() + " : IOException Error occured due to: " + e);   
    }
}   
4

0 に答える 0