如何使用gwt处理couchdb的数据库连接?

如何使用gwt处理couchdb的数据库连接?,gwt,couchdb,Gwt,Couchdb,我是couchdb的新手,我想了解如何在gwt服务器端程序中连接couchdb。到目前为止,我试图在它的gui上创建数据库、添加文档和添加字段,但我无法在程序中使用它。具体的方法是什么。。 我尝试了一些代码,但没有成功。Couchdb的api有一个restful接口。一切都可以通过url的喜欢 http://localhost:5984/db_name/doc_name 事实上,整个http api都是。现在我不熟悉gwt,但是每个框架都有http库,您可以使用这些库调用couchdb http

我是couchdb的新手,我想了解如何在gwt服务器端程序中连接couchdb。到目前为止,我试图在它的gui上创建数据库、添加文档和添加字段,但我无法在程序中使用它。具体的方法是什么。。
我尝试了一些代码,但没有成功。

Couchdb的api有一个restful接口。一切都可以通过url的喜欢

http://localhost:5984/db_name/doc_name

事实上,整个http api都是。现在我不熟悉gwt,但是每个框架都有
http
库,您可以使用这些库调用couchdb http端点


快速的谷歌搜索为我提供了一些资源,可以指导您如何通过gwt创建http请求

在GWT中,您的服务器中应该有类似的东西。除此之外,您还应该拥有实体的DAO(
erktorp
发生在这里)和连接GWT客户端与服务器的机制(例如
RequestFactory

  //Object of your own related with couch db management
  CouchDbAccess couchDbAccess = null;

  @Inject
  public CouchDbManagement(String ddbbUrl, String ddbbName) throws IOException {
    HttpClient httpClient;
    Builder b;
    try {
      b = new StdHttpClient.Builder().url(ddbbUrl);  
    } catch (Exception e) {
      e.printStackTrace();
      ddbbUrl = "http://admin:sa@localhost:5984";
      b = new StdHttpClient.Builder();
    }

    b.socketTimeout(60000);

    String user = getUserFrom(ddbbUrl);
    String pass = getPassFrom(ddbbUrl);
    b.username(user).password(pass);

    httpClient = b.build();


    CouchDbInstance dbInstance = new StdCouchDbInstance(httpClient);
    if (initialize && dbInstance.getAllDatabases().contains(ddbbName)) {
      dbInstance.deleteDatabase(ddbbName);
      dbInstance = new StdCouchDbInstance(httpClient);
    }

    //If you want Lucene, here is the place

    db.createDatabaseIfNotExists();
    new IndexUploader().updateSearchFunctionIfNecessary(db, ...);
    new IndexUploader().updateSearchFunctionIfNecessary(db, ...);

    URI dbURI = URI.prototype(DbPath.fromString(ddbbName).getPath());
    RestTemplate restTemplate = new RestTemplate(dbInstance.getConnection());

    couchDbAccess = new CouchDbAccess(db, dbURI, restTemplate);
  }