微信小程序與java后台交互


java后台使用的ssm框架,小程序連接的本地接口。跟正常的web訪問沒什么區別,也是后台獲取url,返回json數據;只是小程序前台請求的url要帶上http://localhost:8080
1. 項目結構


2. 配置文件:

Jackson相關包下載 除去里面的js文件
3. test.js和test.wxml
(1) test.js

bindtest:function(){
    wx.request({
      url:'http://ip:8080/WxProgram/buttonTest2',
      data:{
        username:'admin',
        password:'admin'
      },
      method:'GET',
      header:{
        'content-type':'application/json'
      },
      success:function(res){
        console.log(res.data);
      },
      fail:function(res){
        console.log("--------fail--------");
      }
    })
  }

(2) test.wxml

  <view>{{name}}</view>
  <view>
  <button bindtap='bindtest'>test</button>
  </view>

4. WxTestController.java

@RequestMapping(value="/buttonTest2")
    public void buttonTest(String username, String password, HttpServletResponse response) throws ServletException, IOException{
        response.setContentType("text/html;charset=utf-8");          
        /* 設置響應頭允許ajax跨域訪問 */  
        response.setHeader("Access-Control-Allow-Origin", "*");  
        /* 星號表示所有的異域請求都可以接受, */  
        response.setHeader("Access-Control-Allow-Methods", "GET,POST");  
       
        System.out.println("username="+username+" ,password="+password);
        
        //返回值給微信小程序
        Writer out = response.getWriter(); 
        out.write("進入后台");
        out.flush(); 
    }

運行結果:

小程序前台:

java后台:

開始一直沒有連成功,后來百度發現要先設置一下。參考這里
在請求本地接口時,要開啟"不校驗請求域名、TLS版本及HTTPS證書"選項:設置->項目設置->不校驗請求域名、TLS版本及HTTPS證書。因為wx.request的url請求中不能有端口。

     

 

 

遠程訪問

由於前后台是兩個人開發的,需要遠程訪問。而因為注冊的阿里雲域名審查時間長,暫時用的花生殼遠程連接。方法:下載花生殼客戶端,使用免費贈送的域名,這里花了六塊錢,忘了哪花的了。
登錄花生殼,設置內網穿透->添加映射。內網主機即本機ip地址,cmd,用ipconfig命令查看ipv4地址。如圖。


這里遇到一個問題,添加的映射一直沒顯示,后來通過客服后台操作才顯示成功。如圖。


添加成功之后,啟動Tomcat,之前的內網訪問地址http://ip:8080就可以改用對應的外網訪問地址來訪問了。

花生殼教程:http://service.oray.com/question/2480.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM