<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          egova_invoker基于Spring的HttpInvoker實現(xiàn)改寫

          聯(lián)合創(chuàng)作 · 2023-10-01 08:55

          基于Spring的HttpInvoker實現(xiàn)改寫

          服務器端調用:    HttpInvoker.invoker 方法,設置InvokerProcess處理

          客戶端調用:    ProxyFactory.proxy 方法,生成接口的代理對象,直接調用方法

          客戶端和服務器端的接口和實體類要一致,實體類必須是可以序列化的

          比如:

          定義Bean:

             public class DemoBean implements java.io.Serializable{
                  /**
                   * 
                   */
                  private static final long serialVersionUID = -5401380996187961689L;
                  private String name;
                  private String passWork;
                  //省略get,set
              }

          定義接口:

            public interface DemoService {
                  public DemoBean  doTest(DemoBean bean);
              }

          客戶端調用:

            import com.egova.rpc.proxy.ProxyFactory;
              public class ClientDemo {
                  public static void main(String[] args) {
                      String bindUrl = "服務器端請求地址/egova_invoker/invoker";
                      DemoService demoService = ProxyFactory.proxy(DemoService.class, bindUrl);
                      DemoBean  demo = new DemoBean();
                      DemoBean  value = demoService.doTest(demo);
                      System.out.println(value);
                  }
              }

          服務端處理:

           import javax.servlet.http.HttpServletRequest;
              import javax.servlet.http.HttpServletResponse;
              import org.springframework.stereotype.Controller;
              import org.springframework.web.bind.annotation.RequestMapping;
              import com.egova.rpc.remote.HttpInvoker;
              import com.egova.rpc.remote.InvokerProcess;
              import com.egova.rpc.support.RemoteInvocation;
              @Controller
              @RequestMapping(value="/egova_invoker")
              public class ServerDemo{
                  @RequestMapping(value="invoker")
                  public void invoker(HttpServletRequest request, HttpServletResponse  response) {
                      HttpInvoker.invoker(request, response, new InvokerProcess(){
                          public Object process(RemoteInvocation invocation){
                              //獲取targetObject,即接口invocation.getInterfaceClazz()實現(xiàn)類
                              Object targetObject = new Object();
                              invocation.invoke(targetObject);
                          }
                      });
                  }
              }
          瀏覽 23
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美性爱手机在线免费观看 | 人人操人人人人操人人爱 | 成人AV一二三 | 做爱片一黄级 | 成人电影久久久久久久 |