0

クライアント/サーバー アプリを開発しています (クライアントは、サーバーにデータを送信する Android アプリケーションです)。Javaを使用してサーバーを開発しています。SQL Navigator 5.5 を使用して、「NetBeans を使用して」サーバー アプリケーションに接続しました。Jsonをミドルウェアとして使いたいけどやり方がわからない!最も適しているのは、XML と Json のどちらですか? HTTP を使用する必要がありますか? もしそうなら、どのように(アプリケーションを保護できるようにしたいので)?

サーバーが応答する必要があるもう 1 つのことは、Android アプリケーションが「経度と緯度」を送信することです。Android はこれを「ジオコード」し、マップの「場所」の形式で表示します。また、アプリケーションで動作する Web サービスの概念についても理解する必要があります。

これはサーバー コードです: (サーバーがクライアントから取得する必要がある値は、"long and lat" です) /* * このテンプレートを変更するには、[ツール] | [ツール] を選択します。テンプレート * エディターでテンプレートを開きます。*/

package pkg;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;


@WebService(serviceName = "lbsws")
public class lbsws {

    /** This is a sample web service operation */
    @WebMethod(operationName = "hello")
    public String hello(@WebParam(name = "name") String longg) {


        String result=null;
        try
        {



        Connection con = dbConnection.getdbConnection("system","lbs","orcll", "localhost");
        Statement st = con.createStatement(); 


        String lat ="10";

        String query="select longg,lat,abs(("+longg+"-longg))/abs(("+lat+"-lat)) as function1 from lbs where abs(("+longg+"-longg))/abs(("+lat+"-lat)) = ("+
        "select min(abs(("+longg+"-longg))/abs(("+lat+"-lat))) from lbs)";

        ResultSet rs = st.executeQuery(query);
        while(rs.next())
        {
            result = rs.getFloat("longg")+","+ rs.getFloat("lat")+"-"+ rs.getFloat("function1");
        }
        }
        catch(Exception e)
        {
            System.out.println(e.toString());
        }
        return result;
    }

}
4

1 に答える 1

2

いくつかのこと:

1) JSON トランスポート層に賛成です。考え直さないでください。

2) JSON Web サービスの使用。Java ベースのシステムで HttpClient を使用します。必要に応じて JSON をオブジェクトに変換するよりも、応答を取得するだけです。ただし、Web サービスの呼び出しは HttpClient 経由です

3) JSON サービスの作成。ジャージーを使用できます。いくつかの選択肢があります。Tomcat サーバーで開発することをお勧めします。その速度は速く、Java EE サーバーほどアップ/ダウンしません。ジャージ以外にも良い選択肢がいくつかあります。

ただし、主に最も単純なものを最初に記述し、エンドツーエンドで機能させるようにします。それがあなたのやりたいことです。

システム時刻を返すサービスを生成し、それを JSON 経由で送り返すだけで、クライアントで消費されて表示されます。次に、Jersey と何でも再評価します。しかし、何かをエンドツーエンドで実行してください。

したがって、ステップ 1 は JSON Web サービスを作成し、ブラウザーでテストするだけです。今はクライアント側について心配する必要はありません。サービスを実行して、ブラウザを使用して呼び出すだけです。ところで、RESTful JSON Web サービスを使用する理由があります。これは、Web サービスを構築するための優れた方法です。

同時に 2 つの問題に対処しないでください。スタブ化されたデータだけでサービスを起動して実行するまで、データベースへの接続を忘れてください。

于 2012-07-17T22:19:23.137 に答える