2

サーバーを使用するだけでなく、GoogleクラウドストレージAPIも初めてです。Eclipse の IDE を使用して Java で Web アプリケーションを作成し、Google のクラウド ストレージに保存されているファイルを読み込もうとしています。サーバー側でファイルを読み込むコードがありますが、RemoteServiceServlet ではなく httpServlet をサポートするようにクライアント側でサンプル コードを変更する方法がわかりません。どんな助けや提案も大歓迎です!

以下は、サーバー側の私のコードです。

package com.google.gwt.sample.interfacecloud.server;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.channels.Channels;
import java.util.ArrayList;

import javax.servlet.http.*;
import com.google.gwt.sample.interfacecloud.client.GreetingService;

import com.google.appengine.api.files.AppEngineFile;
import com.google.appengine.api.files.FileReadChannel;
import com.google.appengine.api.files.FileService;
import com.google.appengine.api.files.FileServiceFactory;
import com.google.appengine.api.files.FileWriteChannel;
import com.google.appengine.api.files.GSFileOptions.GSFileOptionsBuilder;

@SuppressWarnings("serial")
public class CloudInteraction extends HttpServlet implements GreetingService{
public static final String BUCKETNAME = "obd_data";
public static final String FILENAME = "data.txt";

@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException
{
    resp.setContentType("text/plain");

    String filename = "/gs/" + BUCKETNAME + "/" + FILENAME;
    FileService fileService = FileServiceFactory.getFileService();
    AppEngineFile readableFile = new AppEngineFile(filename);
    FileReadChannel readChannel =
            fileService.openReadChannel(readableFile, false);
    BufferedReader reader = 
            new BufferedReader(Channels.newReader(readChannel, "UTF8"));
    String line = reader.readLine();
    resp.getWriter().println("READ:"+line);
    System.out.println(line);
    readChannel.close();
}

@Override
public String greetServer(String name) throws IllegalArgumentException {
    // TODO Auto-generated method stub
    return null;
}

}
4

1 に答える 1

1

RPC とプレーンなサーブレットを組み合わせて使用​​しています。あなたはそれをすべきではありません。プレーンなサーブレットを使用する場合は、そのような対話用の RPC インターフェースを廃止してください。このシナリオでは、RequestBuilder を使用することをお勧めします。注 - あなたの要件が何であるかはあまり明確ではありませんか?

于 2013-02-05T05:57:01.520 に答える