Webとappの共通インタフェース


これまでずっとwebの練習をして、パラメータを受信して、結果を返して、ページをジャンプするなどservletの方法の中でやっていましたが、問題はありません.しかし、appアクセスの言い訳を考えると、必ずいくつかの変更が必要です.まず、受信パラメータについて、appはUrl方式で私のインタフェースに要求を出して、彼が伝送する必要がある情報:インタフェースアドレス、メソッド名、パラメータ、もし任意に以前のrequestに従うならば.getParameter("*")は通用しないに違いありません.パラメータが多いと大変なことになると思います.そこでインタフェースにjson文字列を受信させます(もちろんパラメータが非常に簡単な場合はアドレスの後に直接パラメータを渡すこともできます)を選択します.同じように、結果をクライアントに返すと、以前のようにセッションやリクエストに入れられず、あなたのセッションにアクセスできないので、同じようにjson文字列でクライアントに出力されます.問題が来て、ページジャンプはservletに書くことができないに違いありません.クライアントにjson文字列を返すことは実際にページドキュメントを返したからです.そこで、パラメータを受け取って、結果を取り戻して、ページをジャンプして、すべてJSに任せましょう、jqueryのajaxの方法を借りて、実はとても簡単で、最も簡単な方法、ただ要求の住所を設定するだけで、値のタイプを返して、パラメータを要求して、コールバックの方法はできて、以下のようにします:フォントは大きくなります
$.ajax({
                type : "post",
                url : "UserServlet?method=login",
                async : false,
                data : {
                    data:jsonStr,
                },
                cache : false,
                dataType : "text",
                success : function(msg) {
                    //alert(msg);
                    if(msg=="success")
                    {
                        alert("login success!");
                        //window.location.href="NoticeServlet?method=getAllNotice";
                        goIndex();
                    }
                    else {
                        alert("login failed!");
                        //window.location.href="NoticeServlet?method=getAllNotice";
                    }
                    // alert("ajax()");
                    /*if (!msg.pswfailure) {
                        var url = host + ws + "/test1.action";
                        window.location = url;
                    } 
                    else {
                        $("#pwdErr").html("    ");
                        passwordFocus();
                        $("#password").attr("value", "");
                        $("#password").focus().select();
                    }*/
                },
                error : function(msg) {
                 alert("    !");
                    //$("#unameErr").html("    !");
                }
            });